图像处理组队学习Task4-图像滤波

简介

图像的实质是一种二维信号,滤波是信号处理中的一个重要概念。在图像处理中,滤波是一种非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。

均值滤波、方框滤波

1. 滤波分类

线性滤波: 对邻域中的像素的计算为线性运算时,如利用窗口函数进行平滑加权求和的运算,或者某种卷积运算,都可以称为线性滤波。常见的线性滤波有:均值滤波、高斯滤波、盒子滤波、拉普拉斯滤波等等,通常线性滤波器之间只是模版系数不同。

非线性滤波: 非线性滤波利用原始图像跟模版之间的一种逻辑关系得到结果,如最值滤波器,中值滤波器。比较常用的有中值滤波器和双边滤波器。

2.方框(盒子)滤波

方框滤波是一种非常有用的线性滤波,也叫盒子滤波,均值滤波就是盒子滤波归一化的特殊情况。 应用: 可以说,一切需要求某个邻域内像素之和的场合,都有方框滤波的用武之地,比如:均值滤波、引导滤波、计算Haar特征等等。

优势: 就一个字:快!它可以使复杂度为O(MN)的求和,求方差等运算降低到O(1)或近似于O(1)的复杂度,也就是说与邻域尺寸无关了,有点类似积分图吧,但是比积分图更快(与它的实现方式有关)。

在原理上,是采用一个卷积核与图像进行卷积:
在这里插入图片描述
其中:
在这里插入图片描述
可见,归一化了就是均值滤波;不归一化则可以计算每个像素邻域上的各种积分特性,方差、协方差,平方和等等。

3. 均值滤波

均值滤波的应用场合: 根据冈萨雷斯书中的描述,均值模糊可以模糊图像以便得到感兴趣物体的粗略描述,也就是说,去除图像中的不相关细节,其中“不相关”是指与滤波器模板尺寸相比较小的像素区域,从而对图像有一个整体的认知。即为了对感兴趣的物体得到一个大致的整体的描述而模糊一幅图像,忽略细小的细节。

均值滤波的缺陷: 均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。特别是椒盐噪声。

均值滤波是上述方框滤波的特殊情况,均值滤波方法是:对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,用模板的均值(方框滤波归一化)来替代原像素的值。公式表示为:
在这里插入图片描述
g(x,y)为该邻域的中心像素,n跟系数模版大小有关,一般3*3邻域的模板,n取为9,如:
在这里插入图片描述
当然,模板是可变的,一般取奇数,如5 * 5 , 7 * 7等等。

注:在实际处理过程中可对图像边界进行扩充,扩充为0或扩充为邻近的像素值。

基于python-opencv的实现

方框滤波
import cv2
img=cv2.imread('./a.jpg')
cv2.imshow('tree',img)
img2 = cv2.boxFilter(img, -1, (5,5), normalize=0)
img3 = cv2.boxFilter(img, -1, (3,3), normalize=0)
cv2.imshow('box_filter_tree2',img2)
cv2.imshow('box_filter_tree3',img3)
cv2.waitKey()
cv2.destroyAllWindows()

原始图像:
在这里插入图片描述

方框滤波后:
在这里插入图片描述
方框滤波不采用归一化的时候,使用卷积核操作很容易使得像素值溢出,即对应的像素值为255,即白色,所以整体发白。

均值滤波
import cv2
img=cv2.imread('./a.jpg')
cv2.imshow('tree',img)
img=cv2.blur(img, (3, 3))
cv2.imshow('tree_mean_blur',img)
cv2.waitKey()
cv2.destroyAllWindows()

原图:
在这里插入图片描述
均值滤波:
在这里插入图片描述
整体变模糊了

高斯滤波
import cv2
img=cv2.imread('./a.jpg')
cv2.imshow('tree',img)
img=cv2.GaussianBlur(img, (3,3), 0)
cv2.imshow('tree_mean_blur',img)
cv2.waitKey()
cv2.destroyAllWindows()

原图:
在这里插入图片描述
高斯滤波:
在这里插入图片描述

参考:

https://github.com/datawhalechina/team-learning/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89%E5%9F%BA%E7%A1%80%EF%BC%9A%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%EF%BC%88%E4%B8%8A%EF%BC%89/Task04%20%E5%9B%BE%E5%83%8F%E6%BB%A4%E6%B3%A2.md
https://blog.csdn.net/engineerhe/article/details/99611640

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值