- 我們知道了什么是 線性平移不變系統是在做卷積操作 之后,我們發展出了一些非常簡單的 線性濾波, 去增強圖片,提取圖片特征
文章目錄
- 1. 卷積如何在離散圖片中工作的
- Vis 原圖和mask做卷積時發生了什么
- 首先,如何得到 (i.j)位置的卷積 g[i,j] 呢?
- 值得注意事情
- 2. 應用示例:脈沖濾波器 (Impulse Filter)
- 圖片平移:Image Shift
- 圖片平均:Averaging
- 平滑濾波 (Smoothing With Box Filter)
- 3. 模糊濾波 (Smoothing With "Fuzzy" Filter)
- Fuzzy Filter 可以用 高斯卷積核 來表示
- 來看看Guassian Smoothing
- 為什么高斯濾波 這么受歡迎:因為高斯是可分離的
1. 卷積如何在離散圖片中工作的
- f[i, j]: 離散圖片, 是圖片中(i,j) 的像素值
- i: row Number
- j: Col Number
- M, N 是整張圖的大小
- m, n 是卷積核大小
- Convolved by some impulse response h[i,j]
- h[i-m, j-n]: 被稱為 ”Mask", “Kernel”, “Filter”
Vis 原圖和mask做卷積時發生了什么
首先,如何得到 (i.j)位置的卷積 g[i,j] 呢?
-
h[m, n] 是一個卷積核
-
反轉 h[-m, -n], 看顏色變了吧
-
這里的h是卷積核哦
-
然后,把卷積核放在你想得到的坐標那里,這里是**(i, j)的位置**
-
做一個卷積相乘,加和,得到右側的橙色,這就是當前位置的卷積結果。
-
你想要得到所有的g[i,j], 你就重復上述動作,1. 旋轉你的卷積核,2. slide over entire image
值得注意事情
2. 應用示例:脈沖濾波器 (Impulse Filter)
平移不變性指我們在圖像的每個位置都執行相同的操作。線性指這個操作是線性的,也就是我們用每個像素的鄰域的線性組合來代替這個像素。
圖片平移:Image Shift
- 反轉 卷積核,右下角的白色方塊 --> 左上角,然后全圖經過卷積,原圖整體向右,向下移動。
圖片平均:Averaging
- Box Filter: 匯集了 周圍 5x5=25 個像素的值,所以卷積之后,該位置的值會變得非常大,但我們8 bit的圖像中,數值范圍是從(0, 255)的,所以 超過255的就按255算,反之小于0 的按0 算。
- 確保你設計Filter的時候,Filter要做歸一化,要不就產生上面的問題了,所有的數字相加都到255 了
- 這樣做,圖就不會過度曝光了吧,變的平滑了吧
平滑濾波 (Smoothing With Box Filter)
- 是不是看起來不太自然,好吧
- 然我們看看下一節,高斯濾波,會讓他變的自然起來
3. 模糊濾波 (Smoothing With “Fuzzy” Filter)
Fuzzy Filter 可以用 高斯卷積核 來表示
- σ 是標準差 \sigma是標準差 σ是標準差
- σ 2 是方差 \sigma^2是方差 σ2是方差
- σ \sigma σ 越大,高斯的邊界越大
- 這里推薦卷積核大小k,因為這能最大化的使用高斯的能量(突出來的部分)
- 我們可以看到σ=5的中央要比,σ=2的中央暗很多,因為k=5的時候像素很多,然后做了歸一化就變得很小了
- 推薦的k值為 k = 2 π σ k = 2 \pi \sigma k=2πσ
來看看Guassian Smoothing
- $ \sigma$ 越大越模糊哦
為什么高斯濾波 這么受歡迎:因為高斯是可分離的
- 2D 高斯 -> 1D 高斯
- 做1D 高斯計算量會比 2D 小很多
- 來看看高斯1D, 2D的計算量