两个卷积滤波器的组合

时间:2012-11-08 10:04:19

标签: matlab convolution

什么是一个滤镜矩阵相当于使用参数'full'的imfilter对图像应用[111]两次?它仍然是1x3矩阵吗?

2 个答案:

答案 0 :(得分:8)

卷积是关联的,这意味着(f*g)*h = f*(g*h)。而不是

r = conv(conv(x, [1,1,1]), [1,1,1])

您可以预先计算两个滤镜的卷积,然后仅将其应用于每个图像一次:

tmp_filter = conv([1,1,1], [1,1,1]);
...
r1 = conv(x1, tmp_filter)
r2 = conv(x2, tmp_filter)

新过滤器为[1 2 3 2 1],但其大小与原始过滤器的大小不同。

答案 1 :(得分:-1)

full参数告诉filter函数返回与过滤后图像大小相同的图像。您可以随时应用相同的过滤器,但如果每次都使用full,则大小不应更改。