opencv-學習筆記(4)-模糊
阿新 • • 發佈:2018-06-02
family .get opencv nbsp PE 基礎 dst 噪聲 median
Newimg=Cv2.blur(‘圖像對象’,(5,5))建議用這個代替上面的filter2D
雙邊濾波用了空間高斯權重和灰度值相似性高斯權重,空間高斯確保只有領近的像素對中心點有影響,灰度值相似性高斯確保只有中心與鄰近相似時候才會做模糊運算
opencv-學習筆記(4)-模糊
本章要點:
4種模糊方式
2d卷積
Cv2.filter2D(‘圖像對象’,‘目標圖像這裏直接設為-1即可’,kernal,anchor(-1,-1))
一般後一個參數略去就行
Kernal的定義用nump.ones((5,5),np.float)/25 這裏可以自己調節
import cv2
import numpy as np
from matplotlib import pyplot as plt
img=cv2.imread(‘new.jpg‘)
kernal=np.ones((8,8),np.float32)/64
dst =cv2.filter2D(img,-1,kernal)
plt.subplot(121),plt.imshow(img),plt.title(‘ORignial‘)
plt.xticks([]),plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title(‘Averaging‘)
plt.xticks([]),plt.yticks([])
plt.show()
opencv提供了四種模糊方式
第一種
首先是最基礎的歸一化卷積
效果和filter2D一樣
Newimg=Cv2.blur(‘圖像對象’,(5,5))建議用這個代替上面的filter2D
第二種中心化
把卷積核變成高斯核
我們可以用cv2.getGaussianKernel()構建一個高斯核
也可以直接
#後面分別是高斯核大學和標準差
Blur=cv2.GaussianBlur(img,(5,5),0)
第三種是中值模糊
中值模糊用來除去椒鹽噪聲。
用中心像素周圍或者本身來取代。能有效去除噪聲,要求卷積核為奇數
cv.medianBlur(img,5)
第四種是雙邊濾波
Cv2.bilateralFilter()能保持邊界清晰的情況去除噪聲,不過速度比較慢,
雙邊濾波用了空間高斯權重和灰度值相似性高斯權重,空間高斯確保只有領近的像素對中心點有影響,灰度值相似性高斯確保只有中心與鄰近相似時候才會做模糊運算
Cv2.bilateralFilter(圖像對象,為領域直接,空間高斯函數標準差,灰度值相似性高斯函數標準差)
opencv-學習筆記(4)-模糊