圖像插值
目前,終端顯示器都由點陣的像素點構成,在表現非水平或者豎直的直線時,必然會出現直線的歪曲,即鋸齒效應。位圖經過縮放、旋轉等變換,都會使鋸齒效應增強。尤其當顯示分辨率過低時,在表現非水平或豎直的直線以及明顯邊緣時,離散的像素點間灰度值缺少過渡,會有很明顯的鋸齒。對於這種情況,我們需要對圖像邊緣進行柔化處理,使圖像邊緣看起來更平滑,更接近現實。
同樣的,依空間坐標變換方法,計算得到的對應點坐標通常不是整數,如果簡單地使用取整或者最鄰近插值的方法得到目標圖像,目標圖像會有比較明顯的鋸齒效應。對於這個問題,在處理過程中通常是采用雙線性插值或雙三次插值。在均衡算法速度與圖像質量的情況下,更傾向於使用雙三次插值方法來完成圖像處理中的灰度級插值。
最近鄰插值
最近鄰插值算法又稱零階插值,它是一種比較容易實現且算法復雜度較低的插值算法,其原理是取待插值點周圍4個相鄰像素點中歐式距離最短的一個鄰點的灰度值作為該點的灰度值。由於僅用對該插值點影響最大的(即最近的)像素的灰度值作為該點的值,沒有考慮其他相鄰像素的影響,因此插值后得到的圖像容易產生塊效應,造成圖像模糊,放大效果一般不夠理想。
雙線性插值
雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。其原理是待插點像素值取原圖像中與其相鄰的4個點像素值的水平、垂直兩個方向上的線性內插,即根據待采樣點與周圍4個鄰點的距離確定相應的權重,從而計算出待采樣點的像素值。
根本上來說,雙線性插值算法是一種加權算法,如圖所示。它以到最近四個像素點的距離為參考權值,經兩次線性插值,綜合得到當前點的灰度值。
計算公式如下:
從公式中我們可以看出,目標點的灰度值由周圍四個像素點依權值取平均得到,有低通濾波的效果,故而能夠起到抗鋸齒的效果。
但此種插值方法中沒有考慮相鄰點間灰度值變化率的影響,因此具有低通濾波器的性質,會使放大后圖像的重要細節受到損失,圖像變得模糊不清。
------------------------------------------------------------------------------------------------------------------
雙線性插值公式:
矩陣表示:
與這種插值方法名稱不同的是,這種插值方法的結果通常不是線性的,它的形式是:
插值的結果與插值的順序無關。首先進行 y 方向的插值,然后進行 x 方向的插值,所得到的結果是一樣的。
【轉載自】
雙線性插值 - 木lin木 - 博客園 https://www.cnblogs.com/linkr/p/3630902.html
【參考文獻】
【其他】
圖像插值----雙線性插值完全解析 - CSDN博客 https://blog.csdn.net/u013355826/article/details/56680521
數字圖像處理之雙線性插值 - 海上的風 - 博客園 https://www.cnblogs.com/sdxk/p/4056223.html
最臨近、雙線性、三次卷積插值算法比較 - CSDN博客 https://blog.csdn.net/zhangyuehuan/article/details/44939115
雙線性插值和雙三次插值 - CSDN博客 https://blog.csdn.net/datase/article/details/80576054
圖像旋轉 雙線性插值 c++ - CSDN博客 https://blog.csdn.net/Chunfengyanyulove/article/details/50218599
雙線性插值-圖像旋轉 - CSDN博客 https://blog.csdn.net/wuminmatlab/article/details/43305847
【文件】