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:容易發生溢出

程序示例:

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()

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章