影像處理 中正資工所 柳金章
https://hackmd.io/Ta-ORhbAS1-B-HQgiG4w_A?view
把**答案整合.docx**寫成比較好看的版本,並且加上了註解,可以點連結來修改新增題目
==這樣的字是加上的註解,可以忽略==
----
### Explain why the processing results of direct inverse filtering (if the degradation funciton is known) are not good. How to improve?
>假設系統的退化函數 𝐻(𝑢,𝑣)是完全已知的,因此濾波器的計算公式為。但在實際操作中,退化函數 𝐻(𝑢,𝑣)在某些頻率可能接近零或非常小,這會導致分母接近零,從而極大地放大噪聲,導致結果劣化。
>可以使用閥值當退化函數 𝐻(𝑢,𝑣)的幅值過小(小於某個閾值 𝜖)時,直接將該頻率分量的恢復結果設為零,避免分母過小導致噪聲放大。
>或是加上一個常數避免分母過小 
>也可以用Wiener Filter,
### Describe pseudocolor image processing and color slicing
>pseudocolor image processing
>>將灰階影像的強度值對應到特定顏色,用於增強灰階影像的可視化效果,幫助人眼更容易區分影像中的細節。
>>處理步驟:
>>1. 將灰階影像的強度範圍歸一化。
>>2. 定義一個顏色映射表,將強度值對應到顏色。
>>3. 將每個像素的強度值轉換為對應的顏色。
>color slicing
>>通過將特定強度範圍的像素映射到某一顏色來突出或隔離這些範圍,而其他範圍的像素則保持不變或被弱化。
>>處理步驟:
>>1. 定義目標強度範圍(例如 100 至 150)。
>>2. 將此範圍內的像素設為某一顏色。
>>3. 將範圍外的像素設為其他顏色(例如黑色或灰色)
### Describe two edge detectors , the Canny edge detector and the Laplacian of a Gaussian (LoG) operator.
>Canny edge detector
>>步驟:
>>1. 雜訊抑制:
>>使用高斯濾波器對影像進行平滑處理。
>>2. 梯度計算:
>>使用 Sobel 運算元或其他梯度運算元計算影像的水平方向和垂直方向梯度 (𝐺𝑥和𝐺𝑦)。
>>計算梯度幅值 和梯度方向 
>>3. 非極大值抑制(Non-Maximum Suppression)
>>將梯度幅值的非最大值抑制,僅保留局部最大值的像素作為潛在的邊緣點,消除梯度方向上不屬於邊緣的點。
>>4. 雙閾值處理(Double Thresholding):
>>設置高閾值和低閾值,將梯度幅值分為三類:
>>大於高閾值的像素被標記為「強邊緣」。
>>介於高閾值和低閾值之間的像素標記為「弱邊緣」。
>>小於低閾值的像素被忽略。
>>5. 邊緣連接:
>>從「強邊緣」開始,將與其相連的「弱邊緣」確定為邊緣,消除孤立的弱邊緣。
>>優點:
>>精準的邊緣定位。
>>減少雜訊的影響,偵測到的邊緣更平滑。
>>雙閾值機制有效區分強邊緣和弱邊緣。
>Laplacian of a Gaussian (LoG) operator
>>步驟
>>1. 高斯平滑
>>先對影像應用高斯濾波器進行平滑處理,減少雜訊影響。
>>高斯濾波器的公式為:
>>2. 拉普拉斯運算(Laplacian Operator)
>>對平滑後的影像應用拉普拉斯算子計算二階導數,用於檢測梯度變化:
>>3. 邊緣檢測
>>邊緣的位置對應於二階導數過零點(Zero-Crossing)的區域。
>>計算每個像素周圍的梯度變化,標記正負值交替的點為邊緣。
>>優點:
>>能夠檢測多種方向的邊緣。
>>敏感於影像的二階導數變化,適合偵測細微結構。
>>缺點:
>>對雜訊敏感,需依賴高斯平滑處理。
>>需要精確選擇高斯濾波器的標準差 𝜎和零交叉閾值。
### Describe the Otsu's method for global thresholding.
>一種自動計算影像閾值的演算法,廣泛應用於二值化處理。該方法的核心思想是通過最大化類間方差來找到最佳的閾值,使得影像的前景和背景分割效果最佳。
>假設某個閾值 𝑇 將影像的像素分為兩類:
>>前景(物體):灰階值大於 𝑇 的像素。
>>背景:灰階值小於或等於 𝑇 的像素。
>類間方差最大化
>>類間方差(Between-class variance)表示前景和背景之間的差異程度
>>計算公式為:
>𝑤1(𝑇),𝑤2(𝑇):前景和背景像素的權重,分別是前景和背景像素數佔總像素數的比例。
>𝜇1(𝑇), 𝜇2(𝑇):前景和背景的平均灰階值。
>目標是找到一個閾值 𝑇,使得類間方差最大,從而實現最佳分割。
### Describe a thinning algorithm for getting regional skeletons.
>thinning algorithm用於提取影像中區域骨架(skeleton)。骨架是一個物體形狀的中心線,保留物體的拓撲結構並減少其像素數量。通過逐步移除物體邊界的像素點來實現,直到只剩下物體的骨架。
>thinning條件
>>保持物體的連通性:在移除像素時,不能使物體的結構斷裂。
>>保持物體的拓撲結構:例如孔洞和分支結構應該在細化後保持不變。
>>逐步移除邊界像素:每次只移除邊界上的非必要像素點,直到無法進一步移除。
>步驟
>>1. 輸入二值影像,其中前景像素表示目標區域,背景像素表示空白
>>2. 對每個前景像素 𝑃(𝑥,𝑦),考慮其 8 鄰域像素 𝑃1,𝑃2,...,𝑃8
>>移除像素 𝑃(𝑥,𝑦)的條件包括:
>>>1. 像素為邊界點:該點至少有一個鄰居是背景像素。
>>>2. 保持連通性:移除該點後,物體應該保持拓撲結構不變。
>>>3. 鄰域像素計算:𝐵( 𝑃):𝑃的鄰域中有多少個前景像素(計算非零像素的數量)。𝐴( 𝑃):𝑃的鄰域中從背景到前景的轉變次數(即 0→1 的次數)。
>>>條件:
>>>2≤𝐵( P)≤6
>>>𝐴( P)=1
>>>移除時保證至少一個像素保留(結構不變)。
>>3. 重複直到沒有像素滿足條件
### Describe local binary pattern(LBP) operator with parameters (P,R) and explain why it is an illumination-free operator.
>通過比較每個像素與其鄰域像素的灰度值,生成一個二進制模式來描述局部紋理特徵。
>LBP 運算元以參數 (𝑃,𝑅)表示,其中:
>>𝑃:
>>>鄰域內的取樣點數量。
>>>定義圍繞中心像素的鄰域點數。例如,若 𝑃=8,表示使用 8 個等距點。
>>>𝑅:
>>>鄰域的半徑。
>>>定義鄰域點距離中心像素的距離。例如,若 𝑅=1,表示鄰域點距中心像素的距離為 1 個像素。
>>步驟
>>1. 選取中心像素:
>>將目標影像中的某個像素作為中心像素。
>>2. 定義鄰域:
>>在中心像素周圍以半徑 𝑅 形成圓形鄰域,取P個等距像素點作為比較對象。
>>3. 灰度值比較:
>>比較鄰域點的灰度值 𝑔𝑝與中心像素的灰度值 𝑔𝑐:
>>4. 生成二進制模式:
>>按照鄰域點的排列順序將比較結果組合為二進制數字,並轉換為十進制數值:
>>5. 生成 LBP 特徵圖:
>>將每個像素的 LBP 值填入對應位置,形成 LBP 特徵圖。
>why it is an illumination-free operator.
>>僅比較鄰域像素與中心像素的灰度值大小,不依賴絕對灰度值。即使整體光照條件改變(如影像變亮或變暗),灰度值的相對關係通常不會改變
>>僅分析每個像素的局部鄰域特徵,避免受到全域光照變化的影響
>>將灰度值比較結果二進制化,進一步降低光照變化對特徵的影響
### Describe the following mean filters: arithmetic mean filter, geometric mean filter, harmonic mean filter, and contraharmonic mean filter, and compare their performances.
>contraharmonic mean :

-> Q>0對pepper有效,Q<0對salt有效
-> Q=0為arithemetic,Q=-1為harmonic
>arithemetic mean : (Q=0)

g(s,t)是 subimage , size mxn
>harmonic mean : (Q=-1)

>geometric mean :

----
### Describe characteristics generally used to distinguish one color from another, and how the CIE chromaticity diagram specifies distinct colors.
>The characteristics distinguishing one color from another are brightness, hue, and saturation.
>==亮度(Brightness)色調(Hue)飽和度(Saturation)==
>Hue and saturation together are called chromaticity.
>==色調和飽和度合稱為色度==
>Another approach for specifying colors is to use the CIE chromaticity diagram.
>==CIE專門用在色度,基於人眼對顏色的感知而設計,如下圖==

>z=1-(x+y)
>邊界的saturation 是1,越接近白色saturation越小
>2點混色就是拉一條直線,依比例決定是線上哪一點
>==若兩個顏色點 A 和 B 的比例為𝑝和1−𝑝(𝑝∈[0,1]),混合點的坐標為:(𝑥,𝑦)=𝑝(𝑥𝐴,𝑦𝐴)+(1−𝑝)(𝑥𝐵,𝑦𝐵)
>當𝑝=0.5 時,混合顏色正好位於 A 和 B 的中點。==
----
### Describe and compare edge detection for gray-level and color images.
>==1. 計算梯度向量 𝑢和 𝑣
>r,g,b 分別是 RGB 三個通道的權重==

>==2.計算分量,這些分量構成梯度矩陣,表示像素梯度的強度和方向關係==

>==3.計算圖像梯度的主方向,即圖像在當前區域內梯度變化的主要方向==

>==4.計算特徵響應函數 𝐹(𝜃),代表該點在主方向上的響應強度,用於評估邊緣或特徵的強度。==

==推導過程==
有了梯度就可以得到梯度矩陣G
而在方向 𝜃上的響應可以表示為
把G跟v代入並展開
>2. gray-level
>
----
### Describe the position operator 𝑃 and the gray-level co-occurrence matrix 𝐶 for texture description (using an illustrated example).
>1.輸入一個要計算的矩陣
>
>2.計算position operator P
>這邊定義的P為
>||j|
>|-|-|
>|i||
>
>找到這個形狀的ij,
>
>||0|
>|-|-|
>|0||
>
>a00=2
>
>||1|
>|-|-|
>|0||
>
>a01=2
>
>||0|
>|-|-|
>|1||
>
>a10=4
>
>||1|
>|-|-|
>|1||
>
>a11=1
>
>3.計算 Co-Occurrences,
> 
>
>|j||
>|-|-|
>||i|
>
->

>Defining the position operator 𝑃 as "one pixel to the right and one pixel below."
>==這邊兩個P的定義不同,這句話有問題==
>𝑎𝑖𝑗 表示在position operator 𝑃定義下,𝑧𝑖 與 𝑧𝑗 存在關係的次數
----
### Describe the three principal texture description approaches, namely, statistical, structural, and spectral approaches.
>Statistical: mean, contrast, relative flatness, uniformity, entropy
>==均值,對比度,相對平坦度,均勻性,熵==
>
>Structural: S -> aS -> Automata theory (自動機理論)
>==S(Primtives),texture基礎構成
>aS(Patterns),很多的Primtives排列組合構成texture
>Automata Theory,系統生成texture==
>
>Spectral: Fourier transform for texture description -> texture pattern period
----
### Describe the Hough transform for line edge linking。
>設在 𝑥𝑦-plane 上一點為(𝑥𝑖,𝑦𝑖),,則所在直線為 𝑦=𝑎𝑥+𝑏,可轉寫為𝑏=−𝑥𝑖𝑎+𝑦𝑖 在 𝑎𝑏-plane 上。
>==意思是把圖像從直角坐標空間轉到參數空間==
>如圖所示:
>建立累加的 cell 設定 (𝑎max,𝑎min),(𝑏max,𝑏min),分別為期望的斜率和截距區間。
>==意思是等等要跑兩個參數的所有組合,這些組合是離散的,所以不會有無限組參數,投票參數a,b決定哪一組才是最多參數點支持的圖形==
>當對應ap到結果bq時,𝐴(𝑝,𝑞)=𝐴(𝑝,𝑞)+1。
>==這句有點難懂,總之就是+1等於有一個邊緣點支持這個參數組合,詳細看下圖==
>
>計算完當𝐴(𝑖,𝑗)=𝑄 表示在𝑦=𝑎i𝑥+𝑏i 上有 Q 個點,若 𝑄>門檻,則建立連結。
>==如果>Q,表示有夠多點落在這個直線,猜測這個直線存在,把有投這個直線的邊緣點連結起來==
>但𝑦=𝑎i𝑥+𝑏i 在垂直時斜率為無限,不適用,改用𝑥cos𝜃+𝑦sin𝜃=𝜌 轉為𝜃𝜌-plane。
>==參數座標轉極座標,就可以有兩個變數參與投票了==
>總步驟
>1. 計算 gradient 和 threshold 得 binary image。
>==意思是要先決定出所有邊緣點,並且用這些點來投票==
>2. 將𝑥𝑦-plane subdivision 成𝜃𝜌-plane。
>==因為有垂直問題所以用極座標==
>3. 選出累加 cell 裡明顯集中的 pixel。
>==明顯集中的pixel應該是指表格中較高的值,表示選出通過閥值的參數組合==
>4. 檢查 cell 間各點的關聯性以建立連結。
>==把這些參數組合的邊緣點建立連結==
>
>𝜃𝜌-plane 得到的不是直線而是 sinusoidal 曲線。
>(找不到好看的圖ㄌ)
----
### Describe three color models, namely, RGB, CMY, and HSI, and their relationships.
>RGB->CMY

>HSI->RGB

>RGB->HSI


----
### Describe the basic region-based segmentation : region splitting and merging。
>==總目標是切分區域,==R代表整張圖,切分為R1、R2、.....Rn,彼此不相交,同一個區塊的pixel都相連==,P(Ri)是自定義的檢測條件(例如區域內像素的亮度是否均勻)==。
>1. 區分成4個不相交的區域,當P(Ri)=FALSE就split
>2. merge 任何不相交的區域Rj和Rk當P(Rj U Rk)=TRUE,==TRUE表示通過檢測條件,兩者是同質的==
>3. 重複上述步驟直到無法再merge或split就停止
----
### Describe the iterative (optimal) threshold selection algorithm.
>
>====
>==整個像素的概率密度是兩個分佈的加權總和==
>==𝑝1(𝑧):第一類像素(例如背景)的概率分佈。==
>==𝑝2(𝑧):第二類像素(例如前景)的概率分佈。==
>
>
>
>->會得兩個最佳解
>
----
### Describe the following order-statistic filters, namely, the median filter, the max and min filters, the midpoint filter, and the alpha-trimmed mean filter.





----
### Describe the restoration procedure for the geometric distortion process within the quadrilateral regions using bilinear equations.
>image f(x,y) ------geometric distortion------> g(x',y'),are the spatial transformations.
>
>==C1x,C2y:表示線性縮放或旋轉。==
>==𝐶3𝑥𝑦:表示𝑥x 和 𝑦y的交互影響,捕捉到剪切或非均勻失真。==
>==𝐶4,𝐶8表示影像的平移(移動影像位置)。==

----
### Describe two pseudocolor image processing techniques: intensity slicing and gray-level to color transformations.
>intensity slicing : 將一個區間內的gray level 轉成彩色中的某個color,讓人眼容易識別。
>gray-level to color transformations : 凸顯特定gray level的差異,更容易辨別。
``` mermaid
graph TD;
A[gray level value g of x,y]-->C[Transform]
C-->Red[Red transform]-->R[R of x,y]
C-->Green[Green transform]-->G[G of x,y]
C-->Blue[Blue transform]-->B[B of x, y]
```
----
### Describe the image segmentation method by morphological watersheds。
>兩個集水區 A、B 的 local minimum 分別為 a、b,對集水區 A 而言,要是介在高度 d 與 a 之間的點(的水)都會往 A 的方向流;對集水區 B 而言,要是高度介在 b 與 d 之間的點(的水)都會往 B 的方向流。d 就是 A 與 B 的邊界(分水線)。
如果水位慢慢上升,直到蓋過 d 的前一刻,d 點就是分區的點。一旦水位超過d,A、B 就併成同一個集水區了。
所以用這個方法,先給圖有很多起始點(如同 a、b),慢慢向外擴張(如果附近的 gray level 值差不多才可以擴張),直到區域與區塊要合併前的前一個步驟停止。這樣一來就可以找出 segent 間的界線,也就是將圖形 segmentation。

==1. 兩個集水區 A、B 的 local minimum 分別為 a、b,d是A與B的邊界(分水線)
2. 對集水區 A,介在高度 d 與 a 之間的點的水會往 A 流。
3. 對集水區 B,介在高度 b 與 d 之間的點的水會往 B 流。
4. 水位慢慢上升,直到蓋過 d 的前一刻,d 點是分區的點。
5. 一旦水位超過 d,A、B 合併為同一個集水區。==
>==給圖有很多起始點(如同 a、b),慢慢向外擴張。(如果附近的 gray level 值差不多才可以擴張。)==
>
>==區域與區塊要合併前的前一個步驟停止。即可找出 segent 間的界線,完成圖形 segmentation。==
----
### Describe the Fourier descriptors for 2-D shapes。
>將圖形邊緣的K個點(此圖形的邊界點)
座標轉換成複數表示。
並透過DFT
做轉換後,保留低頻,捨棄高頻,即可較少的資料量來描述與處理圖形。
==低頻是形狀的主要結構,高頻是形狀的細節跟Noise==
----