7.1 均值滤波

 

 

一、什么是均值滤波

 

就是某个点的像素值,用他周围N*N范围内的像素点的均值来代替。

 

比如下面这个图有9行7列。

7.1 均值滤波

 

我想对红色这个点,进行均值滤波。怎么做呢?

 

一般是在红色这个点周围选定N行N列,比如5行5列,一共25个元素。把这25个元素的像素值取平均,做为红色点的新的像素值。这就是均值滤波。

 

7.1 均值滤波

 

可以用下面这张图来表示:

7.1 均值滤波

 

中间的矩阵,我们叫做核。核是我们在做均值滤波的时候指定的参数。

 

 

如果对于图中每个像素点,都逐个采用核做处理,可以得到图像滤波的结果。

7.1 均值滤波

 

 

二、均值滤波的实现

result = cv2.blur(iamge,(5,5))               //核大小一般取3*3,或者5*5。

 

7.1 均值滤波

 

例:

'''
均值滤波
'''

import cv2

image = cv2.imread("image\\lenaNoise.png")          #经过椒盐攻击的图像


result = cv2.blur(image,(5,5))                                   #均值滤波

 

cv2.imshow("image", image)
cv2.imshow("result", result)

cv2.waitKey()
cv2.destroyAllWindows()

 

结果:

7.1 均值滤波

 

图像均值滤波之后,图像更平滑了。