高宇杰,李武森,戚云菲,陳文建
(1.南京理工大學(xué) 電子工程與光電技術(shù)學(xué)院,江蘇 南京 210094;2.澳門城市大學(xué) 數(shù)據(jù)科學(xué)學(xué)院,澳門 999078)
在移動(dòng)攝像及顯示系統(tǒng)中,當(dāng)攝像頭發(fā)生旋轉(zhuǎn)的時(shí)候,顯示屏中的畫面也會(huì)隨之產(chǎn)生不可避免的旋轉(zhuǎn),從而對(duì)目標(biāo)的觀察和操作產(chǎn)生較大的影響,此時(shí)就需要在顯示前,先對(duì)攝像頭傳輸過來的圖像進(jìn)行消旋處理。為此,本文提出了一種基于坐標(biāo)旋轉(zhuǎn)數(shù)字算法(Coordinate Rotation Digital Algorithm,CORDIC)的優(yōu)化的圖像消旋算法。
在硬件系統(tǒng)中,傳統(tǒng)的CORDIC 算法只需要通過加法和移位運(yùn)算就可以實(shí)現(xiàn)三角計(jì)算。其基本思想是用一系列與運(yùn)算基數(shù)相關(guān)的角度的不斷迭代來逼近所需旋轉(zhuǎn)的角度,從而避免三角函數(shù)表的查找操作。它的速度更快,占據(jù)的內(nèi)存量更少,每次旋轉(zhuǎn)的角度的精度也有了提升。CORDIC 算法還被用于線性、圓和雙曲函數(shù)的迭代運(yùn)算,使得硬件系統(tǒng)可以計(jì)算更加復(fù)雜的數(shù)學(xué)函數(shù),廣泛應(yīng)用于無線電、雷達(dá)和濾波器[1-3]等領(lǐng)域。隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展、電路集成度的提高,對(duì)計(jì)算速度、精度的要求也更高,而傳統(tǒng)CORDIC 算法的計(jì)算精度以及速度已經(jīng)滿足不了設(shè)計(jì)需求。為此,國(guó)內(nèi)外的學(xué)者也在通過減少迭代次數(shù)、增加計(jì)算精度、擴(kuò)展使用范圍、免去迭代因子等方法來對(duì)CORDIC 算法進(jìn)行優(yōu)化。
為了減少迭代次數(shù),文獻(xiàn)[4]提出了一種貪婪算法,通過挑選每一次的最優(yōu)解來跳過不必要的旋轉(zhuǎn),以減少迭代次數(shù),但這同時(shí)也增加了搜索模塊,使得每一次迭代的計(jì)算時(shí)間大量增加,并且使得本來固定的縮放因子變?yōu)橐粋€(gè)不確定的數(shù)。文獻(xiàn)[5]以及文獻(xiàn)[6]結(jié)合了貪婪算法以及查找表法,雖然相對(duì)于貪婪算法提升了精度,但查找表的地址依然需要對(duì)比搜索,而且縮放因子問題依然存在,并且又增加了內(nèi)存的使用。文獻(xiàn)[7]去掉了縮放因子的影響,也減少了迭代次數(shù),但