【OpenCV】 ⚠️高手勿入! 半小時學(xué)會基本操作 ⚠️ 高斯雙邊
概述
OpenCV 是一個跨平臺的計算機視覺庫, 支持多語言, 功能強大. 今天帶大家用 OpenCV 來實現(xiàn)一個簡單的磨皮.

邊緣保留濾波 (EPF)
邊緣保留濾波 (Edge Preserving Filter) 是圖像處理的一種技術(shù). 有別與傳統(tǒng)濾波, EPF 會對差別較大的像素區(qū)域進行區(qū)分, 在保持邊緣銳利的同時消除噪聲或紋理.
高斯雙邊
雙邊濾波 (Bilateral Filter) 即高斯濾波. 濾波器由兩個函數(shù)構(gòu)成. 一個函數(shù)是由集合空間距離決定濾波器系數(shù). 另一個是由像素差值決定濾波系數(shù).

格式:
cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)
參數(shù):
- src: 輸入圖像
- d: 相鄰像素的直徑
- sigmaColor: 顏色空間過濾
- sigmaSpace: 坐標空間過濾
例子:
import numpy as np
import cv2
# 讀取圖片
image = cv2.imread("face.jpg")
# 高斯二邊
dest = cv2.bilateralFilter(image, 0, 100, 15)
# 圖片展示
combine = np.hstack((image, dest))
cv2.imshow("combine", combine)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存結(jié)果
cv2.imwrite("bilateral.jpg", combine)
輸出結(jié)果:

高斯模糊 vs 高斯雙邊:

均值遷移
均值遷移 (Mean-Shift Blur) 會計算得到像素均值與空間位置均值, 使用新的均值作為窗口中心位置.
格式:
cv2.pyrMeanShiftFiltering(src, sp, sr, dst=None, maxLevel=None, termcrit=None)
參數(shù):
- src: 輸入圖像
- sp: 空間窗口半徑
- sr: 顏色窗口半徑
- maxLevel: 分割金字塔的最大級別
- termcrit: 終止條件, 默認為 None
例子:
import numpy as np
import cv2
# 讀取圖片
image = cv2.imread("face.jpg")
# 均值遷移
dest = cv2.pyrMeanShiftFiltering(image, 10, 50)
# 圖片展示
combine = np.hstack((image, dest))
cv2.imshow("combine", combine)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 圖片保存
cv2.imwrite("mean_shift.jpg", combine)
輸出結(jié)果:

到此這篇關(guān)于OpenCV半小時掌握基本操作之高斯雙邊的文章就介紹到這了,更多相關(guān)OpenCV高斯雙邊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- OpenCV半小時掌握基本操作之分水嶺算法
- OpenCV半小時掌握基本操作之傅里葉變換
- 利用Opencv中Houghline方法實現(xiàn)直線檢測
- python opencv實現(xiàn)直線檢測并測出傾斜角度(附源碼+注釋)
- Python+OpenCV圖像處理——實現(xiàn)直線檢測
- OpenCV半小時掌握基本操作之直線檢測