介紹
高斯雙邊濾波的效果可以理解爲圖片編輯器中的磨皮或去噪點功能。原理就是使圖像的像素直方圖看起來更加的平滑,關於像素的直方圖我在Opencv學習筆記07中記錄過。而高斯雙邊濾波中的高斯指的時卷積核爲高斯模式即中間高周邊低的模式。雙邊指的是sigmaColor, sigmaSpace 這會在下文中有所記錄
代碼
import cv2
p = cv2.imread('0.png',1)
#高斯濾波函數,第一個參數爲圖片,第二個參數指的是過濾的像素直徑大小,如果爲負,將用sigmaSpace來自動規劃。關於第三四參數將在下文中記錄
p2 = cv2.bilateralFilter(p,d=-1, sigmaColor=85, sigmaSpace=10)
cv2.imshow('origin',p)
cv2.imshow('outcome',p2)
cv2.waitKey(0)
cv2.destroyAllWindows()
原圖:
效果圖:
可以發現通過高斯濾波我們把噪點減少了很多
圖片給人的感覺潤滑了許多
下面記錄一下sigmaColor , sigmaColor可以理解爲混合顏色的空間,若sigmaColor越大,則圖片中的噪點會越少,但是圖片也會越均一模糊
上文中 sigmaColor = 85 的效果是如上文中這樣的
如果我們把sigmaColor的值變大則會產生如下效果:
當等於150的時候:
我們會發現圖片的噪點又減少了很多,但是圖片也模糊了不少。因此對於sigmaColor的選取要根據實際需要來判斷
針對參數sigmaSpace一般越小越好,但是也要根據實際考慮