matlab imfilter对图像进行滤波

功能:对任意类型数组或多维图像进行滤波。
用法:B = imfilter(A,H)
   B = imfilter(A,H,option1,option2,...)
   或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:


选项
描述
filtering_mode
             ‘corr’ 通过使用相关来完成,该值为默认。
             ‘conv’ 通过使用卷积来完成




boundary_options
            ‘X’  输入图像的边界通过用值X(无引号)来填充扩展其默认值为0
            ‘replicate’图像大小通过复制外边界的值来扩展
     ‘symmetric’图像大小通过镜像反射其边界来扩展
   ‘circular’图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options
   ‘full’输出图像的大小与被扩展图像的大小相同
   ‘same’输出图像的大小与输入图像的大小相同。这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。


I=imread('eight.tif');
>> h=fspecial('laplacian');
>> I1=filter2(h,I);
>> I2=imfilter(I,h);
>> subplot(1,2,1);
>> imshow(I1)
>> subplot(1,2,2);
>> imshow(I2)
两个函数结果类型不一样,只需要在I1=filter2(h,I)后面加上I1=uint8(I1)进行类型转换,结果就是一样的。
imfilter 可进行多维图像(RGB等)进行空间滤波,且可选参数较多
filter2 只能对二维图像(灰度图)进行空间滤波

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值