DSP應用系統(tǒng)(三級)項目設計說明書基于DSP的形狀識別_第1頁
DSP應用系統(tǒng)(三級)項目設計說明書基于DSP的形狀識別_第2頁
DSP應用系統(tǒng)(三級)項目設計說明書基于DSP的形狀識別_第3頁
DSP應用系統(tǒng)(三級)項目設計說明書基于DSP的形狀識別_第4頁
DSP應用系統(tǒng)(三級)項目設計說明書基于DSP的形狀識別_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、信息與電氣工程學院 dspdsp 應用系統(tǒng)(三級)項目應用系統(tǒng)(三級)項目 設計說明書設計說明書 (2013/2014 學年第二學期) 題 目 : 基于 dsp 的形狀識別 專業(yè)班級 : 電子信息 1101 學生姓名 : 指導教師 : 設計周數(shù) : 2 周 設計成績 : 2014 年 7 月 11 日 目目 錄錄 1 1 項目設計目的及任務項目設計目的及任務.2 2 2 2 項目設計內(nèi)容項目設計內(nèi)容.2 2 2.2.1 1 項目設計原理項目設計原理.2 2 2.1.2.1.1 1 數(shù)字圖像信號處理數(shù)字圖像信號處理.2 2 2.2.1 1.2.2 tms320vc5509tms320vc5509

2、 芯片介紹芯片介紹 .4 4 2.2.1 1 程序代碼程序代碼.5 5 3 3 項目設計心得項目設計心得.1 10 0 4 4 參考文獻參考文獻.1 10 0 1 1 項目設計目的項目設計目的 (1)通過 dsp 實驗箱,讀取一幅圖像或者一路模擬視頻信號的采集與顯示; (2)掌握形式識別的原理; (3)掌握 dsp 實驗箱環(huán)境與程序設計; (4)基于實驗箱環(huán)境編寫形狀識別程序,對規(guī)則形狀進行識別 2 2 項目設計內(nèi)容項目設計內(nèi)容 2.12.1 項目設計原理項目設計原理 2.1.12.1.1 數(shù)字圖像信號處理數(shù)字圖像信號處理 (1)數(shù)字圖像直方圖統(tǒng)計:灰度直方圖是數(shù)字圖像處理中一個最簡單、最有用

3、的工具, 它描述了一幅圖像的灰度級內(nèi)容。任何一幅圖像的直方圖都包括了可觀的信息,某些類型 的圖像可由其直方圖完全描述?;叶戎狈綀D是灰度值的函數(shù), 描述的是圖像中具有該灰度 值的像素的個數(shù),其橫坐標表示像素的灰度級別,縱坐標是該灰度出現(xiàn)的頻率(像素個數(shù)與 圖像像素總數(shù)之比)。 程序流程圖: 圖 1 直方統(tǒng)計流程圖 (2)數(shù)字圖像邊緣檢測:圖像的邊緣是圖像的最基本特征。所謂邊緣(或邊沿)是指 其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。邊緣廣泛存在于物體與背景之 間、物體與物體之間、基元與基元之間。因此,它是圖像分割所依賴的重要特征。物體的 邊緣是由灰度不連續(xù)性所反映的。 經(jīng)典的邊緣提取方

4、法是考察圖像的每個像素在某個鄰域內(nèi)灰度的變化,利用邊緣臨近 一階或二階方向?qū)?shù)變化規(guī)律,用簡單的方法檢測邊緣。這種方法稱為邊緣檢測局部算子 法。 邊緣的種類可以分為兩種:一種稱為階躍性邊緣,它兩邊的像素的灰度值有著顯著的 不同;另一種稱為屋頂狀邊緣, 它位于灰度值從增加到減少的變化轉(zhuǎn)折點。 如果一個像素落在圖像中某一個物體的邊界上,那么它的鄰域?qū)⒊蔀橐粋€灰度級的變 化帶。對于這種變化最有用的兩個特征是灰度的變化率和方向,它們分別以梯度向量的幅 度和方向來表示。 邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進行量化, 也包括方向的確定。大 多數(shù)使用基于方向?qū)?shù)掩模求卷積的方法。 (3)sobel

5、 邊緣算子:在邊沿檢測中,常用的一種模板是 sobel 算子。sobel 算子有 兩個,一個是檢測水平邊沿的;另一個是檢測垂直平邊沿的。與和相比,sobel 算子對于 象素的位置的影響做了加權,因此效果更好。 sobel 算子另一種形式是各向同性 sobel(isotropic sobel)算子,也有兩個,一個是 檢測水平邊沿的 ,另一個是檢測垂直平邊沿的 。各向同性 sobel 算子和普通 sobel 算子 相比,它的位置加權系數(shù)更為準確,在檢測不同方向的邊沿時梯度的幅度一致。由于建筑 物圖像的特殊性,我們可以發(fā)現(xiàn),處理該類型圖像輪廓時,并不需要對梯度方向進行運算, 所以程序并沒有給出各向同

6、性 sobel 算子的處理方法。 由于 sobel 算子是濾波算子的形式,用于提取邊緣,可以利用快速卷積函數(shù), 簡單有 效,因此應用廣泛。美中不足的是,sobel 算子并沒有將圖像的主體與背景嚴格地區(qū)分開 來,換言之就是 sobel 算子沒有基于圖像灰度進行處理,由于 sobel 算子沒有嚴格地模擬 人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。在觀測一幅圖像的時候, 我們往往首先注意的是圖像與背景不同的部分,正是這個部分將主體突出顯示,基于該理 論,我們給出了下面閾值化輪廓提取算法,該算法已在數(shù)學上證明當像素點滿足正態(tài)分布 時所求解是最優(yōu)的。 sobel 算子是一個離散微分算子(d

7、iscrete differentiation operator)。它結合了高 斯平滑和微分求導,用來計算圖像灰度函數(shù)的近似梯度。下圖所示的兩個卷積核形成了 sobel 算子,圖像中的每個點都用這兩個核做卷積,一個核對通常的垂直邊緣相應最大, 而另一個對水平邊緣相應最大。兩個卷積的最大值作為該點的輸出位。運算結果是一幅邊 緣幅度圖像。 圖 2 sobel 邊緣算子 程序流程圖: 圖 3 邊緣檢測流程圖 2.1.22.1.2 tms320vc5509tms320vc5509 芯片介紹芯片介紹 dsp 定點數(shù)字信號處理器(dsp)是基于 dsp tms320c55x 代 cpu 處理器核心。的 c

8、55x dsp 架構通過增加并行性和減少功耗總重點實現(xiàn)了高性能和低功耗。支持的 cpu 內(nèi)部總線 結構,是由一個程序讀取的數(shù)據(jù)總線,三總線,兩個數(shù)據(jù)寫入總線,和更多的公交車專用 外設和 dma 活動。這些巴士提供表演三數(shù)據(jù)的能力在一個周期內(nèi)讀取和寫入兩數(shù)據(jù)。同時, dma 控制器進行了兩個數(shù)據(jù)傳輸周期獨立的 cpu 活動。提供兩個 cpu 的 c55x 乘累加 (mac)單元,每個具有 17 位17 位乘法的一個周期。 特征: *高性能,低功耗,定點數(shù)字信號處理器 tms320c55x * 6.94-ns 指令周期時間為 144 mhz 的時鐘速率在 1.6 v *一個/兩個指令(s)每個周期

9、執(zhí)行 *雙乘法器達 288000000 乘累加每秒(mmacs) *兩個算術/邏輯單元(alu) *三內(nèi)部數(shù)據(jù)、操作數(shù)讀公交車和兩個內(nèi)部數(shù)據(jù)/操作數(shù)寫入總線 * 128k 的16 位的芯片上的 ram,由: *64k 字節(jié)的雙端口存儲器(區(qū))8 塊 4k16 位 *192k 字節(jié)的單一訪問 ram(saram)24 塊 4k16 位 *64k 字節(jié)的一個等待狀態(tài)的片上 rom(32k16 位) *816 位最大可尋址的外部存儲空間(同步動態(tài)隨機存儲器) *16 位外部并行總線內(nèi)存支持 *外部存儲器接口(emif)與 gpio 功能和無縫接口 *異步靜態(tài)存儲器(sram) *異步存儲器 *同步動

10、態(tài)隨機存取存儲器(sdram) * 16 位并行增強的主機接口(hpi)與 gpio 功能 *六裝置的功能結構域可編程低功耗控制 *在芯片掃描為基礎的仿真邏輯 *片上外設 2.22.2 程序代碼程序代碼 image.c #include #define imagewidth 80 #define imageheight 80 #define modegraybar 0 #define modegray 1 #define modephoto1 2 #define modephoto2 3 #define modephoto3 4 #define modephoto4 5 #define mod

11、ephoto5 6 #define modephoto6 7 float fhistogram256; void initimage(unsigned int nmode,unsigned char *pimage,int nwidth,int nheight); unsigned char dbimageimagewidth*imageheight; unsigned char dbtargetimageimagewidth*imageheight; float circularity(unsigned char *pimage,unsigned char *pimage0,int nwid

12、th,int nheight,float fhisto256); float l,s,circularity0; /* 直方圖統(tǒng)計實驗程序 */ int main() initimage(modephoto1,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imageheight); identification(modephoto1); initimage(modephoto2,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imagehei

13、ght); identification(modephoto2); initimage(modephoto3,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imageheight); identification(modephoto3); initimage(modephoto4,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imageheight); identification(modephoto4); initimage(modeph

14、oto5,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imageheight); identification(modephoto5); initimage(modephoto6,dbimage,imagewidth,imageheight); /breakpoint sobel(imagewidth,imageheight); identification(modephoto6); while (1);/breakpoint float circularity(unsigned char *pimage,unsi

15、gned char *pimage0,int nwidth,int nheight,float fhisto256) int i,j; unsigned int uwork; unsigned char *pwork,*pwork0; for ( i=0;i256;i+ ) fhistoi=0.0f; pwork=pimage0; for ( i=0;inheight;i+ ) for ( j=0;jnwidth;j+,pwork+ ) uwork=(unsigned int)(*pwork); fhistouwork+; l=fhisto255; for ( i=0;i256;i+ )fhi

16、stoi=0.0f; pwork0=pimage; for ( i=0;inheight;i+ ) for ( j=0;j59 initimage.c #include #define modegraybar 0 #define modegray 1 #define modephoto1 2 #define modephoto2 3 #define modephoto3 4 #define modephoto4 5 #define modephoto5 6 #define modephoto6 7 #define modeblock 6 #define modeincline 7 #defin

17、e modefphoto 8 #define graybarlevel 16 void readimage(unsigned char *pimage,char *cfilename,int nwidth,int nheight); void initimage(unsigned int nmode,unsigned char *pimage,int nwidth,int nheight) switch ( nmode ) case modephoto1: readimage(pimage,.circle1.bmp,nwidth,nheight); break; case modephoto2

18、: readimage(pimage,.squarence1.bmp,nwidth,nheight); break; case modephoto3: readimage(pimage,.triangle1.bmp,nwidth,nheight); break; case modephoto4: readimage(pimage,.squarence2.bmp,nwidth,nheight); break; case modephoto5: readimage(pimage,.triangle2.bmp,nwidth,nheight); break; case modephoto6: read

19、image(pimage,.circle2.bmp,nwidth,nheight); break; void readimage(unsigned char *pimage,char *cfilename,int nwidth,int nheight) int j; unsigned char *pwork; file *fp; if ( fp=fopen(cfilename,rb ) ) fseek(fp,1078l,seek_set); pwork=pimage+(nheight-1)*nwidth; for ( j=0;jnheight;j+,pwork-=nwidth ) fread(

20、pwork,nwidth,1,fp); fclose(fp); sobel.c #define imagewidth 80 #define imageheight 80 #include extern unsigned char dbimageimagewidth*imageheight; extern unsigned char dbtargetimageimagewidth*imageheight; int mi,mj,m_nwork1,m_nwork2; unsigned int m_nwork,*pwork; unsigned char *pimg1,*pimg2,*pimg3,*pi

21、mg; unsigned int x1,x2,x3,x4,x5,x6,x7,x8,x9; void sobel(int nwidth,int nheight) int i; pimg=dbtargetimage; for ( i=0;iimagewidth;i+,pimg+ ) (*pimg)=0; (*pimg)=0; pimg1=dbimage; pimg2=pimg1+imagewidth; pimg3=pimg2+imagewidth; for ( i=2;inheight;i+ ) pimg+; x1=(*pimg1); pimg1+; x2=(*pimg1); pimg1+; x4

22、=(*pimg2); pimg2+; x5=(*pimg2); pimg2+; x7=(*pimg3); pimg3+; x8=(*pimg3); pimg3+; for ( mi=2;minwidth;mi+,pimg+,pimg1+,pimg2+,pimg3+ ) x3=(*pimg1); x6=(*pimg2); x9=(*pimg3); m_nwork1=abs(x7+x8+x8-x2-x2-x3); m_nwork2=abs(x3+x6+x6-x4-x4-x7); if (m_nwork1255 )m_nwork1=255; (*pimg)=m_nwork1; x1=x2; x2=x

23、3; x4=x5; x5=x6; x7=x8; x8=x9; (*pimg)=0; pimg+; 程序運行結果: circularity0=59.205189.circle circularity0=63.320961.squarence circularity0=96.094772.triangle circularity0=63.429848.squarence circularity0=96.553711.triangle circularity0=59.391403.circle 3 3 項目設計總結或結論項目設計總結或結論 本學期學習 dsp 的時間很短,芯片設計掌握的深度不夠,但通過此次課程設計,卻改變 了很多, 首先,對于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論