• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DSP的雙線性插值算法在圖像旋轉(zhuǎn)中的應(yīng)用?

      2020-06-11 14:42:16
      艦船電子工程 2020年3期
      關(guān)鍵詞:像素點(diǎn)插值灰度

      (成都理工大學(xué)信息與通信工程系 成都 610059)

      1 引言

      數(shù)字圖像處理,顧名思義,是完全用數(shù)字化的方式來記錄圖像信息的。又稱為計(jì)算機(jī)圖像處理,就是指用計(jì)算機(jī)及其他相關(guān)的數(shù)字技術(shù),對數(shù)字圖像施加某種或某些運(yùn)算和處理,從而達(dá)到某種預(yù)期的處理目的。例如圖像的數(shù)字變換中的幾何變換——圖像旋轉(zhuǎn),它利用插值算法對輸入圖像進(jìn)行加工得到輸出圖像[1~2]。若是采用傳統(tǒng)的縮放算法處理圖像,圖像放大后有很嚴(yán)重的馬賽克,縮小后有很嚴(yán)重的失真,圖像效果不好,但是采用雙線性插值算法卻能較真實(shí)地反映圖像信息[3]。

      此外,雙線性插值算法在其他領(lǐng)域也有著較好的應(yīng)用,例如:程相正指出插值技術(shù)能夠保持圖像原始信息的同時(shí)顯著提高圖像分辨率,增加圖像清晰度的優(yōu)點(diǎn),并將雙線性插值算法應(yīng)用于提高低分辨率傳感器所成圖像的分辨率[4]。王偉強(qiáng)通過分片線性插值與雙線性插值對比得出,雙線性插值算法滿足解算精度和時(shí)間精度要求,更適用于裝定器的彈道解算[5]。張紅梅將雙線性插值算法應(yīng)用于姿態(tài)畫面俯仰刻度線數(shù)值、傾斜角指示三角的繪制,證明該算法適用于任何圖像的旋轉(zhuǎn)、平移變換,計(jì)算量適中且得到的圖像質(zhì)量高[6]。Timofeeva,N.E.提出了一種改進(jìn)的雙線性插值算法,利用方向場理論對數(shù)字圖像進(jìn)行校正與圖像增強(qiáng)[7]。Bruns,Angelika將雙線性插值算法與有理Krylov算法相結(jié)合,構(gòu)成雙線性模型降價(jià)方法,用于保持參數(shù)系統(tǒng)的穩(wěn)定性。Li W為了解決使用了一個(gè)簡單的雙線性插值作為觀察所造成的多重網(wǎng)格三維變分(3DVAR)格式成本函數(shù)中的映射算子,而采用了數(shù)據(jù)同化方案[8]等。諸如此類的應(yīng)用和研究還有很多,這足以說明雙線性插值算法的應(yīng)用越來越廣泛,本文將著重介紹雙線性插值算法在圖像旋轉(zhuǎn)中的應(yīng)用。

      2 系統(tǒng)設(shè)計(jì)

      2.1 圖像旋轉(zhuǎn)

      圖像旋轉(zhuǎn)的原理就是讓目標(biāo)圖像按照指定角度旋轉(zhuǎn)相應(yīng)的度數(shù),但是坐標(biāo)點(diǎn)離中心的位置卻不會改變,只是圖像在位置上發(fā)生變化。設(shè)計(jì)中的旋轉(zhuǎn)變換包括旋轉(zhuǎn)公式和雙線性插值公式,雙線性插值算法的原理是將待求像素點(diǎn)的灰度值取為與它相鄰的四個(gè)點(diǎn)的灰度值在行和列兩個(gè)方向上的線性內(nèi)插[9]?,F(xiàn)以平面坐標(biāo)的旋轉(zhuǎn)變換為例,簡述圖像旋轉(zhuǎn)原理如下:在下圖坐標(biāo)系下,設(shè)y軸向上為正方向,x軸向右為正方向,圖像的寬和高分別x size、y size,從坐標(biāo)系內(nèi)任選一點(diǎn)(x0,y0),該點(diǎn)經(jīng)過旋轉(zhuǎn)后產(chǎn)生新的坐標(biāo)(x1,y1)。并且點(diǎn)(x0,y0)與原點(diǎn)相距r,先將該點(diǎn)與原點(diǎn)相連,再與x軸相連,測得夾角為α,令旋轉(zhuǎn)角度為θ[10],旋轉(zhuǎn)示意圖如圖1。

      圖1 圖像旋轉(zhuǎn)

      旋轉(zhuǎn)前:

      旋轉(zhuǎn)后:

      雙線性插值算法的示意圖如圖2,以圖像中心為坐標(biāo)原點(diǎn),假設(shè)在經(jīng)過旋轉(zhuǎn)后圖像的坐標(biāo)為P(x,y)。圖中各點(diǎn)的坐標(biāo)分別為:Q11(x1,y1)、Q12(x1,y2)、Q21(x2,y1)、Q22(x2,y2),p=x-[x],q=y-[y],x1=[x]、y1=[y],其中[m]表示不超過m的最大整數(shù)。

      圖2 雙線性插值算法

      先做一次X方向上的插值,由點(diǎn)Q11(x1,y1)和Q21(x2,y1)的灰度值得到點(diǎn)R1(x,y1)的灰度值為

      再做一次X方向上的插值,由點(diǎn)Q12(x1,y2)和Q22(x2,y2)的灰度值得到點(diǎn)R2(x,y2)的灰度值為

      由R1和R2的灰度值在Y方向上做一次插值,得到P點(diǎn)的灰度值為:

      此時(shí) d(x,y)、d(x1,y1)、d(x1,y2)、d(x2,y1)、d(x2,y2)分別代表點(diǎn)P、Q11、Q12、Q21、Q22的灰度值。

      若是要考慮圖像的動(dòng)態(tài)旋轉(zhuǎn),則需要建立在圖像單次旋轉(zhuǎn)的前提下,在程序中通過對圖像輸入輸出的賦值、循環(huán)運(yùn)算。在圖像旋轉(zhuǎn)基礎(chǔ)上加入的圖像動(dòng)態(tài)旋轉(zhuǎn),實(shí)現(xiàn)特定場合的實(shí)時(shí)圖像采集和旋轉(zhuǎn)一體化設(shè)計(jì),極大地提高了系統(tǒng)的實(shí)時(shí)性,增強(qiáng)了系統(tǒng)的可擴(kuò)展性[11]。

      2.2 圖像縮放旋轉(zhuǎn)

      圖像的縮放原理與旋轉(zhuǎn)原理類似,通過原始圖像和比例因子得到新圖像的大小,并創(chuàng)建新圖像[12]。圖像縮放功能是一種最基本的功能,數(shù)字圖像的縮放方法以及圖像經(jīng)過縮放以后的質(zhì)量,對于整個(gè)系統(tǒng)的性能和質(zhì)量都是至關(guān)重要的[13]。圖像放大雖然讓局部圖像更容易觀察,但是卻會使圖像變得不清晰。圖像縮小則會增強(qiáng)圖像的清晰度。完整的算法可描述為假設(shè)fx為橫向縮放因子,fy為縱向縮放因子,要把原圖的點(diǎn)映射到新圖中去的變換如下,其中兩點(diǎn)的坐標(biāo)分別為(x0,y0)、(x1,y1),坐標(biāo)之間的對應(yīng)關(guān)系為

      3 實(shí)驗(yàn)結(jié)果與分析

      3.1 實(shí)驗(yàn)結(jié)果

      1)圖像旋轉(zhuǎn)

      以灰度圖為處理圖像,進(jìn)行一定度數(shù)的連續(xù)旋轉(zhuǎn),并截取其中的從15°~45°的部分圖像,結(jié)果如下:

      圖3 旋轉(zhuǎn)結(jié)果圖

      2)圖像的縮放旋轉(zhuǎn)

      同樣以灰度圖像為處理圖像,經(jīng)過多次試驗(yàn)后發(fā)現(xiàn),當(dāng)縮放因子為0.7時(shí),圖像才能盡可能不旋轉(zhuǎn)出矩形框范圍。圖4的旋轉(zhuǎn)度數(shù)分別為:45°、90°和135°。

      3.2 結(jié)果分析

      圖3(b)、4(b)作為單次旋轉(zhuǎn)結(jié)果,圖3(c)和圖4(c)、(d)作為動(dòng)態(tài)旋轉(zhuǎn)結(jié)果。從結(jié)果圖來看,圖像旋轉(zhuǎn)會丟失像素點(diǎn),并使圖像失真。這是因?yàn)閳D像旋轉(zhuǎn)幾乎都靠公式實(shí)現(xiàn),根據(jù)設(shè)定的旋轉(zhuǎn)角度不同,難免會造成圖像直接不完整顯現(xiàn)、丟失像素點(diǎn)、出現(xiàn)黑灰斑點(diǎn)。并且會造成像素點(diǎn)的溢出,有些圖像邊緣還會呈現(xiàn)鋸齒狀,這是因?yàn)闇y試程序所用的圖像不是方圖,而是大小為142mm*140mm的矩形圖,所以像素點(diǎn)在旋轉(zhuǎn)過程中就會發(fā)生移位,系統(tǒng)的偏移量會讓數(shù)據(jù)溢出。這種溢出主要分布在圖像矩形框的邊緣,測試中同樣是旋轉(zhuǎn)45°,單次旋轉(zhuǎn)溢出的像素點(diǎn)加起來約占原始圖像的1.5%左右;動(dòng)態(tài)旋轉(zhuǎn)由于存在旋轉(zhuǎn)周期,所以像素點(diǎn)溢出情況略為嚴(yán)重,約為1.6%;縮放旋轉(zhuǎn)在縮放因子為0.7時(shí),就能基本保證像素點(diǎn)不丟失,并把數(shù)據(jù)溢出很好地控制在1.4%。通過比較分析可知,要想解決圖像像素點(diǎn)的丟失和數(shù)據(jù)的溢出問題就要把圖像縮小一定的比例后旋轉(zhuǎn),這樣就可以減少相對的損失,并且結(jié)果相對于直接旋轉(zhuǎn)來說是較好的。

      圖4 縮放旋轉(zhuǎn)結(jié)果圖

      4 系統(tǒng)性能分析

      雙線性插值算法處理后的圖像質(zhì)量較高,不會出現(xiàn)像素值不連續(xù)的情況。但是計(jì)算灰度值的過程存在著大量的浮點(diǎn)運(yùn)算,加上圖像的像素點(diǎn)很多,所以是一個(gè)較為耗時(shí)的過程。經(jīng)過測試,程序完成一次45°的旋轉(zhuǎn)所用時(shí)長很長,因此有必要分析一下程序的優(yōu)化策略,每次優(yōu)化后保持與原來完全相同的步驟不變,觀察運(yùn)行時(shí)長。優(yōu)化方法如下。

      1)將原圖與結(jié)果圖的幾何中心對齊。由于兩幅圖的原點(diǎn)均選擇圖像左上角,但是圖像最下邊的像素點(diǎn)實(shí)際沒有參與計(jì)算,所以得到的結(jié)果圖相對于原圖而言是偏左上的。解決這個(gè)問題最好的辦法就是將兩幅圖像的幾何中心重合,時(shí)長能提升約10s。

      2)將有關(guān)正余弦函數(shù)的計(jì)算提取到循環(huán)外。未經(jīng)此步驟前,函數(shù)每次循環(huán)都要去計(jì)算旋轉(zhuǎn)前像素點(diǎn)的坐標(biāo),并且是重復(fù)的,顯得既多余又浪費(fèi)時(shí)間,所以把像素點(diǎn)的坐標(biāo)值提前計(jì)算好之后賦給一個(gè)浮點(diǎn)數(shù),循環(huán)時(shí)直接去調(diào)用會節(jié)省大約5s的時(shí)長。

      3)將浮點(diǎn)運(yùn)算轉(zhuǎn)換為整數(shù)運(yùn)算。雙線性插值公式中存在的浮點(diǎn)運(yùn)算是耗時(shí)的主要原因,若是能將浮點(diǎn)數(shù)取整,則會節(jié)約很多時(shí)間。即需要先將浮點(diǎn)數(shù)乘以一定的放大倍數(shù),再除以與其相對于的整數(shù)。綜合放大倍數(shù)不能過大、過小,并且要考慮速度,選擇2048這個(gè)數(shù)最為合適。至于除以對應(yīng)的整數(shù),由于移位運(yùn)算的運(yùn)行速度快于除法運(yùn)算,故在編譯時(shí),將程序改寫為右移22位。改進(jìn)后,速度較之前有很大的提升。

      5 結(jié)語

      雙線性插值算法實(shí)現(xiàn)的圖像旋轉(zhuǎn)有著算法簡單、運(yùn)算速度快的特點(diǎn),并且能在一定程度上保證圖像的質(zhì)量。但是算法具有低通濾波器的性質(zhì),使高頻分量受損,所以可能會使圖像輪廓在一定程度上變得模糊。特別是圖像在連續(xù)多次旋轉(zhuǎn)之后,邊緣變得更模糊。同時(shí),考慮到圖像的直接旋轉(zhuǎn)可能會影響圖像的質(zhì)量,在實(shí)際中通常加入縮放因子,但是單次縮放之后圖像失真嚴(yán)重,難以達(dá)到理想的效果。此外,本文的不足之處是:在算法上任然沒有很好地解決圖像多次旋轉(zhuǎn)后失真嚴(yán)重的問題,這將對結(jié)果圖像造成一定的影響。

      猜你喜歡
      像素點(diǎn)插值灰度
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      基于灰度拉伸的圖像水位識別方法研究
      基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
      基于canvas的前端數(shù)據(jù)加密
      基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
      一種改進(jìn)FFT多譜線插值諧波分析方法
      基于四項(xiàng)最低旁瓣Nuttall窗的插值FFT諧波分析
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      澄迈县| 商丘市| 石嘴山市| 陵川县| 宣城市| 阿坝| 屯门区| 宣城市| 曲周县| 潍坊市| 咸阳市| 莲花县| 宜宾市| 长岛县| 长治市| 朝阳区| 华容县| 长乐市| 台州市| 樟树市| 固镇县| 阿勒泰市| 淮安市| 湘阴县| 宜兴市| 澄江县| 新民市| 晋江市| 堆龙德庆县| 寿宁县| 抚顺市| 喜德县| 嵊州市| 合阳县| 瓦房店市| 九江市| 丰台区| 双柏县| 凉城县| 邳州市| 金沙县|