1. 程式人生 > >幾何角度理解線性插值和雙線性插值

幾何角度理解線性插值和雙線性插值

表示 兩種 容易 灰度 圖片 技術分享 方塊 描述 浮點

已知兩個點的坐標為\((x0,y0)\)\((x1,y1)\),他們呈簡單的線性關系(或者近似)。帶求坐標x落在\((x0,x1)\)之間,求y。
技術分享圖片
如上圖白色的線。
從幾何角度有兩種方法,一是相似三角形,二是斜率相等。下面使用相似三角形可知:
\[ {y-y0 \over x-x0} = {y1-y\over x1-x} \]
從而可得
\[ y = {(x1-x)y0+(x-x0)y1\over x1-x0} \]

上面是線性插值的描述

已知圖像上一點,其坐標是浮點數,求其灰度值。如下圖:
技術分享圖片

a00,a10,a01,a11是相鄰的像素點,其灰度值都已知,求axy的灰度值。
從直觀上看,axy的灰度值由另外四個像素的灰度值的一部分組成。若假設axy在另外四個像素中的面積的比重與灰度值所占比重呈線性關系,則很容易求出其灰度值來。
技術分享圖片

首先,將坐標原點平移到a11。並假設a11的坐標為\((x0,y0)\)。然後,將所有像素邊長假設為1(歸一化)。則可以求出來新像素的四個頂點。然後,依據其頂點坐標,求出面積。
因為像素邊長已經歸一化,故其面積為1。因此,求出的四個小方塊的面積即表示其在該像素中所占的比重。
\[ q = (x-x0)(y-y0)q00 + (x+1-x0)(y-y0)q10 + (x-x0)(y+1-y0)q01+(x+1-x0)(y+1-y0)q11 \]

上式的值,與一般的雙線性插值算出來的值是一樣的。

幾何角度理解線性插值和雙線性插值