目錄
- 概述
- 圖像平滑
- 均值濾波器
- 方框?yàn)V波
- 高斯濾波器
- 中值濾波
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作⚠️濾波器
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫(kù), 支持多語(yǔ)言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界. (第 9 課)
圖像平滑
圖像平滑 (image smoothing) 是一種區(qū)域增強(qiáng)算法. 可以幫助我們?nèi)コ琰c(diǎn)改善圖片質(zhì)量.
濾波器 (Filter) 可以幫助我們來降低噪聲, 均值濾波器的主要應(yīng)用是去除圖像中的不相關(guān)細(xì)節(jié).
原圖:
均值濾波器
均值濾波器會(huì)計(jì)算區(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é)果:
方框?yàn)V波
方框?yàn)V波器 (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")
# 方框?yàn)V波器 (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半小時(shí)掌握基本操作之濾波器的文章就介紹到這了,更多相關(guān)OpenCV濾波器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- opencv 圖像濾波(均值,方框,高斯,中值)
- OpenCV圖像處理之自定義濾波
- 使用OpenCV檢測(cè)圖像中的矩形
- OpenCV學(xué)習(xí)方框?yàn)V波實(shí)現(xiàn)圖像處理代碼示例