imfilter函数_MATLAB图像处理:41:使用imfilter功能滤波灰度和真彩(RGB)图像

本示例展示了如何使用imfilter函数对2D灰度图像和真彩色(RGB)图像进行滤波。通过5×5均值滤波器,可以看到滤波对图像的影响,使得图像变得更加模糊。该函数提供了灵活的边界填充选项,并与其它滤波函数如conv2和corr2等有所不同。
摘要由CSDN通过智能技术生成

589efda037f785cd8d3f7d2774a2cbbb.png

本示例说明了如何应用imfilter函数,使用包含相等权重的5×5滤镜(通常称为平均滤镜)对2D灰度图像进行滤波。该示例还显示了如何使用相同的滤镜对真彩色(RGB)图像进行滤波。真彩色图像是大小为[m,n,3]的矩阵,其中最后一维表示三个颜色通道。使用2-D滤镜滤波真彩色图像等效于使用相同的2-D滤镜分别滤波图像的每个平面。

有几种执行2D和多维滤波的MATLAB®函数可以与imfilter进行比较。函数filter2执行二维相关,conv2执行二维卷积,convn执行多维卷积。但是,这些滤波功能中的每一个始终将输入转换为double,而输出始终为double。同样,这些MATLAB®滤波函数始终假定输入为零填充,并且不支持其他填充选项。相反,imfilter不会将输入图像转换为double。该imfilter功能还提供了一组灵活的边界填充选项。

使用均值滤波器滤波二维灰度图像

将灰度图像读取到工作区中。

 I = imread('coins.png');

显示原始图像。

 figure
 imshow(I)
 title('Original Image')

90bd0b8c46ac14eac51ffa6b167a6ae1.png

创建一个标准化的5×5均值滤波器。

 h = ones(5,5)/25;

使用imfilter,将均值滤波器应用于灰度图像。

 I2 = imfilter(I,h);

显示滤波后的图像。

 figure
 imshow(I2)
 title('Filtered Image')

90f1cda0952c58d64adb03f6e76f186f.png

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

将真彩色图像读入工作区。

 rgb = imread('peppers.png');
 imshow(rgb);

b2140b7adbe72f2d431c543d8892c5fb.png

创建一个滤波器。该均值滤波器包含相等的权重,并使滤波的图像看起来比原始图像更加模糊。

 h = ones(5,5)/25;

使用imfilter滤波图像并显示。

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

679eb898de62383681ac293f2273fc2d.png

注:本文根据MATLAB官网内容修改而成。

欢迎您进一步了解以下MATLAB系列文章:

吃小羊:MATLAB作图实例:00:索引​zhuanlan.zhihu.com
4c2f0b29aa2250bffcf8985523d3bfd9.png
吃小羊:MATLAB金融工具箱:00:索引​zhuanlan.zhihu.com
635f7bf309ca752d26c4c168a5701750.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值