Python+opencv 图像模糊

最近在学习OPencv进行图像处理,刚开始看的书是《数字图像处理》(冈萨雷斯matlab)版,后来做一个答题卡的项目需要使用到opencv,对学过的知识进行再次的温习和查缺补漏。

参考链接:http://www.cnblogs.com/Undo-self-blog/p/8436389.html

1)平均模糊 :取(归一化)卷积框里的平均值代替中心像素的值,用到的语句为:cv2.blur(img,(5,5))

2)高斯模糊 :使用高斯核进行加权模糊,用到的语句为:cv2.GaussianBlur(img,(5,5),0)。

参考链接:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

3)中值模糊 :使用卷积框中像素的中值(比如使用3x3的卷积框,则将框内的9个元素进行排序,取中值像素5来代替卷积框的中心位置),中值模糊对去除椒盐噪声很有效果,用到的语句为:cv2.medianBlur(img,5)。

参考链接:https://www.cnblogs.com/tanfy/p/median_filter.html

4)双边滤波 : 函数 cv2.bilateralFilter() 能在保持边界清晰的情况下有效的去除噪音。但是这种操作与其他滤波器相比会比较慢。我们已经知道高斯滤波器是求中心点邻近区域像素的高斯加权平均值。这种高斯滤波器只考虑像素之间的空间关系,而不会考虑像素值之间的关系(像素的相似度)。所以这种方法不会考虑一个像素是否位于边界。因此边界也会别模糊掉,而这正不是我们想要。双边滤波在同时使用空间高斯权重和灰度值相似性高斯权重。空间高斯函数确保只有邻近区域的像素对中心点有影响,灰度值相似性高斯函数确保只有与中心像素灰度值相近的才会被用来做模糊运算。所以这种方法会确保边界不会被模糊掉,因为边界处的灰度值变化比较大。

猜你喜欢

转载自blog.csdn.net/dake13/article/details/82794719
今日推荐