---
# System prepended metadata

title: 二維自動化光學檢測及應用_陳金聖_影像處理基礎複習(上)_影像空間濾波
tags: [DeltaMOOCx, 二維自動化光學檢測及應用, 機器視覺]

---

# 二維自動化光學檢測及應用_陳金聖_影像處理基礎複習(上)_影像空間濾波
###### tags: `DeltaMOOCx` `二維自動化光學檢測及應用` `機器視覺`
[影片連結](https://www.youtube.com/watch?v=QhROA8LIQb0&list=PLI6pJZaOCtF0yLRQrV7JOBUaAfJ8Q-elm&index=9)

## 影像處理在自動化光學檢測的角色
![](https://hackmd.io/_uploads/ByICadHCj.png)

上圖的魚骨圖主要說明整個光學檢測所包含的，而影像處理在裡面所扮演的角色就是影像的前、後處理。

## 影像處理基本觀念 - 灰階影像表示法
![](https://hackmd.io/_uploads/ryQFA_B0j.png)

上圖左所表示的是一個灰階影像的表示，以$f(x,y)$來表示。上圖右則是它的二維空間表示。
## 影像處理基本觀念 - 灰階影像強度解析
![](https://hackmd.io/_uploads/BycnyYBRi.png)

影像解析度以$L=2^k$來表示，其中$L$指的是單一像素強度的總數，而$k$則代表記憶體的儲存空間。

以8bit為例，能表示的就是0~255，也就是$L=2^8$，最小值的就代表黑色，最大值就代表白色。
## 基本強度轉換函數
![](https://hackmd.io/_uploads/HkU-ltSCi.png)

做這種強度轉換主要是要希望可以顯露比原始影像更多的資訊，方便我們人類來觀察，其函數可以用$S=T(r)$來表示，其中$r$為input，$T$為轉換函數，而$S$則為轉換後的像素。如果把座標考慮進去的話，則可以調整為$g(x,y)=T(f(x, y))$。
## 基本強度轉換函數 - 二值化轉換函數
![](https://hackmd.io/_uploads/rJGalYHCi.png)

這邊說明二值化轉換函數，上圖中的$m$為閥值，大於閥值的就轉換為255，也就是白，低於閥值的則轉換為0，也就是黑。
## 基本強度轉換函數 - 二值化轉換函數
![](https://hackmd.io/_uploads/ry9AxYHRo.png)

上圖是一張二值化的範例照片，主要是將人的斷層掃描轉為二值化照片。
## 基本強度轉換函數 - 負轉換
![](https://hackmd.io/_uploads/HJgPWFrRj.png)

另外有一種方式稱為負轉換，主要是增強黑暗區域中的細節，其函數為$S=L-1-r$。



## 基本強度轉換函數 - 負轉換
![](https://hackmd.io/_uploads/HktRWYr0j.png)

上圖是女性乳房經過負片轉換得到的結果，可以將腫瘤的部份突出。


## 基本強度轉換函數 - 負轉換
![](https://hackmd.io/_uploads/SJ_6-KS0j.png)

如果是灰階的話，8bit，那$L=2^8=256$，所以整個轉換函數就可以直接是$255-r$
## 基本強度轉換函數 - 對數轉換
![](https://hackmd.io/_uploads/H1LyNFBRi.png)

對數轉換主要是希望可以將像素中具有較大變化的動態範圍做一個壓縮。其數學式以$S=T(r)=c\cdot \log(1+r)$來表示，其中$c$為常數。

## 基本強度轉換函數 - 對數轉換
![](https://hackmd.io/_uploads/BkUGVKB0j.png)

這邊以傅立葉轉換來做為說明，可以看的到，一張八位元的灰階影像經過傅立葉轉換之後的範圍非常的廣，可以從$0  \sim 1.5\times 10^6$。

而且看的出來，它的低頻部份相對的被壓縮到。
## 基本強度轉換函數 - 對數轉換
![](https://hackmd.io/_uploads/SkzTEYrAo.png)

承上，我們利用對數轉換來對傅立葉轉換之後的照片做處理，它的值域變為$0 \sim 6.2$，低頻的部份也被突顯出來。
## 基本強度轉換函數 - 指數轉換
![](https://hackmd.io/_uploads/Hk0ZPDa0s.png)

指數轉換主要功能在於增加影像對比度，其數學式以$S=T(r)=c\cdot r^\gamma=c(r + \epsilon)^\gamma$，其中$c,\gamma$為常數，然後$\epsilon$為一種偏移補償。

## 基本強度轉換函數 - 指數轉換
![](https://hackmd.io/_uploads/Bk4HwDpCs.png)

![](https://hackmd.io/_uploads/ByQmvDTRj.png)

這是一個指數轉換的案例。第一張圖是校正前，第二張圖是校正後。
## 直方圖等化
![](https://hackmd.io/_uploads/Hy5cwwaAj.png)


透過計算影像中每一個像素強度的次數來統計成為直方圖。上面直方圖中，橫軸為強度值，縱軸則為該強度的統計次數。
## 直方圖等化
![](https://hackmd.io/_uploads/BJfg_DTRo.png)

上圖左可以看的到，影像的分佈多在中間，所以影像較為灰暗，我們希望可以利用直方圖等化讓照片變成上圖右那樣，加強它的對比。
## 直方圖等化
![](https://hackmd.io/_uploads/ByqSdDpCj.png)

這邊給出直方圖等化的過程。

## 影像空間濾波器 - 空間濾波基礎
![](https://hackmd.io/_uploads/HyDGFwpRo.png)

不同於該該的影像增強處理，濾波是將輸入影像根據週圍狀況經過一個計算決定而成。其數學式為$g(x, y)=T(f(x, y))$，也就是我們希望經過$T$的處理將輸入的$f(x, y)$轉為$g(x, y)$，其中$T$通常稱為遮罩，或是濾波器。

## 影像空間濾波器 - 空間濾波基礎
![](https://hackmd.io/_uploads/r1xecvTAs.png)


上面是空間濾波器的詳細數學式，其中$w$是一個系數，而$f(x, y)$則是原影像的像素強度。

## 影像空間濾波器 - 空間濾波基礎 
![](https://hackmd.io/_uploads/S1-Mqw6Ci.png)
![](https://hackmd.io/_uploads/BJ4Eqvp0j.png)


這是一個空間濾波的範例。
## 影像空間濾波器 - 平滑濾波器
![](https://hackmd.io/_uploads/BkTtcP6Ai.png)

空間濾波主要會有兩種，一種是平滑，一種是銳化。這邊說明的是平滑的部份，smoothing filter，主要目的是希望可以減化雜訊。

數學式的分子是系數乘上原輸入的影像強度，分母的部份是一種類似正規化的數值加總。
## 影像空間濾波器 - 平滑濾波器
![](https://hackmd.io/_uploads/B1ZR5wpCo.png)

常見的平滑濾波有兩種，均值與高斯，明顯看出兩者的差異，均值是系數皆為1，高斯則略有不同，但相同的是，兩者最終都是要再除上所有系數的總和，因此均值是除9，高斯是除16。
## 影像空間濾波器 - 平滑濾波器
![](https://hackmd.io/_uploads/HywNiD6Ci.png)

這是實際應用的結果。
## 影像空間濾波器 - 中值濾波器
![](https://hackmd.io/_uploads/By5FsvTCs.png)

中值濾波主要拿來消除胡椒鹽雜訊，上圖如果是用剛剛說的平滑濾波器的話，效果就會很不好，但用中值可以看的到，雜訊消除，主要結構都還是清楚的。


## 影像空間濾波器 - 中值濾波器
![](https://hackmd.io/_uploads/r1uJhwTRi.png)
![](https://hackmd.io/_uploads/S1l7hvaAo.png)

這是中值濾波的說明。影像先padding，然後將filter(或mask)蓋上去計算，取中間值，所以粉紅框處可以看的到，中間值為41，因此執行過後200、255已經被消除。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BJZ2hPTAi.png)


銳化濾波器又稱為高通濾波器，主要是邊緣銳化。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BkFT2DTAo.png)

透過一階、二階導數的處理可以讓整個邊緣的部份更為突出。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BkkMawaRj.png)


## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BJIGTP60j.png)

一階導數可以以梯度來表示。可以看的到它是一個向量，因此它含有大小、相位的意函在裡面。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/H1WtaPaRo.png)


這是我們非常常用的Sobel濾波器的權重。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/HkUiTDpRj.png)

經過Sobel的銳化之後可以得到銳化影像。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/rJBx0DTAs.png)
![](https://hackmd.io/_uploads/BybWCvTCs.png)

二階導數代表為拉普拉斯濾波器。

## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/HyjVCvp0j.png)


這是拉普拉斯常見的遮罩數值。
## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BJ58RDaAs.png)

你也可以這樣調，將原本只考慮上下左右的濾波器調整為連對角也考慮，只是要注意等向性的問題。

## 影像空間濾波器 - 銳化濾波器
![](https://hackmd.io/_uploads/BkgqAvaCs.png)

這是應用原本與調整之後的濾波器所呈現的不同結果。

