方框滤波

2021-10-17  本文已影响0人  大龙10

《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05

第7章 图像平滑处理

7.2 方框滤波

  OpenCV还提供了方框滤波方式,与均值滤波的不同在于,方框滤波不会计算像素均值。

7.2.1 基本原理

我们以5×5的邻域为例,在进行方框滤波时,如果计算的是邻域像素值的均值,则滤波关系如图7-15所示。


图7-15 方框滤波关系示例1

仍然以5×5的邻域为例,在进行方框滤波时,如果计算的是邻域像素值之和,则滤波关系如图7-16所示。


图7-16 方框滤波关系示例2

根据上述关系,如果计算的是邻域像素值的均值,则使用的卷积核为:


如果计算的是邻域像素值之和,则使用的卷积核为:


7.2.2 函数语法

在OpenCV中,实现方框滤波的函数是cv2.boxFilter(),其语法格式为:

dst=cv2.boxFilter(src ,ddepth, ksize, anchor, normalize, borderType)

式中:

7.2.3 程序示例

【例7.5】针对噪声图像,使用方框滤波函数cv2.boxFilter()去噪,将参数normalize的值设置为0,将卷积核的大小设置为2×2,显示滤波结果。

import cv2
o=cv2.imread("image\\lenaNoise.png")
r=cv2.boxFilter(o,-1,(2,2),normalize=0) 
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

7.2.4 结果

图7-19 【例7.5】对应的方框滤波结果

在本例中,卷积核大小为2×2,参数normalize=0。因此,本例中方框滤波计算的是2×2邻域的像素值之和,四个像素值的和不一定大于255,因此在计算结果图像中有部分像素点不是白色。如图7-19所示,左图是原始图像,右图是方框滤波处理结果。

上一篇 下一篇

猜你喜欢

热点阅读