저는 지난 두 시간을 보내고 있었고 문제가 어디에 있는지 깨닫지 못했습니다. 저를 도와 주시겠습니까? 소블 운영자가 작동하지 않습니다.
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 오류 메시지가 없으며 유용한 단서도없고 코드에 유용한 주석이 하나도 없습니다. –
문제는 질문에 의문의 여지가없는 것 같습니다. –
사실 그 질문은 "나를 도울 수 있겠 니?" 내 대답은 다음과 같습니다. "물론, 문제가 무엇입니까?" –