影像縮放演算法:最鄰近、雙線性、雙三次與 Lanczos
GDESIGN
設計發布: 10 分鐘閱讀

影像縮放演算法:最鄰近、雙線性、雙三次與 Lanczos

放大影像時,必須產生原圖中不存在的新像素值;縮小影像時,則要捨棄細節,同時避免把精細圖樣變成錯誤形狀。兩者都是訊號重建與重新取樣,因此選用的濾波器會決定銳利度、模糊、混疊與振鈴現象。

日文原文發布: 2026-04-27

縮放不只是改變網格尺寸

點陣影像是有限的樣本陣列。將 100 × 100 的影像放大到 200 × 200,需要四倍的輸出像素;縮小時則必須把多個來源像素的資訊合併。

  • 放大:重建既有樣本之間的數值。
  • 縮小:先移除較小網格無法表示的頻率,再重新取樣。

把來源影像視為連續訊號的取樣結果,就能理解為什麼沒有任何一種方法適合所有影像。

Nyquist–Shannon 取樣定理與混疊

與 Harry Nyquist、Claude Shannon 相關的取樣定理指出:若要無失真地重建頻寬受限訊號,取樣頻率必須高於訊號最高頻率的兩倍。若縮小影像前沒有充分濾波,高於新 Nyquist 極限的頻率會折回較低頻率。

在影像中,這會表現為摩爾紋、鋸齒狀斜邊、閃爍細節,或精細圖樣變成另一種圖樣。因此,高品質縮圖在概念上是:

低通濾波 → 在較小網格上取樣

最鄰近:保留像素邊界

最鄰近插值法會為每個輸出座標選擇距離最近的來源像素。

output(x, y) = input(round(x / scaleX), round(y / scaleY))

它速度快,也不會產生中間色。這正是像素藝術、遮罩與許多圖表所需要的效果;但用於照片放大會產生明顯方塊,縮小時若處理不慎也會嚴重混疊。

雙線性:混合四個相鄰像素

雙線性插值會混合周圍四個像素。若 fxfy 是來源網格內的相對距離:

output = (1-fx)(1-fy) I00
       +    fx (1-fy) I10
       + (1-fx)   fy  I01
       +    fx    fy  I11

它的計算成本低,也廣泛受到繪圖硬體加速。缺點是畫面容易變柔和,尤其在反覆轉換後更為明顯。

雙三次與 Mitchell–Netravali:一系列三次濾波器

雙三次插值通常使用 4 × 4 鄰域與可分離的三次核函數。「雙三次」是一系列濾波器的統稱,而不是單一通用方法;不同參數會改變銳利度、模糊與振鈴程度。

Catmull 與 Rom 在 1974 年描述了一種局部插值樣條;Keys 在 1981 年發表廣泛採用的三次卷積公式;Mitchell 與 Netravali 則在 1988 年提出雙參數家族。其中常用的均衡設定為 B = 1/3C = 1/3

範例典型特性
Catmull–Rom銳利、通過原始樣本點,強烈邊緣附近可能振鈴
三次 B 樣條平滑且相對柔和
Mitchell–Netravali在模糊與振鈴之間取得平衡

Lanczos:加窗 sinc 濾波器

理想的頻寬受限重建核是 sinc 函數,但它的支撐範圍無限大,實作上並不實際。Lanczos 核將 sinc 乘上另一個 sinc 視窗,並把範圍限制在有限半徑內:

sinc(x) = sin(πx) / (πx)
L(x) = sinc(x) × sinc(x/a),  |x| < a

a = 2a = 3 是常見的實用選擇。Lanczos 在縮小影像時通常能保留精細細節,但強烈明暗交界可能出現亮暗光暈。增加波瓣數會提高運算量,也不保證每張影像都更好看。

如何選擇濾波器

用途實用起點
像素藝術或索引遮罩最鄰近
即時紋理顯示雙線性
一般縮圖雙三次或 Mitchell–Netravali
照片縮小Lanczos 或設計良好的面積濾波器
大幅縮小面積/方框濾波或分階段縮小
創意式大幅放大AI 超解析度,但應揭露細節是推估產生

務必檢查邊緣、細線、文字與重複圖樣。人像上看起來銳利的濾波器,可能在介面圖形上產生無法接受的光暈。

CSS image-rendering 表示偏好,不指定固定核函數

img {
  image-rendering: auto;
  image-rendering: smooth;
  image-rendering: high-quality;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

CSS Images 將這些值定義為繪製偏好,並未要求每個瀏覽器與裝置使用完全相同的數學核函數。需要保留清楚像素邊界時可使用 pixelated,並針對目標瀏覽器與縮放倍率進行測試。

AI 放大無法還原真實原貌

超解析度模型可以根據訓練資料中學到的模式,生成看似合理的紋理。這可能產生好看的結果,但新增細節是推估出來的,而不是從來源影像量測所得。

對證據、科學量測、醫療工作,或任何重視忠實度多於外觀的用途,應保留原始檔,並使用行為可記錄的確定性重新取樣方法。

重點整理

  • 縮放會重建訊號,並在新的網格上取樣。
  • 縮小時需要低通濾波,以降低混疊。
  • 最鄰近插值保留離散像素;雙線性速度快但較柔和。
  • 雙三次是一系列具有不同取捨的三次濾波器。
  • Lanczos 是實用的加窗 sinc 濾波器,畫面可很銳利但可能振鈴。
  • AI 放大會創造合理細節,並不等同於還原證據。

參考資料與來源

編輯說明

本文使用 AI 協助編輯,並於發布前由編輯確認。內容仍可能包含事實、解讀或時效上的錯誤;進行重要判斷前,請查閱所列的一手資料或官方文件。

相關工具

相關文章