線性內插 Interpolation

2021-07-27 23:48:43 字數 848 閱讀 9481

當我們影象進行幾何轉換時,假使輸出畫素對映的地方,不是輸入影象某個整數畫素位置,這時要用整數座標的灰度值進行推斷,這就是插值,這邊介紹幾種插值方式,通常較好的結果也導致較大的計算量。

最近插值法(nearest neighbor interpolation):這是一種最簡單的插值演算法,輸出畫素的值為輸入影象離對映點最近的畫素值,如下圖假使(x0,y0)為對映點,則讓此點的強度值為(x1,y1)的值,這種演算法作幾何轉換時,邊緣通常有較嚴重的鋸齒狀。

雙線性插值法(bilinear interpolation):在兩個方向分別進行一次線性插值,輸出畫素的值為對映點四周的2×2畫素強度加權平均,如下圖我們簡化問題,四周位置分別為(0,0)、(1,0)、(0,1)、(1,1),強度分別為f(0,0)、f(1,0)、f(0,1)、f(1,1),(x,y)對映點強度為f(x,y),對映點到四邊的距離分別為d1、d2、d3、d4、我們依序進行以下三步驟:

對上端的兩個頂點進行線性插值得到x1的強度f(x1)。 f(x1) = f(0,0) + d1 * (f(1,0) – f(0,0))

對下端的兩個頂點進行線性插值得到x2的強度f(x2)。 f(x2) = f(0,1) + d1 * (f(1,1) – f(0,1))

由f(x1)和f(x2)來求得(x,y)的強度f(x,y)。 f(x,y)= f(x1)+ d3 * (f(x1)- f(x2))

我們擴充套件這個概念,就可得到影象所有的雙線性插值強度,這概念假設強度在兩個畫素之間是線性變化的,顯然是合理的假設,因此在一般的情況之下,雙線性插值都能得到不錯的結果。

高階插值: 在一些幾何運算中,雙線性插值的平滑作用會導致細節的退化,這些可以透過高階插值彌補,可能會採用4×4或8×8的鄰域進行加權平均。

**:

MATLAB實現雙線性內插演算法

用matlab簡易的實現雙線性內插演算法演算法,實現影象的縮放。具體的細節,程式注釋裡面裡面會有。講的還是清晰易懂 本實現 也是參考上面這篇博文的講解實現的 雙線性插值實現 f x,y w1 p1 w2 p2 w3 p3 w4 p4 p1,p2,p3,p4是與 x,y 最近的四個畫素點 w1,w2,...

離散訊號的抽取和內插例題 抽取和內插

多速率訊號處理及抽取和內插 一 多速率訊號處理 在訊號處理系統中有時需要不同的抽樣率,這樣做的目的有時是為了適應不 同系統之間的級聯,以利於訊號的處理 編碼 傳輸和儲存,有時則是為了節省 計算工作量。資料速率的轉換兩種途徑 數碼訊號 數模轉換 模擬訊號 模數轉換 另一抽樣率抽樣 數字訊號處理 數字訊...

內插濾波器

看到別人寫的文章,總結一下內插濾波器。就是在已經取樣後的訊號中,生成取樣率更高的訊號。也就是要縮小取樣間隔,提高取樣率。方法分為兩部分 1,將原先的訊號中間補零,2,將補零的訊號通過乙個合適的濾波器,濾波器的通帶要比較大,至少為內插係數 原訊號通帶頻寬。今天遇到的主要問題是對於都卜勒效應的外插,這個...