我有一个数组,我试图使用内核模糊,但循环由于某种原因没有完成,这里是代码:
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]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎在x = 0后停止; y = 6 kx = ky = -2
控制台中没有错误,并且在这个小循环 - 循环之后显示另一个打印屏幕.
这条线可能是问题.-
for (int kx = -2; x <= 6; x++) {
for (int ky = -2; y <= 6; y++) {
Run Code Online (Sandbox Code Playgroud)
你递增x和y分别,而不是kx和ky.
我猜你真的是这个意思.-
for (int kx = -2; kx <= 6; kx ++) {
for (int ky = -2; ky <= 6; ky ++) {
Run Code Online (Sandbox Code Playgroud)