如何找到卷积矩阵?
How to find the convolution matrix?
A是内核,B是图像。你如何从这个等式中找到一个卷积矩阵?
A(x,y) = B(x,y) + 4B(x+1,y-1) + 2B(x,y+1) + 5B(x-1,y)
路线如下
(x-1,y-1) (x-1,y) (x-1,y+1)
(x,y-1) (x,y) (x,y+1)
(x+1,y-1) (x+1,y) (x+1,y+1)
下面是矩阵吗?
0 5 0
0 1 2
4 0 0
这取决于您如何定义像素坐标。如果原点位于图像的右 (!) 底部,x
从下到上运行,y
从右到左运行,则您的矩阵是正确的。然而,这是一个非常不常见的选择。
如果原点在左下方,x
从左到右,y
从下到上,则矩阵为:
4 0 0
0 1 5
0 2 0
注意方向是颠倒的:例如中心右侧的矩阵系数应用于左侧的像素。
顺便说一句,A
是任意B
的内核是不正确的。对于 x
和 y
.
的所有其他值,仅 B[0,0] == 1
和 B[x,y] == 0
是这种情况
更新:
所以你的 x
从上到下运行,你的 y
从左到右运行。那么卷积矩阵为:
0 0 4
2 1 0
0 5 0
A是内核,B是图像。你如何从这个等式中找到一个卷积矩阵?
A(x,y) = B(x,y) + 4B(x+1,y-1) + 2B(x,y+1) + 5B(x-1,y)
路线如下
(x-1,y-1) (x-1,y) (x-1,y+1)
(x,y-1) (x,y) (x,y+1)
(x+1,y-1) (x+1,y) (x+1,y+1)
下面是矩阵吗?
0 5 0
0 1 2
4 0 0
这取决于您如何定义像素坐标。如果原点位于图像的右 (!) 底部,x
从下到上运行,y
从右到左运行,则您的矩阵是正确的。然而,这是一个非常不常见的选择。
如果原点在左下方,x
从左到右,y
从下到上,则矩阵为:
4 0 0
0 1 5
0 2 0
注意方向是颠倒的:例如中心右侧的矩阵系数应用于左侧的像素。
顺便说一句,A
是任意B
的内核是不正确的。对于 x
和 y
.
B[0,0] == 1
和 B[x,y] == 0
是这种情况
更新:
所以你的 x
从上到下运行,你的 y
从左到右运行。那么卷积矩阵为:
0 0 4
2 1 0
0 5 0