imfilter
边界填充选项
在计算图像边界处的输出像素时,卷积或相关核的一部分通常在图像边缘之外,如下图所示。
当核的值落在图像之外
的imfilter
函数通常通过假设这些离边图像像素是来填充它们0
。这被称为零填充,如下图所示。
零填充外部像素
当你过滤图像时,零填充会导致图像边缘周围出现暗带,如本例所示。
I = imread(“eight.tif”);H = ones(5,5) / 25;I2 = imfilter (h);imshow (I)、标题(“原始图像”);figure, imshow(I2),标题(‘黑边框过滤图像’)
为了消除图像边缘周围的零填充伪影,imfilter
提供了另一种边界填充方法称为边境复制。在边界复制中,图像外任何像素的值都是通过从最近的边界像素复制值来确定的。这在下图中得到了说明。
复制边界像素
要使用边界复制进行过滤,传递附加的可选参数“复制”
来imfilter
。
I3 = imfilter (h,“复制”);图中,imshow (I3);title(' filter Image with Border Replication')
的imfilter
函数支持其他边界填充选项,例如“圆”
和“对称”
。参见参考页imfilter
获取详细信息。