我正在使用尺寸为3x3的索贝尔滤波器来计算图像导数.看一下互联网上的一些文章,似乎sobel过滤器的大小为5x5和7x7的内核也很常见,但我无法找到它们的内核值.
有人可以让我知道尺寸为5x5和7x7的sobel滤波器的内核值吗?此外,如果有人可以共享一个方法来生成内核值,那将非常有用.
提前致谢.
x衍生Sobel就是这样的:
-1 0 +1
-2 0 +2
-1 0 +1
Run Code Online (Sandbox Code Playgroud)
假设我的图像中有两个样本看起来像那样(0 =黑色,1 =白色):
0 0 1 1 0 0
0 0 1 & 1 0 0
0 0 1 1 0 0
Run Code Online (Sandbox Code Playgroud)
如果我执行卷积,我将分别以4和-4结束.
所以我的自然反应是将结果标准化为8并将其翻译为0.5 - 这是正确的吗?(我想知道找不到维基百科等提及任何规范化)
编辑: 我使用Sobel滤镜创建2D结构张量(衍生物dX和dY):
A B
Structure Tensor = C D
with A = dx^2
B = dx*dy
C = dx*dy
D = dy^2
Run Code Online (Sandbox Code Playgroud)
最后我想将结果存储在[0,1]中,但是现在我只是想知道我是否必须规范化Sobel结果(默认情况下,不仅仅是为了存储它),即:
A = dx*dx
//OR
A = (dx/8.0)*(dx/8.0)
//OR
A = (dx/8.0+0.5)*(dx/8.0+0.5)
Run Code Online (Sandbox Code Playgroud)