我有一个数组,我正在尝试使用内核模糊,但循环由于某种原因没有完成,这是代码:
for (int x = 0; x < 128; x++) {
for (int y = 0; y < 128; y++) {
for (int kx = -2; x <= 6; x++) {
for (int ky = -2; y <= 6; y++) {
nlm2[x][y] += 100 * (int) ((float) nlm[x][y]*(float)kernel[(kx+3)*(ky+3)-1]);
System.out.println(x+" "+y);
System.out.println(kx+" NLM: "+(float) nlm[x][y]);
System.out.println(ky+" Kernel: "+(float)kernel[(kx+3)*(ky+3)-1]);
}
}
}
}
似乎停止了 x = 0; y = 6 kx = ky = -2
控制台中没有错误,并且在这个小循环 - 循环后显示另一个打印屏幕。
答案 0 :(得分:5)
这一行可能是问题.-
for (int kx = -2; x <= 6; x++) {
for (int ky = -2; y <= 6; y++) {
您分别递增x
和y
,而不是kx
和ky
。
我猜你真的是这个意思.-
for (int kx = -2; kx <= 6; kx ++) {
for (int ky = -2; ky <= 6; ky ++) {