雙線性插值 推導和應用

2021-09-24 21:10:28 字數 1813 閱讀 5758

先來個新人的愚蠢問題:(這些都是本人之前不理解的 - -!)

為什麼要使用雙線性插值,它有何應用?

輸入時什麼,輸出是什麼?

先回答第乙個問題-----

在一幅2*2的影象中已知四點的畫素值,那麼如果我們要放大1/2變為右圖所示,四個角的畫素值不變,新增的5個畫素該取什麼值呢。所以這就是我們要處理的具體應用場景。

先來理解線性插值,理解了這個後雙線性就可以類推了。

首先化為數學問題分析條件:

一幅圖中,  已知:兩個點(點具有座標資訊和點所取的值) ,求在兩點直線上的一點的值(已知位置資訊,值為未知數),

數學好的人心中大概已經知道該怎麼求b的值了 ~~

由於三角形相似 所以求b的值可用下面公式

然後將這個公式展開,化簡就可以得到如下公式

那知道了線性插值之後,那再講雙線性就非常easy的了 = =

首先,既然有了線性插值那我們為什麼還需要雙線性插值??

很簡單,線性插值,插的值都是在兩點連線上的點,而如果在二維平面上。我們要插入的點並不在連線上,這時候就引入雙線性插值。

先來一張大家都很眼熟的圖

然後接著分析;  已知四個點的值和對應四個點的位置,我們求p點的對應值。

思路:將求解過程拆兩步,先用已知的兩個點,加上p點的乙個位置資訊x座標值,求對應r1和r2;      然後利用r1,r2作為已知兩點加上p點的位置資訊y座標,求得最終p點的值。

步驟一 : 和線性插值一樣的道理,q11和q21作為已知點,求q11和q21線上的r1點的值

直接利用線性插值的公式帶入 即可求出r1的值

步驟二:利用q12和q22作為已知點,求q12和q22線上的r2點的值

步驟三:利用r1和r2作為已知點,求r1和r2線上的p點的值

ps:先進行x軸計算和先進行y軸計算最終得到的答案是一樣的。

這樣就完成一次雙線性插值。那回到最初的應用場景。

這該如何插值呢?很簡單-----由於畫素與畫素間距離都是1,所以只需求兩個之間的平均即可。

那在這種場景中,雙線性的優勢並沒有體現出來,下面列舉另乙個場景:

假如在一幅4*4的中,我們需要提取乙個3*3的目標,該目標出現在如圖裡面的位置,那麼3*3的9個畫素點值都得通過周圍4個已知點進行雙線性插值求得。

注意並不是方塊代表畫素點,這裡使用交點代表畫素點。也就是在4*4中定位3*3位置的畫素。

最後再回到開頭提到的第二個問題。

我們雙線性插值輸入是四個點的值和四點內一點的位置。

輸出是該位置點的值。

雙線性插值 推導和應用

先來個新人的愚蠢問題 這些都是本人之前不理解的 為什麼要使用雙線性插值,它有何應用?輸入時什麼,輸出是什麼?先回答第乙個問題 在一幅2 2的影象中已知四點的畫素值,那麼如果我們要放大1 2變為右圖所示,四個角的畫素值不變,新增的5個畫素該取什麼值呢。所以這就是我們要處理的具體應用場景。先來理解線性插...

線性插值和雙線性插值

線性插值 如果你只處理分離的資料 想知道分離點之間的某些值,需要用到某種型別的插值。這種情況如圖5 17座標所示。對某些分離的 整數 x值,你知道y值。當x 2,你知道y 10,x 3時y 30。但你不知道x 2.7時的y值。使用線性插值,你通過連線兩點的線段找到x 2.7對應的y值,如圖1所示。使...

雙線性插值

雙線性插值作為opencv中預設使用的影象縮放演算法,其效果和速度都是不錯的。並且效果也比較穩定,計算複雜度並不算太高。我看了很多網上的演算法,自己也沒看太懂,下面是從網上找的雙線性插值 演算法的講解。影象的雙線性插值放大演算法中,目標影象中新創造的象素值,是由源影象位置在它附近的2 2區域4個鄰近...