天天看點

FPGA圖像處理5_基礎功能_雙線性插值(原理)

雙線性插值

雙線性插值是常用的插值算法,是許多圖像處理算法的組成部分。

雙線性插值由包圍目前目标像素點的4個像素點的數值通過與目前像素點的相對位置偏移進行插值計算。

如下圖所示:

FPGA圖像處理5_基礎功能_雙線性插值(原理)

由 4 個紅點的數值通過雙線性插值計算中間綠點的數值 g。

公式如下:

g = ( w − x w × h 00 + x w × h 01 ) × h − y h + ( w − x w × h 10 + x w × h 11 ) × y h g=(\frac{w-x}{w}\times h00+\frac{x}{w}\times h01)\times\frac{h-y}{h}+(\frac{w-x}{w}\times h10+\frac{x}{w}\times h11)\times\frac{y}{h} g=(ww−x​×h00+wx​×h01)×hh−y​+(ww−x​×h10+wx​×h11)×hy​

在 FPGA 實作時,為了不進行除法計算,最好通過算法設計将 w × h w\times h w×h 的數值設定為 2 的指數,這樣就可以通過截去低位的方法實作除法。

在 sysgen 中使用 Slice 子產品截去低位時使用與二維卷積濾波相同的截位辦法。

乘法系數及輸入的 4 個像素點值根據算法設計取得。

具體的 sysgen 實作可以參考後續的自适應直方圖均衡一文的說明。