影像處理
===
***
2025 成大資工研究所課程
25/10/24: 更新到Ch2
25/10/30: 更新到Ch3
25/11/13: 期中考
***
# Chapter 1
## 1.1 What is DIP(digital image processing)
### 1.1.1名詞解釋
#### Image
- 2-D 函式 *f(x, y)*.
- *x, y* : 空間座標
- amplitude(振幅) *f* : intensity(強度) or gray-level(灰階)
#### Digital Image
- *x, y, f* 都 **離散(discrete)** 的image
- *f* 可為RGB或多光譜(multispectral)的image
#### Video
- *f(x, y, t)* : frames.
#### Digital Image Processing
- 由電腦或硬體將影像轉為數位(digital)
- 輸入與輸出皆為 **影像**
#### Digital Image Analysis
- 識別與描述影像內容
- 輸入為影像,輸出為 **象徵性描述(symbolic description)** 的有意義資訊
#### Computer Vision
- 使用數位電子設備 **模擬(emulate)** 人類視覺
## 1.2 The Origins of DIP
**廢話**
## 1.3 Examples of Fields that use DIP
好像也不是太重要,認個圖。

### 1.3.1 Gamma-Ray

a. 注入放射性同位素,其衰變時釋放正子;正子與電子碰撞湮滅,產生兩個伽馬射線
### 1.3.2 X-Ray

### 1.3.3 Ultraviolet Band (UV紫外線)

### 1.3.4 Visible & infrared Band (可見光)

### 1.3.5 LANDSAT-7 (衛星主題波段)
- 用了紅字,意義不明

### 1.3.6 Microwave Band (微波)
- 太空雷達影像

### 1.3.7 Radio (無線電波)
#### Magnetic Resonance Imaging (MRI)

### 1.3.8 Others
#### Ultrasound Imaging (聲納)

#### SEM Imaging

#### 3D computer Models

## 1.4 樹梅派 (Raspberry Pi)


# Chapter 2
## 2.1 Elements of Visual Perception
### 2.1.1 Structure of the Human Eye
#### 角膜(Cornea) & 晶體(Lens)
- 將影像聚焦到視網膜(retina)上
#### 虹彩(Iris)
- 控制進入瞳孔(pupil)的光線量
### 2.1.2 Image Formation
- 影像為倒置,大腦修正為正向
- 要會算成像大小(下圖)

### 2.1.3 Brightness Adaptation and Discrimination
#### 馬赫帶效應(Mach Band Effect)
- 在不同亮度的邊界處,人眼會感知到實際不存在的更亮或更暗的條紋。

#### 同時對比(Simultaneous Contrast)
- 感知到的亮度不僅取決於該區域的強度,也受周圍背景的影響。

#### 視覺幻覺(Optical illusions)
- 透過幾何排列、視覺成像規律等手段,製作有「視覺欺騙」成分的圖像進行眼球欺騙。

## 2.2 Light & the Electromagnetic Spectrum
### 2.2.1 Electromagnetic(EM) Spectrum
- 可見光光譜只占電磁光譜(EM Spectrum)的極小部分
- 約430nm(紫)到790nm(紅)

### 2.2.2 EM expression
- 能量 $E = h\nu$($h$ = 普朗克常數, $\nu$ = 頻率)。
- 波長 $\lambda = \frac{c}{\nu}$($c$ = 光速)。

## 2.3 Image Sensing & Acquisition
### 2.3.1 影像擷取

#### 單一感測器(Single Sensor)
- 如光電二極體(photodiode),需移動以掃描整個影像
#### 條狀感測器 (Sensor Strips)
- 用於線掃描(line-scan)應用,如影印機、CAT掃描。
#### 陣列感測器 (Sensor Arrays)
- 如CCD(Charge-Coupled Device)或CMOS(Complementary Metal-Oxide Semiconductor)元件,用於數位相機,可一次擷取2D影像 。
### 2.3.2 影像形成模型(Image Formatoion Model)
- $f(x,y) = i(x,y) \cdot r(x,y)$
- $f(x,y)$: 影像強度
- $i(x,y)$: **照明 (illumination)** (光源能量, $0 < i(x,y) < \infty$)
- $r(x,y)$: **反射 (reflectance)** (物體反射比例, $0 < r(x,y) < 1$)
### 2.3.3 灰階(Gray Level & GrAY Scale)
- Gray Level: 單色(monochrome)影像的強度(intensity)
- Gray Scale: $[L_{min},L_{max}]$的區間,通常為$[0,L-1]$
- $l = f(x,y),L_{min} \le l \le L_{max}$
## 2.4 Image Sampling and Quantization

### 2.4.1 取樣(Sampling)
- 在**座標**上進行離散化
### 2.4.2 量化(Quantization)
- 在**振幅**上進行離散化
### 2.4.3 Dynamic Range & Image Storage Size
- Gray level通常為**二的次方**($L=2^{k}$)
#### 動態範圍(Dynamic Range)
- 影像中灰階所橫跨的值域(the range of value spanned by the gray levels)。
- 雜訊(Noise)
- 在最暗的區域,雜訊會以顆粒狀紋理出現,這會掩蓋掉真正最低的可偵測強度值。
- 飽和(Saturation)
- 在最亮的區域,當強度高過一個上限時,所有值都會被clipped成一個固定的最高值。
#### Image Storage Size
- Bits Required = $M*N*k\ (L=2^{k})$

### 2.4.4 Spatial Resolution
- 影像中**可辨識的最小細節**
- 由**取樣(Sampling)** 決定

### 2.4.5 Intensity Resolution
- $k$值大小決定影像深度
- 由**量化(Quantization)** 決定

### 2.4.6 Level of Details
- 影像的複雜程度

#### ISO-preference curves
- 描述影像**主觀品質(subjective quality)**的一種方式
- 這條曲線是繪製在一個 $N-k$ 平面上
- **N 軸(X軸):** 代表**空間解析度**(Spatial Resolution)。
- **k 軸(Y軸):** 代表**灰階解析度**(Gray-level Resolution,即位元深度)。
- 曲線解讀
- 曲線上的相同點表示有**相同品質(equal subject quality)**
- **Crowd(高細節):** 曲線較陡峭。這意味著對於高細節影像,**空間解析度($N$)** 對主觀品質的影響遠大於灰階解析度($k$)。
- **Face(低細節):** 曲線較平緩。這意味著在細節較少的影像中,**灰階解析度($k$)** 的重要性相對提高。
- 記憶:**低細節重深度**!!!

### 2.4.7 Image Interpolation
- 利用**已知數據**來**估計未知位置上的值**的過程
#### Neareat Neighbor Interpolation
- 新網格直接疊加在舊網格上面
- 快速、鋸齒明顯
#### Bilinear Interpolation
- 原始影像中**最近4個鄰居**($2\times2$鄰域)來估算新像素的值。
- 公式: $v(x,y) = ax + by + cxy + d$
#### BiCubic Interpolation
- 使用原始影像中**最近16個鄰居**($4\times4$鄰域)來估算新像素的值。
- 公式: $v(x,y) = \sum_{i=0}^{3}\sum_{j=0}^{3} a_{ij}x^{i}y^{j}$
- 慢、最為平滑

## 2.5 Some Basic Relationships Between Pixels
### 2.5.1 Neighbors of a pixel
#### $N_4(p)$ (4-鄰居)
- 這是 $p$ 的水平和垂直鄰居。
- 其座標集合為:$(x+1, y), (x-1, y), (x, y+1), (x, y-1)$。
#### $N_D(p)$ (對角鄰居)
- 這是 $p$ 的對角鄰居。
- 其座標集合為:$(x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1)$。
#### $N_8(p)$ (8-鄰居)
- 這是 $p$ 的 4-鄰居和對角鄰居的聯集 (union)。
- $N_8(p) = N_4(p) \cup N_D(p)$。
### 2.5.2 Adjacency
- 鄰接性用於定義像素間的連接。我們需要一個強度值集合 $V$ 來定義鄰接性。
#### 4-鄰接 (4-adjacency)
- 如果 $q$ 在 $N_4(p)$ 集合中,則兩個來自 $V$ 集合的像素 $p$ 和 $q$ 是 4-鄰接的。
#### 8-鄰接 (8-adjacency)
- 如果 $q$ 在 $N_8(p)$ 集合中,則兩個來自 $V$ 集合的像素 $p$ 和 $q$ 是 8-鄰接的。
#### m-鄰接 (mixed adjacency)
- 這是 8-鄰接的修改版,用以消除歧義。
- 如果 $p$ 和 $q$ 的值都在 $V$ 集合中,它們是 m-鄰接的,若:
1. $q$ 在 $N_4(p)$ 中,**或**
2. $q$ 在 $N_D(p)$ 中,**且** $N_4(p) \cap N_4(q)$ 集合中沒有來自 $V$ 集合的像素。

### 2.5.3 Connectivity
- 看起來同離散的概念
#### Digital path/curve
- 從座標 $(x,y)$ 的像素 $p$ 到座標 $(s,t)$ 的像素 $q$ 的路徑,是一系列座標為 $(x_0, y_0), (x_1, y_1), ..., (x_n, y_n)$ 的相異像素序列。
- 其中 $(x_0, y_0) = (x, y)$ 且 $(x_n, y_n) = (s, t)$。
- 對於 $1 \le i \le n$, $(x_i, y_i)$ 和 $(x_{i-1}, y_{i-1})$ 必須是鄰接的。
- $n$ 是路徑的長度。
- 如果 $(x_0, y_0) = (x_n, y_n)$,則這是一條 **封閉路徑(Closed Path)**。
#### Connected
- S 是一個影像中的像素子集。
- 如果 S 中的兩個像素 $p$ 和 $q$ 之間存在一條完全由 S 中像素組成的路徑,則稱 $p$ 和 $q$ 在 S 中是連通的。
#### Connected component
- 對於 S 中的任何像素 $p$,S 中所有與 $p$ 連通的像素集合,稱為 S 的一個 **Connected Component**。
#### Connected set
- 如果 S 僅包含一個 **Connected Component**,則 S 稱為一個 **連通集(Connected Set)**。
### 2.5.4 Regions
#### Region
- 如果一個像素子集 $R$ 是一個 **Connected Set**,則 $R$ 稱為一個區域。
#### Adjacent
- 如果兩個區域的 **聯集(union)** 是一個 **Connected Set**,則它們是鄰近的。

#### Disjoint
- 不鄰近的區域。
### 2.5.5 Boundaries
#### 內邊界 (inner border)
- 一個區域 $R$ 的邊界,是 $R$ 中這樣一個像素集合:這些像素至少有一個鄰居不在 $R$ 中。
#### 外邊界 (Outer border)
- 背景中對應的邊界。
### 2.5.3 Distance measures
#### Distance function / metric
- 對於座標分別為 $(x, y), (s, t), (v, w)$ 的像素 $p, q, z$, $D$ 是一個距離函數,若滿足:
1. $D(p, q) \ge 0$ ($D(p, q) = 0$ iff $p = q$)
2. $D(p, q) = D(q, p)$ (對稱性)
3. $D(p, z) \le D(p, q) + D(q, z)$ (三角不等式)
#### Euclidean Distance
- $D_e(p, q) = [(x-s)^2 + (y-t)^2]^{1/2}$
#### $D_4$ (City-Block Distance)
- $D_4(p, q) = |x-s| + |y-t|$
- $D_4 = 1$ 的像素即是 $(x, y)$ 的 4-鄰居。
#### $D_8$ (Chessboard Distance)
- $D_8(p, q) = \max(|x-s|, |y-t|)$
- $D_8 = 1$ 的像素即是 $(x, y)$ 的 8-鄰居。
#### $D_m$
- 定義為兩點之間的最短 m-路徑 **(m-adjacency)**。
## 2.6 Mathematical Tools used in DIP
### 2.6.1 Array vs Matrix Operation
#### 陣列乘積 (Array product)
- 這是 **逐元素 (element-by-element)** 的運算。
- $$\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} = \begin{bmatrix} a_{11}b_{11} & a_{12}b_{12} \\ a_{21}b_{21} & a_{22}b_{22} \end{bmatrix}$$
#### 矩陣乘積 (Matrix product)
- 這是標準的矩陣數學運算。
- $$\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} = \begin{bmatrix} a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} \\ a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22} \end{bmatrix}$$
### 2.6.2 Linear & Nonlinear Operations
- 一個運算子 $H$ 將輸入影像 $f(x,y)$ 轉換為輸出影像 $g(x,y)$,即 $H[f(x,y)] = g(x,y)$。
#### 線性運算子 (Linear Operator)
- 如果 $H[a_i f_i(x,y) + a_j f_j(x,y)] = a_i H[f_i(x,y)] + a_j H[f_j(x,y)]$,則 $H$ 稱為線性運算子。
- 例如,**總和 (Sum, $\Sigma$)** 運算子是線性的。
#### 非線性運算子 (Nonlinear Operator)
- 不滿足上述條件的即為非線性。
- 例如,**max** 運算子是非線性的(可用上點反證非線性)。
### 2.6.3 Arithmetic Operations
#### 影像間的算術運算是陣列運算,意指在對應的像素對之間進行。
- **加法:** $s(x,y) = f(x,y) + g(x,y)$
- **減法:** $d(x,y) = f(x,y) - g(x,y)$
- **乘法:** $p(x,y) = f(x,y) \times g(x,y)$
- **除法:** $v(x,y) = f(x,y) \div g(x,y)$
#### 應用:影像加法 (平均) 進行降噪
- 模型:$g(x,y) = f(x,y) + \eta(x,y)$。
- 將 $K$ 個雜訊影像平均:$\overline{g}(x,y) = \frac{1}{K}\sum_{i=1}^{K}g_i(x,y)$。
- 平均影像的標準差 $\sigma_{\overline{g}(x,y)}$ 降為 $\frac{1}{\sqrt{K}}\sigma_{\eta(x,y)}$。
- **前提:** 影像必須先**對齊 (registered)**。
#### 應用:影像減法 強化差異
- $g(x,y) = f(x,y) - h(x,y)$。
- 主要應用是**數位減法血管攝影 (Digital Subtraction Angiography, DSA)**。
- 
#### 應用:影像乘法/除法 進行陰影校正 (Shading Correction)
- 將有陰影的影像乘以陰影圖案的倒數,可得到校正後的影像。

- 乘法也可用於**感興趣區域 (ROI) 遮罩**。

#### Full Range
- 為了將結果縮放到固定的 $K$ 位元範圍($[0, K]$):
- 正規化到 $[0, 1]$,乘上 $K$
1. $f_m = f - \min(f)$ (移至 $0$)
2. $f_s = K[f_m / \max(f_m)]$ (縮放到 $K$)
### 2.6.4 Set and Logical Operations
#### Set Operations
- **聯集 ($A \cup B$)**、**交集 ($A \cap B$)**、**補集 ($A^c$)**、**差集 ($A - B$)**。
- **德摩根定律 (DeMorgan's laws):** $(A \cup B)^c = A^c \cap B^c$ 和 $(A \cap B)^c = A^c \cup B^c$。

#### Gray-Level Image Operation
- **補集 (影像負片):** $A^c = \{(x, y, 255-z) | (x, y, z) \in A\}$。
- **聯集:** $A \cup B = \{\max_z(a, b) | a \in A, b \in B\}$。

#### Logical Operation
- NOT, AND, OR, XOR

#### Fuzzy Sets
- 用於處理隸屬關係不明確的集合。
- (我看起來)非0即1的反話
- 使用**隸屬函數 (membership function)**,其值可在 0 和 1 之間漸變。
### 2.6.5 Spatial Operations
#### 單像素運算 (Single-pixel operations):**
- $s = T(z)$,$T$ 是一個轉換函數。
- 例如:影像負片 $s = (L-1) - z,\ L=2^k$。

#### 鄰域運算 (Neighborhood operation):**
- 輸出像素的值由輸入像素 $(x,y)$ 的一個鄰域 $S_{xy}$ 決定。
- 例如:**Local averaging** $g(x,y) = \frac{1}{mn}\sum_{(r,c) \in S_{xy}} f(r,c)$。

#### Geometric spatial transformations
- 兩個操作:
1. **座標的空間轉換**:$(x, y) = T\{(v, w)\}$。
2. **強度內插 (Intensity interpolation)**。
- **仿射轉換 (Affine Transform):**
- $[x, y, 1] = [v, w, 1]T$。
- 可實現**scale**、**rotate**、**translate**或**sheer**。

#### 影像對齊 (Image Registration):**
- 目的是估計轉換函數,以對齊**輸入影像**與**參考影像**。
- **繫點 (Tie points / Control points):** 是解決此問題的主要方法之一。
- 可使用**雙線性模型 (bilinear approximation)** 來求解轉換係數。
- $x = c_1v + c_2w + c_3vw + c_4$
- $y = c_5v + c_6w + c_7vw + c_8$
### 2.6.6 Vector and Matrix Operations
- 像素可以表示為向量。例如,RGB 影像的像素 $z = [R, G, B]^T$。
- **Euclidean distance:** $D(z,a) = [(z-a)^T(z-a)]^{1/2} = ||z-a||$ (vector norm)。
- **Linear Transformation:** $w = A(z-a)$。
- 一個 $M \times N$ 的影像可以被表示為一個 $MN \times 1$ 的向量 (攤平)。
- 線性過程可表示為 $g = Hf + n$。
***
此處以下內容我都不知道在幹嘛
***
### 2.6.7 Image Transforms
- 有些任務最好在**轉換域 (transform domain)** 中進行。
#### 流程
- 空間域 $f(x,y)$ $\rightarrow$ 轉換 $T(u,v)$ $\rightarrow$ 運算 $R[T(u,v)]$ $\rightarrow$ 反轉換 $g(x,y)$。
#### 2-D 線性轉換 (General Form)
- **正向轉換:** $T(u,v) = \sum_{x} \sum_{y} f(x,y) r(x,y,u,v)$
- **反向轉換:** $f(x,y) = \sum_{u} \sum_{v} T(u,v) s(x,y,u,v)$
- $r(...)$ 和 $s(...)$ 分別是**正向**和**反向**的**轉換核 (kernel)**。
#### 可分離核 (Separable Kernel)
- $r(x,y,u,v) = r_1(x,u) r_2(y,v)$。
#### 離散傅立葉轉換 (DFT) 看第四章
- 正向核: $r(x,y,u,v) = e^{-j2\pi(ux/M + vy/N)}$
- 反向核: $s(x,y,u,v) = \frac{1}{MN} e^{j2\pi(ux/M + vy/N)}$
#### 矩陣形式
- 如果核是可分離且對稱的 ($T = AFA$)。
- 反轉換為 $F = BTB$。如果 $B = A^{-1}$,則 $F$ 可以完全恢復。
### 2.6.8 Probabilistic Method
#### 強度等級 $z_k$ 出現的機率 $p(z_k)$
- $p(z_k) = n_k / (MN)$,其中 $n_k$ 是 $z_k$ 強度出現的次數。
- $\sum_{k=0}^{L-1} p(z_k) = 1$。
#### 影像特徵
- **平均強度 (Mean):** $m = \sum_{k=0}^{L-1} z_k p(z_k)$
- **變異數 (Variance, $\sigma^2$):** $\sigma^2 = \sum_{k=0}^{L-1} (z_k - m)^2 p(z_k)$
- **$n$ 階動差 (nth moment):** $\mu_n(z) = \sum_{k=0}^{L-1} (z_k - m)^n p(z_k)$
- $\mu_2(z)=\sigma^2$(變異數)可作為影像**對比度 (contrast)** 的量測。

# Chapter 3
## 3.1 Background
### 3.1.1 影像增強的兩大類別
- **空間域 (Spatial Domain):** (The image plane itself, dealing directly with pixel values)。直接對影像中的像素進行操作。
- **頻率域 (Frequency Domain):** (Deals with the image's rate of change in pixel values, often manipulated via Fourier Transform)。透過修改影像的傅立葉轉換來達成。
### 3.1.2 空間域處理 (Spatial Domain Process)
- 可表示為 $g(x,y) = T[f(x,y)]$,其中 $f(x,y)$ 是輸入影像, $g(x,y)$ 是處理後的影像,T 是在 (x,y) 點的某個鄰域 (Neighborhood - a set of pixels surrounding a central pixel) 上定義的運算子。
#### 點處理 (Point Processing)
- 最簡單的形式是當鄰域大小為 1x1。
- 轉換函式簡化為 $s = T(r)$,其中 r 是 $f(x,y)$ 的灰階,s 是 $g(x,y)$ 的灰階。
- 範例:對比度拉伸 (Contrast stretching) 和閾值處理 (Thresholding)。

#### 遮罩處理 (Mask Processing / Filtering)
- (An operation where the new pixel value depends on the values in its neighborhood, as defined by a mask or kernel)。
- 當使用大於 1x1 的鄰域時,會使用「遮罩」(mask)(也稱為濾波器 (filter)、核心 (kernel)、模板 (template) 或窗口 (window))。
## 3.2 Some Basic Gray Level Transformations

### 3.2.1 Image Negative
- 公式: $s = L - 1 - r$,適用於灰階範圍在 $[0, L-1]$ 的影像。
- 用途: 增強嵌入在黑暗區域中的 **白色或灰色細節** (例如:乳房 X 光攝影影像)。

### 3.2.2 Log Transformation (值取Log)
- 公式: $s = c \log(1 + r)$,其中 c 是常數,且 $r \ge 0$。
- 用途: 壓縮像素值變化範圍大的影像之動態範圍。例如,用於顯示 **傅立葉頻譜 (Fourier spectrum)**。

### 3.2.3 Power-Law Transformation
- 公式: $s = cr^{\gamma}$,其中 c 和 $\gamma$ 是常數。
#### Gamma ( $\gamma$ ) 的影響
- $\gamma < 1$:擴展暗態灰階,壓縮亮態灰階。適用於需要灰階擴展的影像(例如:對比度不足的 MRI 影像)。
- $\gamma > 1$:壓縮暗態灰階,擴展亮態灰階。適用於需要灰階壓縮的影像(例如:曝光過度的空拍影像)。
- 
(思考): 取Log = $\gamma < 1$
#### Gamma 修正 (Gamma Correction)
- 用於校正影像擷取、列印和顯示設備(如 CRT 螢幕)的冪律響應。

### 3.2.4 Piecewise-linear Transformation
#### Contrast Stretching (對比度拉伸)
- (Expanding a narrow range of pixel values to fill the full dynamic range)。
- 轉換由 $(r_1, s_1)$ 和 $(r_2, s_2)$ 兩個點控制。

#### Gray-Level Slicing (灰階切片)
- Highlight 特定區間,將其他非目標範圍變暗或保持不變。


#### Bit-Plane Slicing (位元平面切片)
- 突顯特定位元對影像的貢獻。
- 一個 8 位元影像可分解為 8 個 1 位元的位元平面。
- 高階位元平面(如 7 和 8)通常包含視覺上最重要的數據。
- (備註): Bit-0幾乎為噪音。

## 3.3 Histogram Processing
### 3.3.1 Histogram
- **定義:** 一個離散函式 $h(r_k) = n_k$,其中 $r_k$ 是第 k 個灰階, $n_k$ 是影像中具有該灰階的像素數量。
#### 標準化直方圖 (Normalized Histogram)
- $p(r_k) = n_k / MN$,其中 M 和 N 是影像的行列維度。
- 即 $r_k$ 出現的機率
### 3.3.2 Histogram Equalization
- **目的:** 調整影像的灰階分佈,使其直方圖盡可能均勻 (uniform)。這是一種 global 處理。
#### 轉換函式 $T(r)$ 需滿足
- (a) $T(r)$ 區間內 **single-valued** 且 **monotonically increasing** (斜率>=0)。
- (b) $T(r)$ 的值域也在 **$[0, L-1]$** 區間內。
#### Continuous Form Derivation (CDF)
1. **(PDF Relationship):** 根據機率論,輸出與輸入 PDF 之間的關係由以下公式給出:
- $p_s(s) = p_r(r) \left| \frac{dr}{ds} \right|$。
2. **(The Transformation):** 轉換 $T(r)$ 正是 $r$ 的**累積分布函式 (Cumulative Distribution Function, CDF)**:
- $s = T(r) = (L-1) \int_{0}^{r} p_r(w) dw$。
- (這裡 $w$ 是一個虛擬變數 (dummy variable),$(L-1)$ 則是用於將值域從 [0, 1] 縮放回 [0, L-1])。
3. **(Find the Derivative):** 為了使用步驟 1 的公式,我們需要 $\frac{ds}{dr}$。根據微積分基本定理,我們對 $s$ 進行微分:
-$\frac{ds}{dr} = \frac{d}{dr} \left[ (L-1) \int_{0}^{r} p_r(w) dw \right]$。
- $\frac{ds}{dr} = (L-1) p_r(r)$。
4. **(Substitution):** 現在,我們將 $\frac{ds}{dr}$ 代入步驟 1 的公式中:
- $p_s(s) = p_r(r) \left| \frac{1}{(L-1) p_r(r)} \right|$。
5. **(The Result):** $p_r(r)$ 被消去,我們得到:
- $p_s(s) = \frac{1}{L-1}$ (對於 $0 \le s \le L-1$)。
- **結論:** $p_s(s)$ 是一個**均勻機率密度函式 (uniform probability density function)**。這證明了使用 CDF 作為轉換函式,理論上可以產生一個直方圖完全均勻的輸出影像。
#### 連續範例推導 (Continuous Form Derivation - Example)
- (此範例展示如何將特定 PDF 轉換為均勻 PDF)。
1. **假設一個 PDF (Assume a PDF):**
- 假設影像的灰階強度 $r$ 具有以下 PDF:
- $p_r(r) = \begin{cases} \frac{2r}{(L-1)^2} & \text{for } 0 \le r \le L-1 \\ 0 & \text{otherwise} \end{cases}$
2. **應用 CDF 轉換 (Apply the CDF Transformation):**
- $s = T(r) = (L-1) \int_{0}^{r} p_r(w) dw = (L-1) \int_{0}^{r} \frac{2w}{(L-1)^2} dw$
- $s = \frac{2(L-1)}{(L-1)^2} \int_{0}^{r} w dw = \frac{2}{L-1} \left[ \frac{w^2}{2} \right]_{0}^{r}$
- **得到轉換函式 $T(r)$:** $s = \frac{r^2}{L-1}$
3. **驗證 $p_s(s)$ 是否均勻 (Verify Uniformity):**
- 我們需要 $\left| \frac{dr}{ds} \right|$。
- 從 $s = \frac{r^2}{L-1}$ 可得 $\frac{ds}{dr} = \frac{2r}{L-1}$,因此 $\left| \frac{dr}{ds} \right| = \left| \frac{L-1}{2r} \right|$。
- 代入 $p_s(s) = p_r(r) \left| \frac{dr}{ds} \right|$:
- $p_s(s) = \left( \frac{2r}{(L-1)^2} \right) \left| \frac{L-1}{2r} \right| = \frac{1}{L-1}$
- **驗證結果:** 輸出的 PDF $p_s(s)$ 確實是一個均勻分佈。
#### 離散形式 (Discrete Form - The Practical Implementation)
- 在數位影像中,我們處理的是離散的灰階值,因此 integral 變成 **summation**,PDF 變成標準化直方圖 $p_r(r_k) = \frac{n_k}{MN}$。
- **(Discrete CDF):** 連續轉換 $s = T(r)$ 的離散形式為:
- $s_k = T(r_k) = (L-1) \sum_{j=0}^{k} p_r(r_j)$。
- **(Pixel Count Form):** 將 $p_r(r_j) = \frac{n_j}{MN}$ 代入,得到更實用的計算公式:
- $s_k = \frac{(L-1)}{MN} \sum_{j=0}^{k} n_j$。
- (其中 $M \times N$ 是總像素數, $n_j$ 是灰階 $j$ 的像素數, $\sum n_j$ 是累積像素數)。
- **(Rounding):** 由於 $s_k$ 的計算結果通常是浮點數,但像素灰階必須是整數,因此需要將 $s_k$ 四捨五入 rounded 到 $[0, L-1]$ 範圍內最接近的整數。
#### 必考範例 (Discrete Example)
- 假設一個 3-bit 影像 ($L=8$,灰階範圍 0-7),總像素 $MN = 4096$。
- **1. 原始直方圖 (Original Histogram) & PDF:**
| $r_k$ | $p_r(r_k) = n_k / 4096$ | $n_k$ |
|:-------:|:-----------------------:|:-----:|
| $r_0=0$ | 0.19 | 790 |
| $r_1=1$ | 0.25 | 1023 |
| $r_2=2$ | 0.21 | 850 |
| $r_3=3$ | 0.16 | 656 |
| $r_4=4$ | 0.08 | 329 |
| $r_5=5$ | 0.06 | 245 |
| $r_6=6$ | 0.03 | 122 |
| $r_7=7$ | 0.02 | 81 |
- **2. 計算 $s_k$ (Discrete CDF):** 我們使用 $s_k = (L-1) \sum_{j=0}^{k} p_r(r_j)$,其中 $L-1 = 7$。
- $s_0 = 7 \times p_r(r_0) = 7 \times 0.19 = 1.33$。
- $s_1 = 7 \times (p_r(r_0) + p_r(r_1)) = 7 \times (0.19 + 0.25) = 7 \times 0.44 = 3.08$。
- $s_2 = 7 \times (0.19 + 0.25 + 0.21) = 7 \times 0.65 = 4.55$
- $s_3 = 7 \times (0.65 + 0.16) = 7 \times 0.81 = 5.67$
- $s_4 = 7 \times (0.81 + 0.08) = 7 \times 0.89 = 6.23$
- $s_5 = 7 \times (0.89 + 0.06) = 7 \times 0.95 = 6.65$
- $s_6 = 7 \times (0.95 + 0.03) = 7 \times 0.98 = 6.86$
- $s_7 = 7 \times (0.98 + 0.02) = 7 \times 1.00 = 7.00$
- **3. 四捨五入 (Rounding) & 映射 (Mapping):**
- $s_0 = 1.33 \rightarrow \text{round}(1.33) = \mathbf{1}$。
- $s_1 = 3.08 \rightarrow \text{round}(3.08) = \mathbf{3}$。
- $s_2 = 4.55 \rightarrow \text{round}(4.55) = \mathbf{5}$。
- $s_3 = 5.67 \rightarrow \text{round}(5.67) = \mathbf{6}$。
- $s_4 = 6.23 \rightarrow \text{round}(6.23) = \mathbf{6}$。
- $s_5 = 6.65 \rightarrow \text{round(6.65)} = \mathbf{7}$。
- $s_6 = 6.86 \rightarrow \text{round(6.86)} = \mathbf{7}$。
- $s_7 = 7.00 \rightarrow \text{round(7.00)} = \mathbf{7}$。
- **4. 均化後的直方圖 (Equalized Histogram):**
- (原始灰階為 0 的 790 個像素 $\rightarrow$ 映射到新灰階 1)
- (原始灰階為 1 的 1023 個像素 $\rightarrow$ 映射到新灰階 3)
- (原始灰階為 2 的 850 個像素 $\rightarrow$ 映射到新灰階 5)
- (原始灰階為 3 的 656 個像素 $\rightarrow$ 映射到新灰階 6)
- (原始灰階為 4 的 329 個像素 $\rightarrow$ 映射到新灰階 6)
- (原始灰階為 5, 6, 7 的 (245+122+81) 個像素 $\rightarrow$ 映射到新灰階 7)
- **注意:** 由於離散化和四捨五入,均化後的直方圖很少是**完美**均勻的,但它會更廣泛地分佈在整個灰階範圍內。
#### 3.3.3 Histogram Matching (會考!!!)
- Histogram Matching 允許我們**指定**一個輸出影像擁有的特定直方圖形狀 **$p_z(z)$**。
- 將輸入影像和目標直方圖**兩者**都轉換為均勻分佈,然後建立它們之間的聯繫。
#### 推導過程 (The Derivation)
1. **Input Transform:** 讓 $r$ 為輸入影像的灰階,其 PDF 為 $p_r(r)$。我們對它進行直方圖均化(CDF 轉換):
- $s = T(r) = (L-1) \int_{0}^{r} p_r(w) dw$
- 如我們所知,這個轉換會產生一個均勻分佈的 $s$。
2. **Target Transform:** 讓 $z$ 為目標(輸出)影像的灰階,其**指定**的 PDF 為 $p_z(z)$。我們也對**它**進行 CDF 轉換:
- $s = G(z) = (L-1) \int_{0}^{z} p_z(t) dt$
- 這個轉換**同樣**會產生一個(理論上)與 $T(r)$ 相同的均勻分佈 $s$。
3. **Linking the Transforms:** 既然 $T(r)$ 和 $G(z)$ 都等於同一個均勻分佈 $s$,我們可以將它們相等:
- $G(z) = T(r)$
4. **Finding the Mapping:** 找到一個從 $r$ 到 $z$ 的映射。因此,我們對 $z$ 求解:
- $z = G^{-1}[T(r)]$
- 這就是最終的**直方圖匹配轉換**。
#### 轉換流程 (Transformation Flow)
- `Input Pixel (r)` $\xrightarrow{\text{T(r) (均化)}}$ `Uniform Value (s)` $\xrightarrow{G^{-1}(s) \text{ (反CDF)}}$ `Output Pixel (z)`
#### 在實際的數位影像中,我們使用 **summation** 來代替 integral
- **步驟 1: 計算輸入影像的 CDF (Compute Input CDF)**
- 計算輸入影像的直方圖 $p_r(r_k)$。
- 計算其離散 CDF(即均化轉換 $T(r)$):
- $s_k = T(r_k) = (L-1) \sum_{j=0}^{k} p_r(r_j)$
- 將計算出的 $s_k$ 值四捨五入 (round) 到 $[0, L-1]$ 範圍內的整數。
- **步驟 2: 計算目標直方圖的 CDF (Compute Target CDF)**
- 獲取**指定**的目標直方圖 $p_z(z_q)$。
- 計算其離散 CDF(即轉換 $G(z)$):
- $G(z_q) = (L-1) \sum_{i=0}^{q} p_z(z_i)$
- 將計算出的 $G(z_q)$ 值四捨五入到整數。
- **步驟 3: 建立映射 (Create the Mapping)**
- 建立一個從 $s_k$ (步驟 1 的結果) 到 $z_q$ (步驟 2 的輸入) 的映射。
- 遍歷**每一個** $s_k$ 值 (從 $k=0$ 到 $L-1$):
- 尋找一個 $z_q$ 值,使得 $G(z_q)$ **最接近** $s_k$。
- **規則:** $z_q = \arg \min_{z_j} \{ |s_k - G(z_j)| \}$
- (如果有多個 $z_q$ 同樣接近,按照慣例選擇最小的 $z_q$ 值)。
- 儲存這個 $s_k \rightarrow z_q$ 的映射。
- **步驟 4: 應用映射 (Apply the Mapping)**
- 遍歷原始影像中的每一個像素:
1. 取得該像素的灰階值 $r_k$。
2. 使用步驟 1 的 $T(r_k)$ 找到其均化值 $s_k$。
3. 使用步驟 3 的 $s_k \rightarrow z_q$ 映射表,找到 $s_k$ 對應的 $z_q$。
4. 將該像素的新值設為 $z_q$。
- (註:實際上,步驟 1 和 3 可以合併,直接建立一個 $r_k \rightarrow z_q$ 的映射表)。
#### 此範例承接了直方圖均化(Page 37)的結果
**A. 已知條件 (Given)**
- **1. 輸入影像 $r_k$ (來自 Page 37):**
- $r_k$ 值: (0, 1, 2, 3, 4, 5, 6, 7)
- **$s_k = T(r_k)$ (步驟 1 的結果,已均化並四捨五入):**
- **$s_k$ 值: (1, 3, 5, 6, 6, 7, 7, 7)**
- **2. 指定直方圖 $p_z(z_q)$ (來自 Fig 3.22b):**
| $z_q$ (灰階) | $p_z(z_q)$ (指定機率) |
| :---: | :---: |
| 0 | 0.00 |
| 1 | 0.00 |
| 2 | 0.00 |
| 3 | 0.15 |
| 4 | 0.20 |
| 5 | 0.30 |
| 6 | 0.20 |
| 7 | 0.15 |
**B. 計算過程 (Calculation)**
- **步驟 2: 計算目標 CDF $G(z_q)$**
- 使用公式 $G(z_q) = (L-1) \sum_{i=0}^{q} p_z(z_i)$,其中 $L-1 = 7$。
- $G(z_0) = 7 \times (0.00) = 0.00 \rightarrow \mathbf{0}$
- $G(z_1) = 7 \times (0.00 + 0.00) = 0.00 \rightarrow \mathbf{0}$
- $G(z_2) = 7 \times (0.00 + 0.00 + 0.00) = 0.00 \rightarrow \mathbf{0}$
- $G(z_3) = 7 \times (0.00 + ... + 0.15) = 1.05 \rightarrow \mathbf{1}$
- $G(z_4) = 7 \times (0.15 + 0.20) = 7 \times (0.35) = 2.45 \rightarrow \mathbf{2}$
- $G(z_5) = 7 \times (0.35 + 0.30) = 7 \times (0.65) = 4.55 \rightarrow \mathbf{5}$
- $G(z_6) = 7 \times (0.65 + 0.20) = 7 \times (0.85) = 5.95 \rightarrow \mathbf{6}$
- $G(z_7) = 7 \times (0.85 + 0.15) = 7 \times (1.00) = 7.00 \rightarrow \mathbf{7}$
- **目標 CDF (四捨五入):$G(z_q) = \{0, 0, 0, 1, 2, 5, 6, 7\}$**
- **步驟 3: 建立 $s_k \rightarrow z_q$ 映射**
- 我們要將 $s_k = \{1, 3, 5, 6, 6, 7, 7, 7\}$ 映射到 $z_q$。
- 我們尋找 $z_q$ 值,使其 $G(z_q)$(步驟 2 的結果)最接近 $s_k$。
| $s_k$ (來自步驟 1) | 最接近的 $G(z_q)$ (來自步驟 2) | 對應的 $z_q$ |
| :---: | :---: | :---: |
| $s_k=1$ | $G(z_3)=1$ | **$z_q=3$** |
| $s_k=3$ | $G(z_4)=2$ (距離 1) (比 $G(z_5)=5$ 距離 2 更近) | **$z_q=4$** |
| $s_k=5$ | $G(z_5)=5$ (完美匹配) | **$z_q=5$** |
| $s_k=6$ | $G(z_6)=6$ (完美匹配) | **$z_q=6$** |
| $s_k=6$ | $G(z_6)=6$ (完美匹配) | **$z_q=6$** |
| $s_k=7$ | $G(z_7)=7$ (完美匹配) | **$z_q=7$** |
| $s_k=7$ | $G(z_7)=7$ (完美匹配) | **$z_q=7$** |
| $s_k=7$ | $G(z_7)=7$ (完美匹配) | **$z_q=7$** |
- **步驟 4: 應用 (合併 $r_k \rightarrow z_q$ 映射)**
- 將步驟 1 的 $r_k$ 與步驟 3 的 $z_q$ 直接對應起來:
| $r_k$ (原始灰階) | $\rightarrow$ $s_k$ (均化) | $\rightarrow$ $z_q$ (最終灰階) |
| :---: | :---: | :---: |
| 0 | 1 | **3** |
| 1 | 3 | **4** |
| 2 | 5 | **5** |
| 3 | 6 | **6** |
| 4 | 6 | **6** |
| 5 | 7 | **7** |
| 6 | 7 | **7** |
| 7 | 7 | **7** |
**C. 結果 (Result - Fig 3.22d)**
- 原始影像中 $p_r(0)=0.19$ 的像素 $\rightarrow$ 全部變為灰階 3。
- 原始影像中 $p_r(1)=0.25$ 的像素 $\rightarrow$ 全部變為灰階 4。
- 原始影像中 $p_r(2)=0.21$ 的像素 $\rightarrow$ 全部變為灰階 5。
- 原始影像中 $p_r(3)=0.16$ 和 $p_r(4)=0.08$ 的像素 $\rightarrow$ 全部變為灰階 6。
- 原始影像中 $p_r(5)=0.06$, $p_r(6)=0.03$, $p_r(7)=0.02$ 的像素 $\rightarrow$ 全部變為灰階 7。
- **最終的實際直方圖 (Actual Histogram) $p_z(z_k)$:**
- $p_z(3) = p_r(0) = 0.19$
- $p_z(4) = p_r(1) = 0.25$
- $p_z(5) = p_r(2) = 0.21$
- $p_z(6) = p_r(3) + p_r(4) = 0.16 + 0.08 = 0.24$
- $p_z(7) = p_r(5) + p_r(6) + p_r(7) = 0.06 + 0.03 + 0.02 = 0.11$
- **結論:** 得到的實際直方圖 (Fig 3.22d) 與我們指定的目標直方圖 (Fig 3.22b) 非常接近,證明了此方法的有效性。
### 3.3.4 Local Histogram Processing
- 像直方圖均化這樣的**全域 (global)** 方法是基於整個影像的直方圖,適用於整體增強。
- 但當影像不同區域的明暗分佈差異很大時(例如,一張同時有陰影和陽光直射的臉),全域處理會顧此失彼,無法增強所有區域的細節。
#### 解決方案 (Solution)
- 在影像中的每一個像素上,定義一個鄰域 (neighborhood),例如 3x3 或 5x5 的方框。
- **步驟 (Steps):**
1. 將鄰域的中心移動到某個像素 (x, y)。
2. 計算**該鄰域內**的直方圖。
3. 根據這個**區域直方圖 (local histogram)** 進行均化或匹配,得到一個區域轉換函式。
4. 僅使用此函式來映射鄰域**中心**像素 (x, y) 的新灰階值。
5. 將鄰域中心移動到下一個像素,重複此過程。

- **結果 (Result):**
- 這種方法可以顯著增強局部區域的細節,但計算成本非常高。
### 3.3.5 Using Histogram Statistics
#### Concept
- 影像直方圖的統計數據可以描述影像的外觀:
- **平均值 (Mean):** $m = \sum_{i=0}^{L-1}r_i p(r_i)$
- (Measures the average gray-level value, corresponding to brightness)。
- **變異數 (Variance):** $\sigma^2 = \mu_2(r) = \sum_{i=0}^{L-1}(r_i - m)^2 p(r_i)$
- (Measures the spread of gray levels, corresponding to contrast)。
#### Local Enhancement
- 我們可以在一個鄰域 $S_{xy}$ 內計算 **local mean** $m_{S_{xy}}$ 和 **local variance** $\sigma_{S_{xy}}^2$。
- 透過這些統計數據,我們可以有條件地增強像素。
- **Enhancement Formula**
- $g(x,y) = \begin{cases} E \cdot f(x,y) & \text{if } m_{S_{xy}} \le k_0 m_G,\ k_1 \sigma_G \le \sigma_{S_{xy}} \le k_2 \sigma_G \\ f(x,y) & \text{otherwise} \end{cases}$
- **Explanation**
- 只有當一個像素 (x,y) 位於一個**暗區** (local mean $m_{S_{xy}}$ 低於 global mean $m_G$) **且** 該區域具有**足夠的細節** (local variance $\sigma_{S_{xy}}$ 在 global variance $\sigma_G$ 的特定範圍內) 時,才將該像素值乘以一個常數 $E$ (例如 $E=4.0$) 來增強它。
- 否則,保持像素不變。
## 3.4 Fundamentals of Spatial Filtering
### 3.4.1 What is Spatial Filtering?
- 空間濾波涉及使用一個小的子影像(稱為**mask**、**kernel**、**filter**、**template**、**window**)。
- 這個遮罩會在影像上逐像素滑動。在影像的每一個點 (x, y) 上,濾波器的響應 (response) 是透過遮罩係數 (coefficients) 與遮罩下方的影像像素值進行運算來計算的。
### 3.4.2 Linear Spatial Filtering
- 線性濾波的響應是透過將濾波器係數 $w(s,t)$ 與其對應的影像像素 $f(x+s, y+t)$ 相乘後求和得到的。
#### 公式
- $g(x,y) = \sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t)$
- 線性空間濾波常被稱為「將遮罩與影像進行摺積 (convolving a mask with an image)」。
- 因此,濾波器遮罩也常被稱為** convolution mask** 或 **convolution kernel**。
#### 向量表示法
- 濾波操作可以簡化為兩個向量的內積 (dot product): $R = w^T z$。
### 3.4.3 相關 (Correlation) vs. 摺積 (Convolution)
#### 相關 (Correlation)
- 這就是上一節中**線性濾波**的直接定義。
- **公式:** $w(x,y)\otimes^{\wedge}f(x,y)=\sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t)$
#### 摺積 (Convolution)
- **公式:** $w(x,y)*f(x,y)=\sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x-s,y-t)$
- **關鍵差異:** 摺積在運算前,會先將濾波器 $w$ 旋轉 180 度(即 $x$ 軸和 $y$ 軸都翻轉)。
#### 特性 (Properties)
- 摺積滿足**交換律 (Commutative)** ($f*g = g*f$) 和**結合律 (Associative)** ($f*(g*h) = (f*g)*h$)。
- 相關則不滿足這些特性。
- 兩者都滿足**分配律 (Distributive)** ($f*(g+h) = f*g + f*h$)。


### 3.4.4 Example Kernels
#### 平滑核 (Smoothing Kernels)
- **方框核 (Box Kernel):** 一個所有係數皆相等的均值濾波器。
- **高斯核 (Gaussian Kernel):** 一個加權均值濾波器,權重由高斯函式決定。
#### 高斯核 (Gaussian Kernel)
- **公式:** $w(s,t) = G(s,t) = Ke^{-\frac{s^{2}+t^{2}}{2\sigma^{2}}}$。
- 離散的核心是透過對這個連續函式採樣生成的。
(看不懂下圖 呵)

(Lowpass = Low-frequency pass,模糊非邊界...等高頻細節)

### 3.4.5 Padding
#### 當濾波器中心靠近影像邊界時,遮罩的一部分會超出影像範圍。處理方法包括:
- **(Zero Padding):** 用 0 填充影像外部。
- **(Mirror Padding):** 以影像邊界為鏡像來填充外部。
- **(Replicate Padding):** 複製影像邊界的像素值來填充外部。
## 3.5 Smoothing Spatial Filters
- 平滑濾波器的輸出(響應)是濾波器遮罩鄰域內像素的平均值。
- 這些濾波器也常被稱為**均值濾波器 (averaging filters)** 或**低通濾波器 (lowpass filters)**。
- **範例 - 3x3 平滑核 (Example 3x3 Smoothing Kernels):**
- **(a) 方框核 (Box Kernel) / 非加權均值:**
- $R = \frac{1}{9}\sum_{i=1}^{9}z_{i}$
- 遮罩:$\frac{1}{9} \times \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}$
- **(b) 加權均值核 (Weighted Average Kernel):**
- 遮罩:$\frac{1}{16} \times \begin{bmatrix} 1 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 1 \end{bmatrix}$
- 每個遮罩前的常數乘數,等於 1 除以其係數的總和,這是計算平均值所必需的。
### 3.5.1 Weighted Average Filter
- 對一個 $M \times N$ 影像使用一個 $m \times n$ (m, n 為奇數) 加權平均濾波器的一般實作公式為:
- $g(x,y)=\frac{\sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t)}{\sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)}$
### 3.5.2 Examples of Linear Smoothing

- 展示使用不同大小(如 $m=3, 5, 9, 15, 35$)的方框均值濾波器(Box Kernel)對影像進行平滑處理的結果。

- a. 來自哈伯太空望遠鏡的原始影像。
- b. 使用 $15 \times 15$ 均值遮罩濾波後的影像。
- c. 對 b. 進行閾值處理 (thresholding) 後的結果。
### 3.5.3 Order-Statistics Filters
- 這類濾波器是**非線性 (nonlinear)** 空間濾波器。
- 它們的響應基於濾波器所包圍影像區域中的像素**排序 (ordering / ranking)**。
- 然後用排序結果所決定的值來取代中心像素的值。
#### 中值濾波器 (Median Filter)
- 是一種非線性操作 (nonlinear operation)。
- 對於**脈衝雜訊 (impulse noise)**(即椒鹽雜訊)特別有效。
- 濾波器通常**不會**產生新的像素值(輸出值總是來自鄰域中的某個原始值)。
- 其他流行的順序統計濾波器還包括**最大值 (max) 濾波器**和**最小值 (min) 濾波器**。

- a. 一張被**椒鹽雜訊 (salt-and-pepper noise)** 污染的電路板 X 光影像。
- b. 使用 $3 \times 3$ **均值遮罩**降噪的結果(雜訊被模糊化)。
- c. 使用 $3 \times 3$ **中值濾波器**降噪的結果(雜訊被有效去除)。
## 3.6 Sharpening Spatial Filters
### 3.6.1 Objective
- 銳利化的主要目的是突顯影像中的精細細節。
- 或是增強那些已經變得模糊的細節。
### 3.6.2 Basis: Derivatives
- 影像銳利化是透過**微分**來達成的。
#### 一階導數 (First Derivative)
- 在灰階恆定的平坦區域,其值必須為零。
- 在灰階階躍 (step) 或斜坡 (ramp) 的起始點,其值必須不為零。
- 在灰階斜坡上,其值必須不為零。
- 1D 離散定義:$\frac{\partial f}{\partial x} = f(x+1)-f(x)$。
#### 二階導數 (Second Derivative)
- 在灰階恆定的平坦區域,其值必須為零。
- 在灰階階躍或斜坡的起始點和結束點,其值必須不為零。
- 在斜率恆定的灰階斜坡上,其值必須為零。
- 1D 離散定義:$\frac{\partial^{2}f}{{\partial x}^{2}} = f(x+1)+f(x-1)-2f(x)$。
#### 關鍵特性####
- 二階導數在突顯精細細節(細線、孤立點)方面比一階導數更有效。
(必考圖!!!)

### 3.6.3 二階導數:The Laplacian
#### 概念 (Concept)
- 這是一種基於二階導數的銳利化方法。
- 最簡單的**等向性 (isotropic)**(旋轉不變性)導數運算子是**拉普拉斯 (Laplacian)**。
- 拉普拉斯是一個**線性運算子 (linear operator)**。
#### 2D Definition
- $\nabla^{2}f = \frac{\partial^{2}f}{{\partial x}^{2}} + \frac{\partial^{2}f}{\partial y^{2}}$。
#### 離散形式 (Discrete Form):**
- x 方向二階導數:$\frac{\partial^{2}f}{\partial^{2}x^{2}} = f(x+1,y)+f(x-1,y)-2f(x,y)$。
- y 方向二階導數:$\frac{d^{2}f}{d^{2}y^{2}}=f(x,y+1)+f(x,y-1)-2f(x,y)$。
- 將兩者相加,得到 2D 拉普拉斯的離散實作:
- $\nabla^{2}f = [f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)] - 4f(x,y)$。
#### 拉普拉斯遮罩 (Laplacian Masks):**
- 用於實作上述 $\nabla^{2}f$ 的濾波器遮罩:
- a. $\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{bmatrix}$
- b. $\begin{bmatrix} 1 & 1 & 1 \\ 1 & -8 & 1 \\ 1 & 1 & 1 \end{bmatrix}$ (包含對角線)
- c. $\begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \end{bmatrix}$ (另一種常見形式)
- d. $\begin{bmatrix} -1 & -1 & -1 \\ -1 & 8 & -1 \\ -1 & -1 & -1 \end{bmatrix}$ (另一種常見形式)
#### Enhancement Formula
- 拉普拉斯銳利化是將拉普拉斯影像(二階導數的結果)加回(或減去)原始影像。
- $g(x,y)=f(x,y)+c[\nabla^{2}f(x,y)]$
- $c$ 的值(+1 或 -1)取決於所使用的遮罩中心是正或負。
- 如果使用遮罩 a. 或 b.(中心為負),$c$ = -1,使公式變為 $f(x,y) - \nabla^{2}f(x,y)$。
- 如果使用遮罩 c. 或 d.(中心為正),$c$ = +1,使公式變為 $f(x,y) + \nabla^{2}f(x,y)$。

### 3.6.4 Unsharp Masking and High-Boost Filtering (看圖比較懂)
#### Concept
- 這是出版業行之有年的銳利化技術。
- 過程是從原始影像 $f(x,y)$ 中減去一個**模糊版本** $\overline{f}(x,y)$。
#### Steps
1. **模糊 (Blur):** 模糊原始影像,得到 $\overline{f}(x,y)$。
2. **計算遮罩 (Mask):** 從原始影像中減去模糊影像,得到「非銳利遮罩」 $g_{mask}(x,y)$。
- $g_{mask}(x,y)=f(x,y)-\overline{f}(x,y)$。
3. **加回 (Add):** 將遮罩(或其加權版本)加回原始影像。
- $g(x,y)=f(x,y)+k \cdot g_{mask}(x,y)$。

#### Types
- 當 $k=1$ 時,此過程稱為**非銳利遮罩 (Unsharp Masking)**。
- 當 $k>1$ 時(例如 $k=4.5$),此過程稱為**高提升濾波 (High-Boost Filtering)**。

### 3.6.5 一階導數:The Gradient
#### Concept
- 梯度 (Gradient) 是一個指向灰階變化率最快方向的 2D 向量。
- $\nabla f=grad(f)=[\begin{matrix}g_{x}\\ g_{y}\end{matrix}]=[\begin{matrix}\frac{\partial f}{\partial x}\\ \frac{\partial f}{\partial y}\end{matrix}]$。
#### Magnitude
- 梯度的**大小 (magnitude)**(即向量的長度) $M(x,y)$ 表示了在 (x, y) 點的灰階變化強度,常用於邊緣偵測。
- $M(x,y)=mag(\nabla f)=\sqrt{{g_{x}}^{2}+{g_{y}}^{2}}$。
- 為了簡化計算,常用絕對值總和來近似:
- $M(x,y)\approx|g_{x}|+|g_{y}|$。
#### Operators
- **Roberts 交叉梯度 (Roberts Operators):**
- $g_{x}=(z_{9}-z_{5})$
- $g_{y}=(z_{8}-z_{6})$
- 對應的遮罩為 $\begin{bmatrix} -1 & 0 \\ 0 & 1 \end{bmatrix}$ 和 $\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}$。
- **Sobel 運算子 (Sobel Operators):**
- 這是一種常用的 3x3 運算子。
- $g_{x}=(z_{7}+2z_{8}+z_{9})-(z_{1}+2z_{2}+z_{3})$。
- $g_{y}=(z_{3}+2z_{6}+z_{9})-(z_{1}+2z_{4}+z_{7})$。
- 對應的遮罩為:
- $g_x$: $\begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix}$
- $g_y$: $\begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix}$
- Sobel 運算子在計算導數的同時也進行了平滑(例如 $z_8$ 的權重為 2),因此對雜訊的抗干擾能力較強。

- Sobel 梯度影像,它成功地突顯了鏡片的邊緣和缺陷。
## 3.7 Frequency Domain Filter
### 3.7.1 Filters
- **低通濾波器 (Lowpass filter):**
- **(Passband):** 允許低頻通過。
- **(Stopband):** 阻擋高頻。
- **(Effect):** 平滑、模糊。
- **高通濾波器 (Highpass filter):**
- **(Stopband):** 阻擋低頻。
- **(Passband):** 允許高頻通過。
- **(Effect):** 銳利化、邊緣偵測。
- **帶斥濾波器 (Bandreject filter):**
- **(Stopband):** 阻擋特定範圍的中頻。
- **(Passband):** 允許低頻和高頻通過。
- **帶通濾波器 (Bandpass filter):**
- **(Passband):** 僅允許特定範圍的中頻通過。
- **(Stopband):** 阻擋低頻和高頻。

### 3.7.2 Spatial Domain (計算)
- 在空間域(即影像本身),這些濾波器核 (kernel) 之間有著密切的數學關係。
- 我們可以使用**單位脈衝 (unit impulse)** $\delta(x,y)$(一個中心為1、其餘為0的影像,代表原始影像)和**低通核 (lowpass kernel)** $lp(x,y)$(例如均值核或高斯核)來建構其他濾波器。
- **高通核 (Highpass Kernel):**
- $hp(x,y) = \delta(x,y) - lp(x,y)$
- **(說明):** 這正是**非銳利遮罩 (Unsharp Masking)** 的核心概念。
- `高通影像 (細節)` = `原始影像` - `低通影像 (模糊版本)`。
- **帶斥核 (Bandreject Kernel):**
- $br(x,y) = lp_1(x,y) + hp_2(x,y)$
- (一個帶斥濾波器可以由一個低通核和一個高通核組合而成)。
- **帶通核 (Bandpass Kernel):**
- $bp(x,y) = \delta(x,y) - br(x,y)$
- (一個帶通濾波器可以從原始影像中減去一個帶斥濾波器的結果得到)。
- 通常不會只使用單一種增強技術。為了達到最佳的影像效果,往往會將本章中提到的多種方法結合起來使用。

# Chapter 4
***
挺抽象,可以YT找影片看
***
## 4.1 Background
### 4.1.1 傅立葉級數 (Fourier Series)
- 任何週期性函數 (Periodic functions) 都可以表示為不同頻率的正弦 (sines) 和/或餘弦 (cosines) 的總和。
### 4.1.2 傅立葉轉換 (Fourier Transform):
- 非週期性函數 (Non-periodic functions) 可以表示為正弦和/或餘弦乘以一個權重函數的積分。
- 任何以此方式表示的函數都可以通過反向過程 (inverse process) 重建回來。

## 4.2 Preliminary Concepts
### 4.2.1 Complex Numbers
#### 定義: $C = R + jI$
- $R$ 是實部 (Real part),$I$ 是虛部 (Imaginary part)。
- $j = \sqrt{-1}$
- **共軛複數 (Conjugate):** $C^* = R - jI$
#### 極座標表示 (Polar Coordinates)
- $C = |C|(cos~\theta + j~sin~\theta)$
- **尤拉公式 (Euler's formula):** $e^{j\theta} = cos~\theta + j~sin~\theta$
- 因此,極座標可寫為: $C = |C|e^{j\theta}$
#### 幅度 (Magnitude)
- $|C| = \sqrt{R^2 + I^2}$
#### 相位角 (Angle)
- $\theta = arctan(I/R)$
### 4.2.2 傅立葉級數 (Fourier Series)
#### 函數 $f(t)$
- $f(t) = \sum_{n=-\infty}^{\infty} c_n e^{j\frac{2\pi n}{T}t}$
#### 係數 $c_n$
- $c_n = \frac{1}{T}\int_{-T/2}^{T/2} f(t) e^{-j\frac{2\pi n}{T}t} dt$
### 4.2.3 脈衝及其篩選特性 (Impulses and Their Sifting Property)
#### 連續脈衝 (Continuous Impulse) / 狄拉克δ函數 (Dirac Delta)
- $\delta(t) = \begin{cases} \infty & \text{if } t=0 \\ 0 & \text{if } t \ne 0 \end{cases}$
- 且滿足 $\int_{-\infty}^{\infty} \delta(t) dt = 1$
- **篩選特性 (Sifting Property):**
- $\int_{-\infty}^{\infty} f(t)\delta(t) dt = f(0)$
- $\int_{-\infty}^{\infty} f(t)\delta(t-t_0) dt = f(t_0)$
-
#### 離散脈衝 (Discrete Impulse)
- $\delta(x) = \begin{cases} 1 & \text{if } x=0 \\ 0 & \text{if } x \ne 0 \end{cases}$
- $\sum_{x=-\infty}^{\infty} \delta(x) = 1$
- **篩選特性 (Sifting Property):**
- $\sum_{x=-\infty}^{\infty} f(x)\delta(x) = f(0)$
- $\sum_{x=-\infty}^{\infty} f(x)\delta(x-x_0) = f(x_0)$

#### 脈衝串 (Impulse Train)
- 是一系列相隔 $\Delta T$ 的週期性脈衝的總和。
- $S_{\Delta T}(t) = \sum_{n=-\infty}^{\infty} \delta(t-n\Delta T)$

### 4.2.4 單一連續變數的傅立葉轉換 (Fourier Transform of One Continuous Variable)
#### 傅立葉轉換 (Forward Transform)
- $F(\mu) = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t} dt$
#### 反傅立葉轉換 (Inverse Transform)
- $f(t) = \int_{-\infty}^{\infty} F(\mu) e^{j2\pi\mu t} d\mu$
- 轉換後的變數 $\mu$ 是頻率,因此 $F(\mu)$ 被稱為在**頻率域 (frequency domain)**。
#### 範例 (方波轉換)
- 一個寬度為 $W$、高度為 $A$ 的方波函數。
- 其傅立葉轉換為一個 **sinc 函數**: $F(\mu) = AW \frac{sin(\pi\mu W)}{(\pi\mu W)}$
- $sinc(m) = \frac{sin(\pi m)}{(\pi m)}$

#### 傅立葉頻譜 (Fourier Spectrum)
- $|F(\mu)| = AW |\frac{sin(\pi\mu W)}{(\pi\mu W)}|$

#### 脈衝的轉換
- $\mathfrak{S}\{\delta(t)\} = 1$ (原點的脈衝在頻域中是一個常數)
- $\mathfrak{S}\{\delta(t-t_0)\} = e^{-j2\pi\mu t_0}$
#### 脈衝串的轉換
- 脈衝串的傅立葉轉換**也是一個脈衝串**。
- $\mathfrak{S}\{s_{\Delta T}(t)\} = S(\mu) = \frac{1}{\Delta T}\sum_{n=-\infty}^{\infty} \delta(\mu-\frac{n}{\Delta T})$
### 4.2.5 摺積 (Convolution)
#### 定義
- $f(t) * h(t) = \int_{-\infty}^{\infty} f(\tau)h(t-\tau) d\tau$
#### 摺積定理 (Convolution Theorem)
- 空間域的摺積 (spatial domain convolution) 等同於頻率域的乘積 (frequency domain multiplication)。
- $f(t) * h(t) \Leftrightarrow H(\mu)F(\mu)$
#### 定理的另一半
- 空間域的乘積等同於頻率域的摺積。
- $f(t)h(t) \Leftrightarrow H(\mu) * F(\mu)$
## 4.3 取樣與取樣函數的傅立葉轉換 (Sampling and the Fourier Transform of Sampled Functions)
### 4.3.1 取樣 (Sampling)
#### 取樣(採樣)過程
- 模型化為一個連續函數 $f(t)$ 與一個脈衝串 $S_{\Delta T}(t)$ 相乘。
#### 取樣後的函數
- - $\tilde{f}(t) = f(t)S_{\Delta T}(t) = \sum_{n=-\infty}^{\infty} f(t)\delta(t-n\Delta T)$
#### 每個取樣點 $f_k$ 的值
- 透過積分和脈衝的篩選特性得到的:
- $f_k = \int_{-\infty}^{\infty} f(t)\delta(t-k\Delta T)dt = f(k\Delta T)$

### 4.3.2 取樣函數的傅立葉轉換 (The Fourier Transform of Sampled Functions)
- 取樣後函數 $\tilde{f}(t)$ 的傅立葉轉換為 $\tilde{F}(\mu)$。
#### 摺積定理 (空間域的乘積等於頻率域的摺積)
- $\tilde{F}(\mu) = \mathfrak{S}\{f(t)s_{\Delta T}(t)\} = F(\mu) * S(\mu)$
- 其中 $F(\mu)$ 是 $f(t)$ 的轉換,$S(\mu)$ 是脈衝串的轉換。
- $\tilde{F}(\mu) = \frac{1}{\Delta T}\sum_{n=-\infty}^{\infty} F(\mu-\frac{n}{\Delta T})$
- 這個結果表明,一個取樣函數的傅立葉轉換,會是原始函數 $F(\mu)$ 的**無限、週期性重複**,重複的週期為 $1/\Delta T$。
### 4.3.3 取樣定理 (The Sampling Theorem)
#### 頻寬限制函數 (Band-limited function)
- 如果一個函數 $f(t)$ 的傅立葉轉換 $F(\mu)$ 在一個有限的頻率範圍 $[-\mu_{max}, \mu_{max}]$ 之外為零,則稱其為頻寬限制函數。
#### 恢復 (Reconstruction)
- 為了能從取樣後的數據 $\tilde{F}(\mu)$ 完美地恢復 $F(\mu)$,週期性的 $F(\mu)$ 副本之間必須沒有重疊。
#### 取樣定理 (Nyquist-Shannon)
- 恢復的條件是取樣率 $(1/\Delta T)$ 必須**大於**原始訊號最高頻率的兩倍。
- $\frac{1}{\Delta T} > 2\mu_{max}$
#### 過取樣 (over-sampling)**
- **臨界取樣 (critically-sampled):** $1/\Delta T = 2\mu_{max}$
- **取樣不足 (under-sampling):** $1/\Delta T < 2\mu_{max}$

### 4.3.4 混疊 (Aliasing)
- 當發生**取樣不足**時 ($1/\Delta T < 2\mu_{max}$),在頻率域中,$F(\mu)$ 的週期性副本會發生重疊 (如 Fig. 4.9c 所示)。
- 這種重疊會導致高頻訊號被誤認為是低頻訊號,從而**汙染**了原始訊號的頻譜。
- 這種現象稱為**頻率混疊 (frequency aliasing)** 或簡稱**混疊 (aliasing)**。
- 由於混疊,我們無法再使用一個理想的低通濾波器來完美地恢復 $F(\mu)$。
- **重點:** 由於沒有一個**有限持續時間**的函數可以是**頻寬完全受限**的,因此在實際應用中,混疊總是存在的。

### 4.3.5 從取樣數據重建函數 (Function Reconstruction)
#### 理想低通濾波器 (ideal lowpass filter)
- $H(\mu)$ 從 $\tilde{F}(\mu)$ 中提取 $F(\mu)$:
- $F(\mu) = H(\mu)\tilde{F}(\mu)$
- 在空間域中,這等同於 $f(t) = h(t) * \tilde{f}(t)$。
- 完整的重建公式(惠特克-香農插值公式)顯示 $f(t)$ 可以由其取樣值 $f(n\Delta T)$ 和 sinc 函數的無窮級數來表示。
## 4.4 單一變數的離散傅立葉轉換 (The Discrete Fourier Transform (DFT) of One Variable)
### 4.4.1 從連續轉換中獲取 DFT
- 連續傅立葉轉換 $\tilde{F}(\mu)$ 是週期的,週期為 $1/\Delta T$。
- 我們在 $\tilde{F}(\mu)$ 的一個週期內(例如 0 到 $1/\Delta T$)取 $M$ 個等距樣本。
- 取樣的頻率點為:$\mu = \frac{m}{M\Delta T}$,其中 $m = 0, 1, 2, ..., M-1$。
- 將此 $\mu$ 代入 $\tilde{F}(\mu)$ 的積分式,可導出:
#### 離散傅立葉轉換 (DFT)
- $F(u) = \sum_{x=0}^{M-1} f(x) e^{-j2\pi ux/M}$
- 其中 $u = 0, 1, 2, ..., M-1$。
#### 反離散傅立葉轉換 (IDFT)
- $f(x) = \frac{1}{M} \sum_{u=0}^{M-1} F(u) e^{j2\pi ux/M}$
- 其中 $x = 0, 1, 2, ..., M-1$。
#### 週期性 (Periodicity)
- DFT $F(u)$ 和 IDFT $f(x)$ 都是以 $M$ 為週期的無限週期函數。
- $F(u) = F(u + kM)$
- $f(x) = f(x + kM)$
#### 循環摺積 (Circular Convolution)
- 由於 DFT 的週期性,離散域中的摺積是**循環**的。
- $f(x) * h(x) = \sum_{m=0}^{M-1} f(m)h(x-m)$
### 4.4.2 取樣間隔和頻率間隔的關係
- 假設 $f(x)$ 是由 $M$ 個樣本組成,樣本間隔為 $\Delta T$。
#### 空間域總持續時間 (Duration)
- $T = M\Delta T$
#### 頻率域間隔 (Frequency Spacing)
- $\Delta u = \frac{1}{M\Delta T} = \frac{1}{T}$
#### 頻率域總範圍 (Frequency Range)
- $\Omega = M\Delta u = \frac{1}{\Delta T}$
#### 關係
- 頻率間隔 $\Delta u$ (頻率解析度) 與總持續時間 $T$ 成反比。
- 總頻率範圍 $\Omega$ 與取樣間隔 $\Delta T$ (或取樣率) 成反比。
# Chapter 5
## 壹、影像復原基礎與降級模型
### 1. 復原定義與目標
* **影像復原 (Restoration)**:嘗試利用對降級現象的**先驗知識 (a priori knowledge)** 來重建或恢復已被降級的影像。
* **技術方向**:朝向對降級進行建模並應用逆向過程以恢復原始影像。
### 2. 降級模型
* **空間域降級模型**:
$$\mathbf{g(x, y) = h(x, y) \star f(x, y) + \eta(x, y)} \quad \text{(Eq. 5.1-1)}$$
* $f(x, y)$:輸入影像。
* $g(x, y)$:降級影像。
* $\eta(x, y)$:加性噪聲項 (additive noise term)。
* $h(x, y)$:降級函數的空間表示。
* $\star$:空間摺積 (spatial convolution)。
* **頻域降級模型**:
$$\mathbf{G(u, v) = H(u, v) F(u, v) + N(u, v)} \quad \text{(Eq. 5.1-2)}$$
### 3. 系統特性與降級函數
* **線性運算子 (Linear Operator)**:必須同時具備**可加性** (additivity, $H[f_1+f_2] = H[f_1] + H[f_2]$, Eq. 5.5-3) 和**齊次性** (homogeneity, $H[a f_1] = a H[f_1]$, Eq. 5.5-4)。
* **位置/空間不變性 (Position/Space Invariant)**:圖像中任意點的響應只取決於輸入在該點的值,與其位置無關 (Eq. 5.5-5)。
* **脈衝響應/PSF**:如果 $H$ 是線性且位置不變的,則 $h(x, y)$ 稱為脈衝響應 (impulse response),在光學中常稱為**點擴散函數 (PSF)**。
* **降級函數 $H$ 的估計方法**:(1) 觀察 (2) 實驗 (3) 數學建模。
* **盲解摺積 (Blind Deconvolution)**:使用**估計的**降級函數進行影像復原。
* **均勻線性運動模糊**:如果假設恆定運動 $x_0(t)=at/T, y_0(t)=0$,其降級函數 $H(u, v)$ 包含 $\sin(\pi u a / T) / (\pi u a / T)$ 項。
## 貳、主要噪聲模型與統計特性
噪聲來源於影像採集或傳輸過程。
| 噪聲類型 | PDF 描述 | 平均值 $(\bar{z})$ 與方差 $(\sigma^2)$ |
| :--- | :--- | :--- |
| **高斯 (Gaussian/Normal)** | 鐘形曲線 (Eq. 5.2-1)。 | 由 $\bar{z}$ 和 $\sigma$ 定義。 |
| **瑞利 (Rayleigh)** | PDF (Eq. 5.2-2)。 | $\bar{z} = a + \sqrt{b\pi/4}$ (Eq. 5.2-3), $\sigma^2 = b(4-\pi)/4$ (Eq. 5.2-4)。 |
| **愛爾朗/伽馬 (Erlang/Gamma)** | PDF (Eq. 5.2-4)。 | $\bar{z} = b/a$ (Eq. 5.2-6), $\sigma^2 = b/a^2$ (Eq. 5.2-7)。 |
| **指數 (Exponential)** | PDF (Eq. 5.2-8)。 | $\bar{z} = 1/a$ (Eq. 5.2-9), $\sigma^2 = 1/a^2$ (Eq. 5.2-10)。 |
| **均勻 (Uniform)** | PDF 在 $[a, b]$ 之間恆定 (Eq. 5.2-11)。 | $\bar{z} = (a+b)/2$ (Eq. 5.2-12), $\sigma^2 = (b-a)^2/12$ (Eq. 5.2-13)。 |
| **衝激 (Impulse/椒鹽噪聲)** | 在 $z=a$ 或 $z=b$ 處有離散機率 $P(z)$ (Eq. 5.2-14)。 |
## 參、僅噪聲存在的空間域濾波
當只有噪聲時 $g(x, y) = f(x, y) + \eta(x, y)$ (Eq. 5.3-1)。
### 1. 均值濾波器
* **算術均值**:鄰域像素的平均值 (Eq. 5.3-3)。
* **幾何均值**:模糊程度比算術均值小。
* **諧波均值**:適用於**椒鹽噪聲 (Salt noise)**,但對胡椒噪聲 (Pepper noise) 失敗。
* **逆諧波均值 (Contraharmonic Mean)** (階數 $Q$) (Eq. 5.3-6):
* $\mathbf{Q>0}$:消除**胡椒噪聲**。
* $\mathbf{Q<0}$:消除**椒鹽噪聲**。
* 使用前必須知道噪聲是暗 (胡椒) 還是亮 (椒鹽)。
### 2. 順序統計濾波器
基於對鄰域像素的**排序 (ranking)**。
* **中值濾波器 (Median Filter)**:**非線性濾波**,對**衝激噪聲** (椒鹽) 非常有效 (Eq. 5.3-7)。重複應用會使影像模糊。
* **最大值濾波器 (Max Filter)**:減少**胡椒噪聲**。
* **最小值濾波器 (Min Filter)**:減少**椒鹽噪聲**。
* **中點濾波器 (Midpoint Filter)**:最適用於**隨機分佈噪聲**,如高斯或均勻噪聲 (Eq. 5.3-10)。
* **Alpha-trimmed Mean Filter**:刪除 $d/2$ 個最低和最高值後,對剩餘 $mn-d$ 像素求平均 (Eq. 5.3-11)。
### 3. 自適應濾波器
* **自適應局部降噪濾波器** (Eq. 5.3-12):
* $\hat{f} \approx g - \frac{\sigma_\eta^2}{\sigma_L^2} [g - m_L]$。
* 若噪聲方差 $\mathbf{\sigma_\eta^2 = 0}$,返回 $g(x, y)$。
* 若 $\mathbf{\sigma_L^2 = \sigma_\eta^2}$ (局部方差等於噪聲方差),返回算術均值。
* **自適應中值濾波器**:旨在**移除衝激噪聲**、提供平滑、**減少失真**並**保持銳利度和細節**。它會判斷中心點是否為衝激。
## 肆、已知降級函數下的頻域復原
### 1. 逆濾波 (Inverse Filtering)
* **公式**:$\hat{F}(u, v) = G(u, v) / H(u, v)$。
* **主要缺陷**:未明確處理噪聲 $N(u, v)$。當 $H(u, v)$ 接近零時,噪聲比 $N(u, v)/H(u, v)$ 會**支配**估計結果,導致不穩定。
* **解決方法**:將濾波限制在接近原點(低頻)的範圍,對結果進行低通濾波。
### 2. 維納濾波 (Wiener Filtering / 最小均方誤差, MSE)
* **目標**:最小化 $\mathbf{f}$ 與 $\mathbf{\hat{f}}$ 之間的均方誤差 (MSE) (Eq. 5.8-4)。
* **實務近似公式** (假設噪聲和原始影像功率譜之比為常數 $K$):
$$\mathbf{\hat{F}(u, v) = \left[ \frac{1}{H(u, v)} \frac{|H(u, v)|^2}{|H(u, v)|^2 + K} \right] G(u, v)} \quad \text{(Eq. 5.8-6)}$$
* $K$ 是一個必須**互動調整**才能獲得最佳值的指定常數。
### 3. 約束最小平方法濾波 (Constrained Least Squares Filtering)
* **先決條件**:只需知道噪聲的**均值**和**方差**。
* **原理**:最小化平滑度量 (如使用拉普拉斯函數 $P(u, v)$ 的傅立葉轉換) 並受到噪聲歐幾里德向量範數約束 (Eq. 5.9-3)。
* **頻域解**:涉及參數 $\gamma$,該參數必須調整以滿足約束條件。
### 4. 幾何均值濾波 (Geometric Mean Filter)
* 是維納濾波器的一種推廣。
* $\alpha=1$:**逆濾波器**。
* $\alpha=0, \beta=1$:**維納濾波器**。
* $\alpha=1/2, \beta=1$:**頻譜均衡濾波器 (Spectrum equalization filter)**。
## 伍、投影影像重建 (Computed Tomography, CT)
### 1. 投影與 Radon 轉換
* **CT 掃描儀世代**:從 G1 發展至 G7 (G5: EBCT 消除機械運動;G6: 螺旋 CT;G7: 多層 CT)。
* **射線和 (Raysum)**:$f(x, y)$ 沿直線 $x \cos \theta + y \sin \theta = \rho$ 的積分 (Eq. 5.11-3)。
* **Radon 轉換**:用 $g(\rho, \theta)$ 表示所有 $\rho$ 和 $\theta$ 值下的射線和。
### 2. 傅立葉切片定理 (Fourier-Slice Theorem)
* **定理**:投影 $g(\rho, \theta)$ 相對於 $\rho$ 的 **1-D 傅立葉轉換** $G(\omega, \theta)$,等於影像 $f(x, y)$ 的 **2-D 傅立葉轉換** $F(u, v)$ 在一條穿過原點、角度為 $\theta$ 的切片上的值。
$$\mathbf{G(\omega, \theta) = F(\omega \cos \theta, \omega \sin \theta)} \quad \text{(Eq. 5.11-11)}$$
### 3. 濾波反投影 (Filtered Backprojections)
* **重建核心**:2-D 逆傅立葉轉換推導中包含一個 $|\omega|$ 項。
* **Ramp 濾波器**:$|\omega|$ 是一個 ramp 濾波器。由於其幅度延伸至 $+\infty$,**不可積分**,因此逆傅立葉轉換未定義。
* **實際處理**:需對 ramp 濾波器進行**窗口化 (windowing)** 處理,使其在定義的頻率區間外變為零 (例如使用 Hamming 或 Hann 窗口)。
* **最終重建**:重建的圖像 $f(x, y)$ 是所有投影角度的反投影結果的總和 (Eq. 5.11-18)。
* **扇形射束 (Fan-Beam Geometry)**:扇形射束投影 $p(\alpha, \beta)$ 可以轉換為對應的平行射束投影 $g(\rho, \theta)$ 進行處理 (Eq. 5.11-31)。
```