线性滤波和非线性滤波

        图像的空域线性滤波和非线性滤波在空域对图像进行滤波处理无非两种情况,线性滤波和非线性滤波。滤波的意思就是对原图像的每个像素周围一定范围内的像素进行运算,运算的范围就称为掩膜或领域。而运算就分两种了,如果运算只是对各像素灰度值进行简单处理(如乘一个权值)最后求和,就称为线性滤波;而如果对像素灰度值的运算比较复杂,而不是最后求和的简单运算,则是非线性滤波;如求一个像素周围3x3范围内最大值、最小值、中值、均值等操作都不是简单的加权,都属于非线性滤波。



非线性滤波:B = colfilt(A,[m n],block_type,@fun,paramerters)

B = colfilt(A,[m n],block_type,@fun,paramerters)
A:图像矩阵;
[m n]:邻域范围;
block_type:邻域块的处理方式,有如下两值可供选择:distinct 和 sliding

           二者通过fun运算返回的值不同,通过colfilt最终返回的矩阵也不同;

@fun:函数句柄,调用外部写好的函数fun进行邻域像素处理;
parameters:fun所需的参数 。

函数原理:
        邻域和图像例举:

       大致过程为:m x n大小领域矩阵中心从左至右,从上到下依次滑过M x N大小的图像的每一个像素点。邻域矩阵将其所包围范围内,所有像素点的亮度值挑选出来。colfilt函数调用im2col函数将之转换为列向量。如此一来,邻域矩阵中心每经过一个像素点,就产生一个mn维度的向量,M x N 大小的图像就会产生MN个这样的向量。我们得到一个mn x MN 的新的矩阵。对该矩阵每一列代入fun中运算,产生一个MN维的向量,colfilt调用col2im 函数将MN维向量重新还原为M x N 的矩阵,完成运算。





图片参考:https://www.mianbaoban.cn/blog/post/160789

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值