opencv之图像滤波

均值滤波


均值滤波函数cv2.blur()

[python]  view plain  copy
 print ?
  1. import cv2  
  2. img = cv2.imread('01.jpg')  
  3. blur = cv2.blur(img,(5,5))  
  4. cv2.imshow("blur",blur)  
  5. cv2.waitKey()  


中值滤波

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,对脉冲噪声和椒盐噪声滤除作用明显。中值滤波函数 cv2.medianBlur()


[python]  view plain  copy
 print ?
  1. import cv2  
  2. img = cv2.imread('01.jpg')  
  3. median= cv2.medianBlur(img,5)  
  4. cv2.imshow("median",median)  
  5. cv2.waitKey()  


高斯滤波

高斯滤波函数cv2.GaussianBlur()。GaussianBlur的第三个参数sigmaX可以影响模糊效果。
sigmaX小,表现在高斯曲线上就是曲线越高越尖,表现在滤波效果上就是模糊程度小;
sigmaX大,表现在高斯曲线上就是曲线越矮越平缓,表现在滤波效果上就是模糊程度大;


[python]  view plain  copy
 print ?
  1. import cv2  
  2. img = cv2.imread('01.jpg')  
  3. gauss = cv2.GaussianBlur(img,(5,5),1)  
  4. cv2.imshow("blur",gauss)  
  5. cv2.waitKey()  


双边滤波

双边滤波可以在保证边界清晰的情况下有效的去掉噪声,既考虑了图像的空间位置关系,也考虑了图像的灰度变化关系。OpenCV在Python中双边滤波函数是cv2.bilateralFilter()。


bilateralFilter(src, d, sigmaColor, sigmaSpace)函数有四个参数需要,d是领域的直径,sigmaColor和sigmaSpace是灰度值相似性高斯函数标准差和空间高斯函数标准差。


[python]  view plain  copy
 print ?
  1. import cv2  
  2. img = cv2.imread('01.jpg')  
  3. shuangBian = cv2.bilateralFilter(img,7,50,50)  
  4. cv2.imshow("shuangBian",shuangBian)  
  5. cv2.waitKey()  


转载自:http://blog.csdn.net/dcrmg/article/details/78817985


猜你喜欢

转载自blog.csdn.net/wwwq2386466490/article/details/79104162