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:容易發生溢出
程序示例:
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()
結果: