一,定義
核是:3 *3 均值濾波
二,高斯函式
y方向的方差與x方向的一致。處理後影象看起來更模糊(濾波明顯)的話,核要更大。
(三)**實現
(四)核計算
(五)影象產生高斯雜訊迴圈**實現
1def 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 通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。高斯濾波的具體操作是 用乙個模板 或稱卷積 掩模 掃瞄影象中的每乙個畫素,用模板確定的鄰域內...