python opencv濾波方法整理

2021-10-10 05:32:12 字數 1286 閱讀 1872

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 通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。高斯濾波的具體操作是 用乙個模板 或稱卷積 掩模 掃瞄影象中的每乙個畫素,用模板確定的鄰域內...