Matlab中函数colfilt的使用及数字图像非线性空间滤波的概念

本文介绍了Matlab中用于非线性空间滤波的colfilt函数,阐述了非线性空间滤波的概念,通过示例解释了colfilt函数的使用方法,包括参数设置和邻域填充,并展示了应用该函数进行邻域平均值处理的图像效果。
摘要由CSDN通过智能技术生成

非线性空间滤波
非线性空间滤波对图像的处理是针对邻域进行的。用一个m×n的滤波器的中心点滑过一幅图像,在这个过程中,对滤波器包围的像素执行一些非线性的操作便是非线性空间滤波。例如将每个中心点处的响应处理为邻域内的最大像素值或最小像素值,或者是处理为邻域内像素的几何平均值,这些操作都是非线性空间滤波的方式。

线性空间滤波可以参考这篇文章Matlab中函数imfilter的使用和线性空间滤波中相关与卷积的区分

colfilt
函数colfilt实现对图像的非线性滤波。该函数按列的形式组织数据,通过占用更多的内存来换取更快的速度适合大多数图像处理应用。

若图像f的大小为M×N,邻域的大小为m×n,函数colfilt生成一个最大尺寸为mn×MN的矩阵A。矩阵A中的每一列为图像中被邻域包围的像素。

比如一幅5×5的图像,选择邻域大小为3×3
在这里插入图片描述
对其进行零填充,得到
在这里插入图片描述
矩形框中的元素则是矩阵A中的第一列元素,所以矩阵A的行数为mn,这样A每一列的元素个数便为mn,与邻域的大小相同;矩阵A的列数为MN,具有的列数刚好和图像的大小相同。

调用格式
g = colf

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值