这个例子展示了如何使用包含相同权重的5 × 5过滤器(通常称为平均过滤器)过滤二维灰度图像imfilter
.这个例子还展示了如何用相同的过滤器过滤一个真彩色(RGB)图像。一幅真彩色图像是大小不一的三维数组米——- - - - - -n-乘3,其中最后一个维度表示三个颜色通道。用二维滤波器过滤一幅真彩色图像相当于用相同的二维滤波器分别过滤图像的每个平面。
有几个MATLAB®函数可以执行二维和多维滤波,可以进行比较imfilter
.这个函数filter2
执行二维相关性,conv2
进行二维卷积convn
执行多维卷积。然而,每个过滤函数总是将输入转换为双
,输出总是双
.此外,这些MATLAB®滤波函数总是假定输入是零填充的,而且它们不支持其他填充选项。金宝app相比之下,imfilter
不能将输入图像转换为双
.的imfilter
函数还提供了一组灵活的边界填充选项。
将灰度图像读取到工作区中。
我= imread (“coins.png”);
显示原始图像。
图imshow(我)标题(原始图像的)
创建一个标准化的,5乘5的,平均滤波器。
h =的(5,5)/ 25;
将平均过滤器应用到使用的灰度图像imfilter
.
I2 = imfilter (h);
显示过滤后的图像。
图imshow (I2)标题(过滤后的图像的)
在工作空间中读一幅真实的彩色图像。
rgb = imread (“peppers.png”);imshow (rgb);
创建一个过滤器。这个平均过滤器包含相同的权重,使过滤后的图像看起来比原始图像更模糊。
h =的(5,5)/ 25;
使用以下方法过滤图像imfilter
和显示。
rgb2 = imfilter (rgb, h);图imshow (rgb2)