python-opencv(7):图像平滑处理

1.均值滤波

语法:

dst=cv2.blur(src,dsize)

程序示例:

import cv2
img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)
result=cv2.blur(img,(5,5))
cv2.imshow("lena",img)
cv2.imshow("result",result)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

2.方框滤波

语法 :

dst=cv2.boxFilter(src,depth,dsize,normalize)

normalize:是否对目标图像进行归一化处理

noamalize=ture:和均值滤波相同

normalize=false:容易发生溢出

程序示例:

扫描二维码关注公众号,回复: 5498199 查看本文章
import cv2
img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)
result=cv2.boxFilter(img,-1,(5,5),normalize=1)
result1=cv2.boxFilter(img,-1,(5,5),normalize=0)
cv2.imshow("lena",img)
cv2.imshow("result",result)
cv2.imshow("result1",result1)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

3.高斯滤波

语法:

GaussianBlur函数
dst=cv2.GaussianBlur(src,ksize,sigmaX)

ksize:核的大小,必须是奇数 

sigmaX:X方向方差

程序示例:

import cv2
img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)
result=cv2.GaussianBlur(img,(5,5),0)
cv2.imshow("lena",img)
cv2.imshow("result",result)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

4.中值滤波

语法:

dst=cv2.medianBlur(src,ksize)

 ksize:必须是大于1的奇数

 程序示例:

import cv2
img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)
result=cv2.medianBlur(img,5)
cv2.imshow("lena",img)
cv2.imshow("result",result)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

猜你喜欢

转载自blog.csdn.net/Mr_zhuzj/article/details/82218974