主要内容

使用imfilter功能过滤灰度和真彩色(RGB)图像

这个例子展示了如何使用包含相等权重(通常称为平均滤波器)的5 × 5滤波器对二维灰度图像进行过滤imfilter.该示例还展示了如何使用相同的过滤器过滤真彩色(RGB)图像。真彩色图像是一个三维阵列的大小——- - - - - -n-by-3,其中最后一个维度表示三个颜色通道。用二维滤波器对真彩色图像进行滤波相当于用同一个二维滤波器分别对图像的各个平面进行滤波。

有几个MATLAB®函数,执行二维和多维滤波可以比较imfilter.这个函数filter2执行二维相关性,conv2执行二维卷积,和convn执行多维卷积。但是,这些过滤函数总是将输入转换为,输出为.此外,这些MATLAB®滤波函数总是假设输入是零填充,他们不支持其他填充选项。相比之下,imfilter不将输入图像转换为.的imfilter函数还提供了一组灵活的边界填充选项。

用平均滤波器对二维灰度图像进行滤波

将灰度图像读入工作空间。

我= imread (“coins.png”);

显示原始图像。

图imshow(我)标题(的“原始图像”

图中包含一个axes对象。标题为Original Image的axes对象包含一个Image类型的对象。

创建一个标准化的5乘5的平均过滤器。

h =的(5,5)/ 25;

对灰度图像进行平均滤波imfilter

I2 = imfilter (h);

显示过滤后的图像。

图imshow (I2)标题(“过滤图像”

图中包含一个axes对象。标题为Filtered Image的axes对象包含一个Image类型的对象。

使用imfilter过滤多维真彩色(RGB)图像

读取一个真彩色图像到工作空间。

rgb = imread (“peppers.png”);imshow (rgb);

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

创建一个过滤器。这种平均过滤器包含相同的权重,并导致过滤后的图像看起来比原始图像更模糊。

h =的(5,5)/ 25;

使用以下方法筛选图像imfilter和显示。

rgb2 = imfilter (rgb, h);图imshow (rgb2)

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

另请参阅

相关的话题

Baidu
map