【OpenCV】⚠️高手勿入! 半小時學(xué)會基本操作⚠️濾波器
概述
OpenCV 是一個跨平臺的計算機視覺庫, 支持多語言, 功能強大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界. (第 9 課)

圖像平滑
圖像平滑 (image smoothing) 是一種區(qū)域增強算法. 可以幫助我們?nèi)コ琰c改善圖片質(zhì)量.
濾波器 (Filter) 可以幫助我們來降低噪聲, 均值濾波器的主要應(yīng)用是去除圖像中的不相關(guān)細(xì)節(jié).

原圖:

均值濾波器
均值濾波器會計算區(qū)域像素的平均值, 然后進(jìn)行填充.
代碼:
# 讀取圖片
img = cv2.imread("noise.jpg")
# 均值濾波器 (3 X 3)
blur = cv2.blur(img, (3, 3))
# 圖片展示
cv2.imshow("blur", blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

方框濾波
方框濾波器 (Box Filter) 和均值濾波器基本一樣.
格式:
cv2.boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None)
參數(shù):
- src: 需要濾波的圖片
- ddepth: 輸入圖像的深度, -1 代表使用原圖深度
- Normalize: 標(biāo)準(zhǔn)化, 默認(rèn)為 None
代碼:
# 讀取圖片
img = cv2.imread("noise.jpg")
# 方框濾波器 (3 X 3)
box = cv2.boxFilter(img, -1, (3, 3), normalize=True)
# 圖片展示
cv2.imshow("box", box)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

高斯濾波器
高斯濾波器 (Gauss Filter) 是一種線性平滑濾波, 適用于高斯噪聲.
高斯噪聲 (Gaussian Noise) 是概率密度函數(shù)服從高斯分布的一類噪聲.

格式:
cv2.GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
參數(shù):
src: 需要濾波的圖片
ksize: 卷積核大小
sigmaX: 高斯核函數(shù)在 X 方向的的標(biāo)準(zhǔn)偏差
sigmaY: 高斯核函數(shù)在 Y 方向的的標(biāo)準(zhǔn)偏差
代碼:
# 讀取圖片
img = cv2.imread("noise.jpg")
# 高斯濾波器 (3 X 3)
gaussian = cv2.GaussianBlur(img, (3, 3), 1)
# 圖片展示
cv2.imshow("gaussian", gaussian)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

中值濾波
中值濾波器 (Median Filter) 用中值填充.
代碼:
# 讀取圖片
img = cv2.imread("noise.jpg")
# 中值濾波器 (3 X 3)
median = cv2.medianBlur(img, 3)
# 圖片展示
cv2.imshow("median", median)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

到此這篇關(guān)于OpenCV半小時掌握基本操作之濾波器的文章就介紹到這了,更多相關(guān)OpenCV濾波器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- opencv 圖像濾波(均值,方框,高斯,中值)
- OpenCV圖像處理之自定義濾波
- 使用OpenCV檢測圖像中的矩形
- OpenCV學(xué)習(xí)方框濾波實現(xiàn)圖像處理代碼示例