文章目錄
- 一、簡介
- 二、實現代碼
- 三、實現效果
- 參考資料
一、簡介
在數學中,雙三次插值是三次樣條插值(一種將三次插值應用于數據集的方法)的擴展,用于在二維規則網格上插值數據點。插值曲面(指核形狀,而非圖像)比通過雙線性插值或最近鄰插值獲得的相應曲面更平滑。雙三次插值可以使用拉格朗日多項式、三次樣條函數或三次卷積算法來實現。在圖像處理中,當速度不是問題時,圖像重采樣時通常選擇雙三次插值,而不是雙線性插值或最近鄰插值。雙線性插值僅考慮 4 個像素(2×2),而雙三次插值則考慮 16 個像素(4×4)。不過使用雙三次插值重采樣的圖像可能會產生不同的插值偽影,這取決于我們對其中系數的設置,OpenCV中默認設置為-0.75,而MATLAB中則是-0.5。
雙三次插值使用一個三次函數來逼近圖像表面。對于目標點 (x,y),其像素值 p(x,y)通過以下公式計算:
p ( x , y ) = ∑ i = ? 1 2 ? ∑ j = ? 1 2 p ( i , j ) ? w ( x ? i ) ? w ( y ? j ) p(x,y)=\sum_{i=-1}^{2}? \sum_{j=-1}^{2} p(i,j)?w(x?i)?w(y?j)