我正在编写一个使用均值滤波器的图像平滑程序,但我似乎无法解决最后几个边界问题。我使用整数而不是图像。我已经为 1 个左手角返回正确的值,以及中间整数、左侧整数以及顶部和底部整数。目前我被困在导致边界问题的右侧整数集上。
void side2(int a[10][20], int c[10][20], int m, int n)
{
int i,j;
for (i=1;i<m-1;i++) {
for (j=0;j<n-1;j++) {
c[i][j]=(0+0+a[i-1][j]+a[i+1][j]+a[i][j+1])/3;
}
}
}
这只是计算右侧的函数,而不是任何一个角。
这是我得到的输出。要求用户为列和行输入一个数字,这会输出一个随机数生成的矩阵,然后是带有均值滤波器结果的平滑图像。如您所见,右侧很古怪,我似乎无法找到正确的边界值。有人可以帮我找到正确的界限,这样我就可以停止获取这些古怪的数字。
please enter number of columns and rows
5 5
66 49 74 73 44
47 73 69 27 97
96 63 79 68 35
82 86 28 22 14
59 3 24 5 22
The smoothed image is
48 71 63 482009141880
78 60 60 79764514
64 79 55 28696626048
80 31 41 29 19
42 56 12 222009815