# Digital Image Processing
1. 算術平均濾波器: 以高斯雜訊的期望值為0的原理, 將周邊的piexl加上自己的pixel做平均, 可以消除高斯雜訊對於影像的影響, 副作用是讓影像變模糊.
2. 中值濾波器: impulse noise一般以極值(0或255)出現, 但若將原本為0和255的低方去掉就錯了, 若真為impulse noise且剔除又該把該點設為多少值? 一般來說自然影像中每個piexl跟周邊的相鄰點存在一定的相依關係, 即灰階很接近, 這時候利用中值濾波器將周圍的資料選取做排序, 然後用排序正中間的做輸出, 可以解決濾掉極值與找什麼數值做補值的問題.
3. Alpha-修整平均濾波器 Alpha-Trimmed Mean Filter: 假設一張影像同時受到Gussian與Impulse Noise的影響, 則使用平均濾波器或是中值濾波器來處理的效果都不太好, 平均濾波器不太能處理impulse noise, 中值濾波器無法過濾gussian noise, 此時可以結合上述兩種濾波器的Alpha-Trimmed Mean Filter, 其概念為設定過濾d筆資料, 然後將鄰近區域裡的資訊做排序, 前d/2與後d/2剔除不計, 剩下做平均, 此方法可以排除impulse noise的影響並利用平均的原理消除gaussian noise.
4. 平滑濾波器(Smoothing Filter):模糊化(Blurring)和減少雜訊(noise reduction), 其輸出為遮罩所包含的鄰域中所有像素的平均值, 故有時稱為平均濾波器(average filter), 效果和頻域中的低通濾波器相同, 也稱為低通濾波器(lowpass filter).
5. 銳化濾波器(sharping filter):銳化空間濾波器, 其目的是強化影像細節, 並凸顯其色彩強度的變化, 其理論為利用微分處理, 一階微分的定義為f'(x)=lim((f(x+h)-f(x))/h), h趨近於0, 其意義為在輸入變化極小時(由x到x+h)時的輸出(f(x)到f(x+h)的變化). 將影像的像素值視為輸出, 水平座標視為輸入, 其兩個像素間的座標至少差1, 此函數屬於離散函數的一種, 離散函數的導函數(差分)的定義與連續函數的微分非常類似, 只是自變數的變化最小為1, 由x變成x+1, 因此求導函數不需要極限的概念, 只要兩個值相減即可.
6. 利用二階導函數設計銳化濾波器最有名的是拉普拉斯運算子,利用拉普拉斯設計銳化濾波器的公式為:g(x,y)=f(x,y)-d^2f(x,y), g(x,y)=5f(x,y)-f(x+1,y)-f(x-1,y)-f(x,y+1)-f(x,y-1),簡化後的銳化濾波器遮罩:[ 0 -1 0
-1 5 -1
0 -1 0],考慮對角線:
[ -1 -1 -1
-1 9 -1
-1 -1 -1]
---
**差分:一階與二階導函數**
1.離散函數f(x)的一階導函數(差分)定義
f'(x)=df(x)/dx=f(x+1)-f(x)
2.二階導函數由一階導函數推出
f''(x)=d^2f(x)/dx^2=f'(x+1)-f'(x)
=f(x+2)-f(x+1)-(f(x+1)-f(x))
=f(x+2)-2f(x+1)+f(x)
由於中心點沒有位於x, 因此將二階導函數重新定義(x=x-1)為:
f''(x)=f(x+1)-2f(x)+f(x-1)
**結論:二階導數在增強影像細節上通常會比一階導數要更適合**
1.一階導數產生的邊緣較厚
2.二階導數對孤立點和細直線有較強的反應
3.一階導數隊步階有強的反應
4.二階導數對步階有強的雙反應
[Reference-雜訊與濾波](https://jason-chen-1992.weebly.com/home/-noise-and-filter)
[Reference-空間濾波](https://www.slideshare.net/YKLee3434/spatial-filtering-41713087)