python+opencv濾波方法整理
#影象平滑(低通濾波(lpf)有利於去噪,模糊影象,高通濾波(hpf)有利於找到影象邊界)
#2d濾波器
defd2filter
(img)
: kernel = np.ones((5
,5), np.float32)/25
#卷積核
d2filter = cv2.filter2d(img,-1
, kernel)
return d2filter
#高斯濾波(二維離散卷積核)(高斯核的高和寬(奇數))
defgblur
(img)
: gblur = cv2.gaussianblur(img,(5
,5),
0)#(5,5)表示的是卷積核大小,0表示的是沿x與y方向上的標準差
return gblur
#均值濾波(二維離散卷積核)
defmeanval
(img)
: meanval=cv2.blur(img,(3
,5))
# 卷積核大小為3*5, 模板的大小是可以設定的
return meanval
#方框濾波,normalize=1時,表示進行歸一化處理,此時處理效果與均值濾波相同,如果normalize=0時,表示不進行歸一化處理,畫素值為周圍畫素之和,影象更多為白色
defboxfilter
(img)
: boxfilter = cv2.boxfilter(img,-1
,(5,
5), normalize=1)
return boxfilter
#中值濾波(統計學)(中值濾波模板就是用卷積框中畫素的中值代替中心值,達到去雜訊的目的。這個模板一般用於去除椒鹽雜訊。卷積核的大小也是個奇數。)
defmedblur
(img)
: medblur = cv2.medianblur(img,5)
# 中值濾波函式
return medblur
#雙邊濾波(保持邊緣清晰)雙邊濾波同時使用了空間高斯權重和灰度相似性高斯權重,確保了邊界不會被模糊掉。
defdoufilter
(img)
:#9表示的是濾波領域直徑,後面的兩個數字:空間高斯函式標準差,灰度值相似性標準差
doufilter = cv2.bilateralfilter(img,9,
80,80)
return doufilter
Python OpenCV中值濾波
import cv2 as cv import numpy as np def rgb2gray img h img.shape 0 w img.shape 1 img1 np.zeros h,w np.uint8 for i in range h for j in range w img1 i,j...
python opencv濾波去噪
利用均值濾波去除雜訊,python版opencv的安裝不再贅述 左邊是原圖,右邊是濾波之後的結果 附 import cv2 生成8000個噪點 a random.randint 0 499 b random.randint 0 499 img01 a,b 255 cv2.imshow origina...
python OpenCV 實現高斯濾波詳解
目錄 高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。1 通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。高斯濾波的具體操作是 用乙個模板 或稱卷積 掩模 掃瞄影象中的每乙個畫素,用模板確定的鄰域內...