資源描述:
《數(shù)字圖像處理在DSP上的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院——DSP技術(shù)課程設(shè)計(jì)報(bào)告數(shù)字圖像處理在DSP上的實(shí)現(xiàn)(旋轉(zhuǎn))1緒論1.1設(shè)計(jì)目的圖像旋轉(zhuǎn)是一種應(yīng)用廣泛的數(shù)字圖像處理技術(shù),隨著應(yīng)用水平的不斷提高,對(duì)在嵌入式系統(tǒng)中實(shí)現(xiàn)高分辨率大圖像旋轉(zhuǎn)的需求也越來(lái)越高。如在航空領(lǐng)域的高分辨率數(shù)字地圖圖像的顯示處理過(guò)程中,由于現(xiàn)有的顯示芯片均不能支持圖像旋轉(zhuǎn)功能,就需要在資源有限的嵌入式平臺(tái)上實(shí)現(xiàn)大幅面地圖圖像的實(shí)時(shí)旋轉(zhuǎn)。采用DSP平臺(tái)是一種實(shí)現(xiàn)方式,具體實(shí)現(xiàn)時(shí)需仔細(xì)考慮兩個(gè)方面的問(wèn)題,一是選用計(jì)算量小的旋轉(zhuǎn)算法,二是充分發(fā)揮DSP平臺(tái)強(qiáng)大的并行計(jì)算能力。1.2設(shè)計(jì)任務(wù)1.能從計(jì)算機(jī)上讀取圖片。2.編寫圖像旋轉(zhuǎn)程序,在TM
2、S320C5509上實(shí)現(xiàn)。-20-沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院——DSP技術(shù)課程設(shè)計(jì)報(bào)告2設(shè)計(jì)原理及分析2.1設(shè)計(jì)原理目前,已經(jīng)有很多有效降低計(jì)算量的圖像旋轉(zhuǎn)算法,基于圖像線性存儲(chǔ)結(jié)構(gòu)的旋轉(zhuǎn)方法就是其中之一。然而,在DSP平臺(tái)上,有限的高速存儲(chǔ)資源限制了這些算法效率的直接發(fā)揮,需要針對(duì)算法及DSP平臺(tái)的性能結(jié)構(gòu)特點(diǎn)進(jìn)行高效的數(shù)據(jù)調(diào)度。對(duì)于圖像旋轉(zhuǎn)問(wèn)題而言,數(shù)據(jù)調(diào)度還需要克服由于存在大量非連續(xù)圖像像素地址訪問(wèn)而嚴(yán)重影響DSP數(shù)據(jù)存取及CPU效率發(fā)揮的問(wèn)題。這是圖像旋轉(zhuǎn)本身的特殊性,在其他圖像處理技術(shù)中是不存在的。由DSP的結(jié)構(gòu)特點(diǎn)可知,只有在數(shù)據(jù)和程序均位于片內(nèi)存儲(chǔ)器當(dāng)中的條件下,DS
3、P的效率才能得到最大化的發(fā)揮。在大圖像旋轉(zhuǎn)算法中,由于涉及的圖像數(shù)據(jù)量遠(yuǎn)大于DSP的片內(nèi)存儲(chǔ)器容量,源圖像和最終視口圖像等數(shù)據(jù)必須被存放在片外存儲(chǔ)器中。在這種情況下,為了保證DSPCPU高速處理能力的發(fā)揮,必須優(yōu)化數(shù)據(jù)流,將源圖像分塊,依次搬移至片內(nèi)處理,并設(shè)法保證CPU當(dāng)前要處理的圖像數(shù)據(jù)塊已經(jīng)事先在片內(nèi)存儲(chǔ)器中準(zhǔn)備好了。因此在算法整體優(yōu)化結(jié)構(gòu)上采用Ping-Pong雙緩沖技術(shù),利用EDMA與CPU并行工作來(lái)隱藏圖像數(shù)據(jù)塊在片內(nèi)和片外之間的傳輸時(shí)間,使CPU能連續(xù)不斷地處理數(shù)據(jù),中間不會(huì)出現(xiàn)空閑等待。傳統(tǒng)的圖像旋轉(zhuǎn)一般通過(guò)矩陣乘法實(shí)現(xiàn):其中,α為旋轉(zhuǎn)角度。由于圖像是線性存儲(chǔ)的,各個(gè)像
4、素點(diǎn)之間的相對(duì)位置關(guān)系確定。如圖1(a)所示,圖像旋轉(zhuǎn)前,任意像素點(diǎn)P(x,y)和P1(x1,y1)、P2(x2,y2)及A(xA,yA)在幾何上是矩形的四頂點(diǎn)關(guān)系。由于旋轉(zhuǎn)變換是線性變換,如圖1(b)所示,圖像旋轉(zhuǎn)后,各個(gè)像素點(diǎn)之間的相對(duì)位置關(guān)系不發(fā)生變化,-20-沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院——DSP技術(shù)課程設(shè)計(jì)報(bào)告旋轉(zhuǎn)算法的數(shù)據(jù)調(diào)度目的是使算法能夠按照一定的規(guī)則,將源圖像數(shù)據(jù)有規(guī)律地分塊,并按次序分別傳輸?shù)紻SP片內(nèi)存儲(chǔ)器中,完成計(jì)算后,形成視口圖像塊,再將視口圖像塊按同樣的順序進(jìn)行排列,形成旋轉(zhuǎn)后的視口圖像。整個(gè)過(guò)程要求調(diào)入和調(diào)出的圖像數(shù)據(jù)均是規(guī)則分塊的,并且調(diào)入的源圖像塊中
5、應(yīng)該包含計(jì)算視口圖像塊的過(guò)程中所需要的全部像素?cái)?shù)據(jù),尤其需要解決其中的大量非連續(xù)圖像像素地址訪問(wèn)問(wèn)題。視口逆時(shí)針旋轉(zhuǎn)的情況與此類似。區(qū)別有以下兩點(diǎn):①源圖像塊的左邊框中點(diǎn)與相應(yīng)的視口圖像塊旋轉(zhuǎn)后的左上角頂點(diǎn)對(duì)應(yīng);②源圖像塊的頂點(diǎn)局部坐標(biāo)地址值與視口圖像塊的頂點(diǎn)局部坐標(biāo)地址值之間的對(duì)應(yīng)關(guān)系式應(yīng)為: 其中height指源圖像塊的高度。-20-沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院——DSP技術(shù)課程設(shè)計(jì)報(bào)告3軟件程序3.1主程序#include#include#include#include#include6、.h>intload_cut(char*fname);intload_convolution_matrix(char*fname);intconvolve_image(void);intswap_pictures(void);intminx,maxx,miny,maxy;intLOADPAGE=0;intENHANCEPAGE=1;int*cmat,*pmat,*vmat;intcmx,cmy,cmnum;structpalettetypepalette,newpal;intdriver,mode;intcleancut=-1;intinit_graphics(void){driver
7、=DETECT;mode=0;detectgraph(&driver,&mode);if(driver==VGA)mode=VGAMED;initgraph(&driver,&mode,"");getpalette(&palette);getpalette(&newpal);}-20-沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院——DSP技術(shù)課程設(shè)計(jì)報(bào)告intcleanup_image(void){inti,j,num,x,y,k;if(cleancut<0