-3
我已經花了最後兩個小時,並沒有意識到問題出在哪裏,你會幫我嗎?索貝爾操作員不工作
public static void sobel(Img img) {
int[][][] myArray = img.getmyArray();
int[][][] sobelX = img.copyMyArray();
int[][][] sobelY = img.copyMyArray();
//itearates through the matrix to apply the Sobel Operator
for (int line = 1; line < myArray.length -2; line++)
for (int column = 1; column < myArray[line].length -2; column++)
for(int color = 0; color < 3; color++){
sobelX[line][column][color] =
-1 * myArray[line-1][column-1][color] +
-2 * myArray[line-1][column][color] +
-1 * myArray[line-1][column+1][color] +
0 * myArray[line][column-1][color] +
0 * myArray[line][column][color] +
0 * myArray[line][column+1][color] +
1 * myArray[line+1][column-1][color] +
2 * myArray[line+1][column][color] +
1 * myArray[line+1][column+1][color];
sobelY[line][column][color] =
-1 * myArray[line-1][column-1][color] +
0 * myArray[line-1][column][color] +
1 * myArray[line-1][column+1][color] +
-2 * myArray[line][column-1][color] +
0 * myArray[line][column][color] +
2 * myArray[line][column+1][color] +
-1 * myArray[line+1][column-1][color] +
0 * myArray[line+1][column][color] +
1 * myArray[line+1][column+1][color];
//Final Calculation
myArray[line][column][color] = check_0_255_limit((int)Math.sqrt(
sobelX[line][column][color] * sobelX[line][column][color]
+
sobelY[line][column][color] * sobelY[line][column][color]
));
}// end for loop
}
任何錯誤消息,代碼被編譯和運行,但我得到一個壞的輸出,這是不是我所期待..
-1沒有錯誤信息,沒有有用的線索,在代碼中沒有一個有用的評論。 – 2012-03-09 05:44:31
這個問題似乎是在你的問題中沒有問題。 – 2012-03-09 09:51:33
其實這個問題似乎是:「你能幫我嗎?」我的回答是:「當然,問題是什麼?」 – 2012-03-09 09:55:02