【发布时间】:2012-03-09 05:42:41
【问题描述】:
过去两个小时我一直在研究它,但没有意识到问题出在哪里,您能帮帮我吗?
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 代码中没有错误消息,没有有用的线索,没有一条有用的注释。
-
问题似乎是你的问题没有问题。
-
实际上问题似乎是:“你能帮帮我吗?”我的回答是:“当然,有什么问题?”
标签: java arrays image-processing matrix computer-vision