卷積
卷積是一種比較特殊的數學運算,通過選取不同的卷積覈對相同的圖像進行運算,會提取到不同的特徵點
具體關於卷積的知識可以查看下面這個視頻,講的很好:
卷積在模糊處理中的應用(均值模糊,中值模糊,高斯模糊)
均值模糊
代碼如下
import cv2
p = cv2.imread('test.jpg',1)
p = cv2.resize(p,(400,266))
cv2.imshow('origin',p)
#調用均值模糊的函數,(30,3)指的是卷積核的大小爲30橫向,3豎向
p = cv2.blur(p,(30,3))
cv2.imshow('outcome',p)
cv2.waitKey(0)
cv2.destroyAllWindows()
原圖:
效果圖:
可以發現,圖片變得模糊,且有橫向趨勢。這是因爲卷積核的選取爲橫向數值大於豎向
中值模糊
import cv2
p = cv2.imread('test.jpg',1)
p = cv2.resize(p,(400,266))
cv2.imshow('origin',p)
#這裏是中值模糊的函數,後面的參數指的是卷積核的大小,注意只能是奇數
p = cv2.medianBlur(p,9)
cv2.imshow('outcome',p)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果圖:
此時卷積核尺寸爲9
當卷積核尺寸是99時:
我們發現隨着卷積核的增大,留下來的基本上只有圖片的特徵區域了
高斯模糊
import cv2
p = cv2.imread('test.jpg',1)
p = cv2.resize(p,(400,266))
cv2.imshow('origin',p)
#高斯模糊函數,第二個參數爲卷積核大小,第三個爲標準差
p = cv2.GaussianBlur(p,(5,5),20)
cv2.imshow('outcome',p)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果圖: