OpenCV中基於Python的影象濾波
阿新 • • 發佈:2021-02-07
基於Python的影象濾波(或稱影象模糊)
1.均值濾波
主要優點:演算法簡單,計算速度快。
缺點:降低噪聲的同時使影象產生模糊,特別在邊緣和細節處。而且鄰域越大,在去噪能力增強的同時模糊程度越嚴重。
2.中值濾波
優點:對脈衝干擾及椒鹽噪聲的抑制效果好,在抑制隨機噪聲的同時能有效保護邊緣少受模糊。
缺點:對點、線等細節較多的影象卻不太合適。
3.自定義濾波
可自定義卷積核,針對具體問題作出選擇
程式碼實現:
import cv2
import numpy as np
#影象濾波(用於降低影象噪聲)
img = cv2.imread('cat.jpg')
cv2.imshow('img',img)
#1.均值濾波
mean = cv2.blur(img,(5,5))
cv2.imshow('mean',mean)
#2.中值濾波
median = cv2.medianBlur(img,5)
cv2.imshow('median',median)
#3.自定義濾波(自定義卷積核)
#卷積核
kernel1 = np.ones([5,5],np.float32)/25
kenerl2 = np.array([[1,2,3],[-1,-2,-3],[1,-1,1]],np.float32)
own1 = cv2. filter2D(img,-1,kernel=kernel1)
own2 = cv2.filter2D(img,-1,kernel=kenerl2)
cv2.imshow('own1',own1)
cv2.imshow('own2',own2)
cv2.waitKey()
執行結果: