標籤:python
一、函數簡介1、blur—映像均值平滑濾波函數原型:blur(src, ksize, dst=None, anchor=None, borderType=None)src:映像矩陣ksize:濾波視窗尺寸2、GaussianBlur—映像高斯平滑濾波函數原型:GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)src:映像矩陣ksize:濾波視窗尺寸sigmaX:標準差3、medianBlur—映像中值濾波函數原型:medianBlur(src, ksize, dst=None)src:映像矩陣ksize:濾波視窗尺寸4、bilateralFilter—映像雙邊濾波函數原型:bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)src:映像矩陣d:鄰域直徑sigmaColor:顏色標準差sigmaSpace:空間標準差二、執行個體演練1、映像均值平滑濾波代碼如下:
#encoding:utf-8import numpy as npimport cv2image = cv2.imread("H:\\img\\lena.jpg")cv2.imshow("Original",image)cv2.waitKey(0)#領域均值濾波blurred = np.hstack([cv2.blur(image,(3,3)), cv2.blur(image,(5,5)), cv2.blur(image,(7,7)) ])cv2.imshow("Averaged",blurred)cv2.waitKey(0)
結果如下:原映像:
平畫後的映像(從左至右視窗寬度依次為:3、5、7)
2、映像高斯平滑濾波代碼如下:
#encoding:utf-8import numpy as npimport cv2image = cv2.imread("H:\\img\\lena.jpg")cv2.imshow("Original",image)cv2.waitKey(0)#高斯濾波blurred = np.hstack([cv2.GaussianBlur(image,(3,3),0), cv2.GaussianBlur(image,(5,5),0), cv2.GaussianBlur(image,(7,7),0) ])cv2.imshow("Gaussian",blurred)cv2.waitKey(0)
結果如下:原映像:
平畫後的映像(從左至右視窗寬度依次為:3、5、7,標準差均為:0)
3、映像中值濾波代碼如下:
#encoding:utf-8import numpy as npimport cv2image = cv2.imread("H:\\img\\lena.jpg")cv2.imshow("Original",image)cv2.waitKey(0)#中值濾波blurred = np.hstack([cv2.medianBlur(image,3), cv2.medianBlur(image,5), cv2.medianBlur(image,7) ])cv2.imshow("Median",blurred)cv2.waitKey(0)
結果如下:原映像:
平畫後的映像(從左至右視窗寬度依次為:3、5、7)
4、映像雙邊濾波代碼如下:
#encoding:utf-8import numpy as npimport cv2image = cv2.imread("H:\\img\\lena.jpg")cv2.imshow("Original",image)cv2.waitKey(0)#雙邊濾波blurred = np.hstack([cv2.bilateralFilter(image,5,21,21), cv2.bilateralFilter(image,7, 31, 31), cv2.bilateralFilter(image,9, 41, 41) ])cv2.imshow("Bilateral",blurred)cv2.waitKey(0)
結果如下:原映像:
平畫後的映像(相關參數意義,請參考上述函數原型中的解釋)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
openCV—Python(9)——映像平滑與濾波