• 沒有找到結果。

Local Average 影像縮小

四、 影像縮小

4.3 Local Average 影像縮小

我們已知在作影像縮小時,需應用可變寬度的核心函數來作運算,方能夠得到比較 接近原始影像的縮小結果,而對於硬體設計來說,實作可變寬度的 Cubic Kernel,其複 雜度較高,因此,我們選用另一個可變寬度的核心函數,可以透過簡單的平均即可得出 不錯的影像縮小效果,此一方法稱之為 Local Average。

Local Average 影像縮小的基本概念如圖 4-所示,當我們需要將一維六個點的影像 訊號縮小成三個點時,則類似影像放大的情況,在考慮縮小取樣點中心位置與原始影像 頭尾像素點中心對齊的取樣分佈下,我們計算每個縮小影像的取樣點,對應到原始影像

點的寬度範圍(在此例中,寬度值為 2.5 1 3

1 6 =

− ),而後透過平均此一範圍內的原始影像

點亮度值,即可計算出縮小影像點的亮度;以第一個縮小取樣點的亮度計算為例,其亮

度值即為0.75⋅I

( )

−1 +1⋅I

( )

0 +0.75⋅I

( )

1 ,其中I

( )

⋅ 為原始影像點的亮度,為了方便邊界 條件的處理,我們令超出原始影像邊界的I

( )

−1 =0、I

( )

6 =0,同理類推,我們便可以 計算出整個縮小影像的亮度。

基於此一 Weighted Average 的處理概念,我們可以得出 Local Average 的核心函數如 圖 4-所示,此一核心函數的寬度是隨著縮小比例的不同而改變,因此當縮小越多倍時,

其寬度越寬,對應到作平均運算的原始像素點也就越多,而具有 Low-Pass Filtering 的效 果,同時 Local Average 的核心函數,是一個比 Bi-Cubic 更為簡單的核心函數,故在實 作上,也具有較為簡便的優勢。以圖 4-4 (a)之影像,作 Local Average 縮小,結果如圖 4-6 所示,我們可以發現透過 Local Average 作影像縮小的效果,與 Photoshop 作 Bi-Cubic 縮小的效果類似。

圖 4-5 一維度的 Local Average 影像縮小運算示意圖

圖 4-6 對於圖 4-4 (a)作 Local Average 影像縮小之結果。

圖 4-7 空間域上的 Local Average 核心函數。

關於二維的 Local Average 處理流程,以圖 4-8 所示之圖例來作說明,其設計構想為:

H 為縮小處理後影像之高、W 為縮小處理後影像之寬、YHi、YLo、XHi、XLo 分別為 參考 window 於原始影像之邊界座標。bufX[]及 bufY[]為暫存運算權值記憶體。對於每 個縮小影像上的點,都有對應於原始二維影像的平均範圍,由 XLo~XHi、posYLo~YHi 所包含,透過 XLo~XHi、YLo~YHi 此一已知範圍,我們便可依序計算每個平均範圍(即

二維原始影像小區域)內,個別兩個維度的平均係數。圖 4-8 例中 X 方向係數即 BufXweight[]為 0.4、1、1、0.4,而 Y 方向係數即 BufYweight[]為為 0.4、1、0.23,我們 只要儲存這兩個維度的平均係數,如此便可以將 XLo~XHi、YLo~YHi 範圍內的每一個 點,分別乘上兩個方向的係數,進而算出區域內的總和與平均,也就是說我們可將區域 內的平均係數與區域內的原始影像亮度作 Weighted Convolution,如此即可計算出每個 縮小影像取樣點的亮度,整個計算流程如圖 4-9 流程區塊所示;此一縮小設計的特點在 於,透過二維小區域 Region Buffer 的使用,儲存原始影像的區域顏色值,加上兩個一維 的平均係數計算,我們便可以快速的求出縮小影像。

圖 4-8 LocalAverage 縮小示意圖,其中紅色阿拉伯數字代表影像像素縮小後所佔 遠使影像像素之比例。

圖 4-9 二維度Local Average演算法處理流程圖。

相關文件