1. 程式人生 > >理解影象處理中的 雙線性內插法(圖文說明)

理解影象處理中的 雙線性內插法(圖文說明)

此文章轉載自網路,同時自己理解修改註釋一番,水平有限,如有錯漏請提出指正
tag: 雙線性插值,雙線性內插法,影象插值法

1 . 為什麼要用影象的插值?

在影象的放大和縮小的過程中,需要計算新影象畫素點在原圖的位置,如果計算的位置不是整數,就需要用到影象的內插,我們需要尋找在原圖中最近得畫素點賦值給新的畫素點,這種方法很簡單是最近鄰插法,這種方法好理解、簡單,但是不實用,會產生是真現象,產生棋盤格效應,更實用的方法就是雙線性內插,作為最基本的影象處理演算法之一,這些演算法在Photoshop中都可以設定。
要用此法,線要理解,才能用得得心應手。

2. 從最基本的基礎立即開始:一維線型插值法

如下圖所示,我們最瞭解的直線之間從插值示意圖。

一維線性插值示意圖

我們已經知道(x0,y0)與(x1, y1)的值,並且已知 x 的值,要求 y 的值。根據初中的知識:

公式1

就是直線上的點,正切值,是一樣的,下面進行變換,讓x軸上的比例為一個a:

公式2

再變換,我們要求出y:

公式3

3. 二維線型插值法的理解(圖文說明)

雙線性插值是做了二次一維的線性插值,我們用四個最近鄰估計給定的灰度。我們新影象的畫素點對應輸入影象的(u0 , v0)(u0,v0不是整數),則其必定落在原始影象四個畫素點中間。四個畫素點分別是(u’ , v’ )、(u’ , v’ +1)、(u’+1 , v’ )、(u’ +1, v’+1 )。如下圖1所示:

(圖中,u ,v 分別是平面上的位置座標, g軸是色深,也就是可以想象為顏色值的座標)

圖1
圖一

如圖1所示:在紅色平面內,在紅色平面內,只有u’ 是變數,v’ 是常值,連線 g(u’ , v’ )、 g(u’+1 , v’ ),相當於做一次一維線性插值,求出 g(u0, v’ )的值。同理,如圖3中,在藍色的平面內我們可以再做一次一維線性插值,求出g(u0, v’ +1)的值。同理如圖4,在黑色的平面內,我們可以求出(u0, v0)對應的值g(u0, v0)的值。(雙線性插值就是分別在 u、v方向上做線性插值)數學推導過程如下:(圖中用線圈起來的就是代表每一個公式)

圖2
圖二

圖3
圖三

圖4
圖四

最後的推導公式:

總推導公式