此示例显示了如何使用包含相等权重的5乘5过滤器(通常称为平均过滤器)过滤二维灰度图像imfilter
。该示例还显示了如何使用相同的过滤器过滤truecolor(RGB)图像。truecolor图像是大小为的三维数组M-借-N-by-3,其中最后一个维度表示三个颜色通道。使用二维过滤器过滤真彩色图像相当于使用相同的二维过滤器分别过滤图像的每个平面。
有几个MATLAB®函数可以执行二维和多维滤波,可以与imfilter
. 功能过滤器2
执行二维关联,二维卷积
执行二维卷积,以及康文
执行多维卷积。但是,每个过滤函数始终将输入转换为双重的
,并且输出总是双重的
。此外,这些MATLAB®过滤函数始终假定输入为零填充,并且不支持其他填充选项。相反,万博1manbetximfilter
不将输入图像转换为双重的
这个imfilter
函数还提供一组灵活的边界填充选项。
将灰度图像读入工作区。
I=imread(“coins.png”);
显示原始图像。
图1(I)标题(“原始图像”)
创建一个5乘5的标准化平均化过滤器。
h=一(5,5)/25;
使用将平均滤波器应用于灰度图像imfilter
.
I2=imfilter(I,h);
显示过滤后的图像。
图imshow(I2)标题(“过滤图像”)
将truecolor图像读入工作区。
rgb=imread(“peppers.png”); imshow(rgb);
创建一个过滤器。此平均过滤器包含相等的权重,并使过滤后的图像看起来比原始图像更模糊。
h=一(5,5)/25;
使用imfilter
并展示它。
rgb2=imfilter(rgb,h);图imshow(rgb2)