python實現高斯濾波

2022-06-29 12:00:09 字數 2260 閱讀 5990

一,定義

核是:3 *3     均值濾波

二,高斯函式

y方向的方差與x方向的一致。處理後影象看起來更模糊(濾波明顯)的話,核要更大。

(三)**實現

(四)核計算

(五)影象產生高斯雜訊迴圈**實現

1

def clamp(pv):  #

使我們的隨機值在0-255之間

2if pv > 255:

3return 255

4if pv <0:

5return06

returnpv7

import

cv2 as cv

8import

numpy as np910

def gaussian_noise(image): #

對影象加上高斯雜訊

11 h,w,c =image.shape

12for row in range(h):  #

十分耗時

13for col in

range(w):

14 s = np.random.normal(0,20,3)  #

產生3個隨機值,符合正態分佈,第乙個引數是概率分布的均值,對應分布中心,,第二個是概率分布的標準差,越小越瘦高,第三個是輸出的值個數

15 b = image[row,col,0] #

blue

16 g = image[row,col,1] #

green

17 r = image[row,col,2] #

red18 image[row,col,0] = clamp(b+s[0])

19 image[row,col,1] = clamp(g+s[1])

20 image[row,col,2] = clamp(r+s[2])

2122 cv.imshow("

noise image

",image)

2324

25 src = cv.imread("

./1.png

") #

讀取26 cv.namedwindow("

input image

",cv.window_autosize) #

建立gui視窗,形式為自適應

27 cv.imshow("

input image

",src) #

通過名字將影象

28gaussian_noise(src)

2930 cv.waitkey(0) #

等待使用者操作,裡面等待引數是毫秒,我們填寫0,代表是永遠,等待使用者操作

31 cv.destroyallwindows() #

銷毀所有視窗

(六)使用高斯模糊處理高斯雜訊(發現高斯雜訊的影響不大,高斯模糊對其有抑制作用)

1 gaussian_noise(src) #

修改原圖為高斯雜訊圖

參考:

OpenCV 高斯濾波實現

高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。在影象處理中高斯濾波一般有兩種實現方式 一種是用離散化視窗滑窗卷積,另一種是通過傅利葉變換。最常見的就...

高斯濾波之FPGA實現

濾波,即強調影象中的某些特徵,或者去除影象中不需要的資訊。例如 影象去燥 影象增強 邊緣檢測等。濾波是乙個鄰域操作運算元。通常,鄰域選擇3x3,5x5等,這些3x3或者5x5的鄰域,稱作濾波器,掩模或核。利用給定畫素鄰域內的畫素值與掩模做卷積,從而決定該畫素的最終輸出值。介紹高斯濾波之前,先從均值濾...

python OpenCV 實現高斯濾波詳解

目錄 高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。1 通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。高斯濾波的具體操作是 用乙個模板 或稱卷積 掩模 掃瞄影象中的每乙個畫素,用模板確定的鄰域內...