「圖像濾波 (Image Filtering)」是圖像處理中的一項基本操作,它通過修改圖像中像素的值來達到特定的目的,例如平滑圖像、銳化圖像、去除噪聲或提取某些特徵(如邊緣)。
你可以將圖像濾波想像成通過一個「濾鏡」來看圖像,這個濾鏡會以某種方式改變圖像的外觀。
圖像濾波的工作原理:圖像濾波通常通過在圖像上滑動一個小的矩陣(稱為濾波器 (filter)、核 (kernel) 或 掩模 (mask))來實現。這個濾波器定義了一組權重,這些權重將被應用到濾波器中心像素及其周圍鄰近像素的值上,計算出中心像素新的值。
具體來說,對於圖像中的每一個像素,濾波器會覆蓋在其周圍的一個區域(由濾波器的大小決定)。然後,將濾波器中的每個權重與對應位置的像素值相乘,最後將所有乘積相加得到一個新的值,這個新值就成為輸出圖像中對應中心像素的值。
濾波器的種類:
圖像濾波器可以根據其作用和特性進行分類:
- 線性濾波器 (Linear Filters): 輸出像素的值是輸入像素值的線性組合。常見的線性濾波器包括:
- 平滑濾波器 (Smoothing Filters) / 模糊濾波器 (Blurring Filters): 用於減少圖像中的噪聲或平滑圖像。常見的類型有: 均值濾波器 (Mean Filter): 將中心像素的值替換為其鄰域像素值的平均值。 高斯濾波器 (Gaussian Filter): 使用高斯函數作為權重,對鄰域像素進行加權平均,越靠近中心的像素權重越大,能有效地減少噪聲且保留較多圖像細節。 銳化濾波器 (Sharpening Filters): 用於增強圖像的邊緣和細節,使圖像看起來更清晰。常見的類型有: 拉普拉斯算子 (Laplacian Filter): 強調圖像中快速變化的區域,可以用於邊緣檢測和銳化。 Unsharp Masking: 通過從原始圖像中減去一個模糊版本來增強邊緣。 邊緣檢測濾波器 (Edge Detection Filters): 用於突出圖像中的邊緣。我們之前討論過的 Sobel、Prewitt 和 Roberts 算子都屬於這類濾波器。
- 非線性濾波器 (Non-linear Filters): 輸出像素的值不是輸入像素值的線性組合。常見的非線性濾波器包括:
- 中值濾波器 (Median Filter): 將中心像素的值替換為其鄰域像素值的中位數。中值濾波器在去除椒鹽噪聲(圖像中隨機出現的黑白點)方面非常有效,並且能很好地保留圖像的邊緣信息。 最大值/最小值濾波器 (Max/Min Filters): 將中心像素的值替換為其鄰域像素值的最大值或最小值。可用於擴張或腐蝕圖像中的亮區或暗區。
濾波器的選擇和參數:
選擇哪種濾波器以及濾波器的參數(例如大小、權重)取決於具體的應用目的和圖像的特性。例如,對於需要去除大量噪聲的圖像,可能需要使用較大的平滑濾波器;而對於需要突出圖像細節的應用,則可能需要使用銳化濾波器。
總結來說,圖像濾波是一種通過應用定義了權重的濾波器(核)到圖像的每個像素及其鄰域來修改像素值的過程,可以用於實現各種圖像處理效果,例如平滑、銳化和邊緣檢測。