圖像插值算法


圖像插值算法

圖像分類、目標檢測、圖像分割、目標跟蹤等是目前計算機視覺應用比較廣泛的領域,其中圖像分類是計算機視覺中的基礎任務。進行圖片分類之前,需要通過圖像插值算法將圖片轉換成指定的尺寸。常用的圖像插值算法有最近鄰法、雙線性插值、三次插值法等。


圖像插值算法

opencv實現的圖像插值算法

最近鄰法

最近鄰法是圖像插值算法中最簡單的一種,只需將轉換後像素點的座標映射到原始圖片座標中,將原始圖中距離該點最近的像素點灰度值賦值給轉後的像素點。例如,將3x3的圖片轉換成4x4的圖片,轉後後圖片(3,3)像素點對應於原始圖像素點座標為(3*3/4=2.25,3*3/4=2.25),在原始圖中與其最近的像素點座標為(2,2),即將原始圖(2,2)像素點灰度值賦值給(3,3)像素點。

圖像插值算法

最近鄰法

對於最近鄰法,轉後後圖片像素點與原始圖片像素點存在一對多(縮小)或多對一(放大)關係,在灰度值變化區域可能出現不連續現象,造成圖片失真,因此用的較少。

圖像插值算法

最近鄰法放大的lena圖片

雙線性插值


與最近鄰法不同,雙線性插值法是將映射後的像素點在鄰域像素點內同時在高度與寬度方向上進行插值處理。如圖所示,要求出(i+u,j+v)像素點的灰度值,首先根據線性插值求出(i+1,j+v)及(i,j+v)處的灰度值,其灰度值分別為v*(f(i+1,j+1)-f(i+1,j))+f(i+1,j)及v*(f(i,j+1)-f(i,j))+f(i,j);在對(i+1,j+v)及(i,j+v)進行線性插值求出(i+u,j+v)處的灰度值,為(1-u) * (1-v) * f(i, j) + (1-u) * v * f(i, j+1) + u * (1-v) * f(i+1, j) + u * v * f(i+1, j+1)。

圖像插值算法

雙線性插值將變換後的圖片在高度及寬度方向上進行插值,保持了原始圖片良好的連續性,但計算量較大。

圖像插值算法

雙線性插值方法的lena圖片

三次插值法

三次插值法利用三次多項式S(x)逼近最佳插值函數sin(x)/x

圖像插值算法

待求像素(i+u,j+v)的灰度值由其周圍16個灰度值加權內插得到,其灰度值為ABC,其中ABC分別為

圖像插值算法

由於同時對像素點周圍鄰域內16個點進行插值處理,三次插值法計算量大於上述兩種,但效果優於最近鄰法及雙線性插值法。

圖像插值算法


分享到:


相關文章: