




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、信息與電氣工程學(xué)院 dspdsp 應(yīng)用系統(tǒng)(三級)項(xiàng)目應(yīng)用系統(tǒng)(三級)項(xiàng)目 設(shè)計說明書設(shè)計說明書 (2013/2014 學(xué)年第二學(xué)期) 題 目 : 基于 dsp 的形狀識別 專業(yè)班級 : 電子信息 1101 學(xué)生姓名 : 指導(dǎo)教師 : 設(shè)計周數(shù) : 2 周 設(shè)計成績 : 2014 年 7 月 11 日 目目 錄錄 1 1 項(xiàng)目設(shè)計目的及任務(wù)項(xiàng)目設(shè)計目的及任務(wù).2 2 2 2 項(xiàng)目設(shè)計內(nèi)容項(xiàng)目設(shè)計內(nèi)容.2 2 2.2.1 1 項(xiàng)目設(shè)計原理項(xiàng)目設(shè)計原理.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 項(xiàng)目設(shè)計心得項(xiàng)目設(shè)計心得.1 10 0 4 4 參考文獻(xiàn)參考文獻(xiàn).1 10 0 1 1 項(xiàng)目設(shè)計目的項(xiàng)目設(shè)計目的 (1)通過 dsp 實(shí)驗(yàn)箱,讀取一幅圖像或者一路模擬視頻信號的采集與顯示; (2)掌握形式識別的原理; (3)掌握 dsp 實(shí)驗(yàn)箱環(huán)境與程序設(shè)計; (4)基于實(shí)驗(yàn)箱環(huán)境編寫形狀識別程序,對規(guī)則形狀進(jìn)行識別 2 2 項(xiàng)目設(shè)計內(nèi)容項(xiàng)目設(shè)計內(nèi)容 2.12.1 項(xiàng)目設(shè)計原理項(xiàng)目設(shè)計原理 2.1.12.1.1 數(shù)字圖像信號處理數(shù)字圖像信號處理 (1)數(shù)字圖像直方圖統(tǒng)計:灰度直方圖是數(shù)字圖像處理中一個最簡單、最有用
3、的工具, 它描述了一幅圖像的灰度級內(nèi)容。任何一幅圖像的直方圖都包括了可觀的信息,某些類型 的圖像可由其直方圖完全描述。灰度直方圖是灰度值的函數(shù), 描述的是圖像中具有該灰度 值的像素的個數(shù),其橫坐標(biāo)表示像素的灰度級別,縱坐標(biāo)是該灰度出現(xiàn)的頻率(像素個數(shù)與 圖像像素總數(shù)之比)。 程序流程圖: 圖 1 直方統(tǒng)計流程圖 (2)數(shù)字圖像邊緣檢測:圖像的邊緣是圖像的最基本特征。所謂邊緣(或邊沿)是指 其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。邊緣廣泛存在于物體與背景之 間、物體與物體之間、基元與基元之間。因此,它是圖像分割所依賴的重要特征。物體的 邊緣是由灰度不連續(xù)性所反映的。 經(jīng)典的邊緣提取方
4、法是考察圖像的每個像素在某個鄰域內(nèi)灰度的變化,利用邊緣臨近 一階或二階方向?qū)?shù)變化規(guī)律,用簡單的方法檢測邊緣。這種方法稱為邊緣檢測局部算子 法。 邊緣的種類可以分為兩種:一種稱為階躍性邊緣,它兩邊的像素的灰度值有著顯著的 不同;另一種稱為屋頂狀邊緣, 它位于灰度值從增加到減少的變化轉(zhuǎn)折點(diǎn)。 如果一個像素落在圖像中某一個物體的邊界上,那么它的鄰域?qū)⒊蔀橐粋€灰度級的變 化帶。對于這種變化最有用的兩個特征是灰度的變化率和方向,它們分別以梯度向量的幅 度和方向來表示。 邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進(jìn)行量化, 也包括方向的確定。大 多數(shù)使用基于方向?qū)?shù)掩模求卷積的方法。 (3)sobel
5、 邊緣算子:在邊沿檢測中,常用的一種模板是 sobel 算子。sobel 算子有 兩個,一個是檢測水平邊沿的;另一個是檢測垂直平邊沿的。與和相比,sobel 算子對于 象素的位置的影響做了加權(quán),因此效果更好。 sobel 算子另一種形式是各向同性 sobel(isotropic sobel)算子,也有兩個,一個是 檢測水平邊沿的 ,另一個是檢測垂直平邊沿的 。各向同性 sobel 算子和普通 sobel 算子 相比,它的位置加權(quán)系數(shù)更為準(zhǔn)確,在檢測不同方向的邊沿時梯度的幅度一致。由于建筑 物圖像的特殊性,我們可以發(fā)現(xiàn),處理該類型圖像輪廓時,并不需要對梯度方向進(jìn)行運(yùn)算, 所以程序并沒有給出各向同
6、性 sobel 算子的處理方法。 由于 sobel 算子是濾波算子的形式,用于提取邊緣,可以利用快速卷積函數(shù), 簡單有 效,因此應(yīng)用廣泛。美中不足的是,sobel 算子并沒有將圖像的主體與背景嚴(yán)格地區(qū)分開 來,換言之就是 sobel 算子沒有基于圖像灰度進(jìn)行處理,由于 sobel 算子沒有嚴(yán)格地模擬 人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。在觀測一幅圖像的時候, 我們往往首先注意的是圖像與背景不同的部分,正是這個部分將主體突出顯示,基于該理 論,我們給出了下面閾值化輪廓提取算法,該算法已在數(shù)學(xué)上證明當(dāng)像素點(diǎn)滿足正態(tài)分布 時所求解是最優(yōu)的。 sobel 算子是一個離散微分算子(d
7、iscrete differentiation operator)。它結(jié)合了高 斯平滑和微分求導(dǎo),用來計算圖像灰度函數(shù)的近似梯度。下圖所示的兩個卷積核形成了 sobel 算子,圖像中的每個點(diǎn)都用這兩個核做卷積,一個核對通常的垂直邊緣相應(yīng)最大, 而另一個對水平邊緣相應(yīng)最大。兩個卷積的最大值作為該點(diǎn)的輸出位。運(yùn)算結(jié)果是一幅邊 緣幅度圖像。 圖 2 sobel 邊緣算子 程序流程圖: 圖 3 邊緣檢測流程圖 2.1.22.1.2 tms320vc5509tms320vc5509 芯片介紹芯片介紹 dsp 定點(diǎn)數(shù)字信號處理器(dsp)是基于 dsp tms320c55x 代 cpu 處理器核心。的 c
8、55x dsp 架構(gòu)通過增加并行性和減少功耗總重點(diǎn)實(shí)現(xiàn)了高性能和低功耗。支持的 cpu 內(nèi)部總線 結(jié)構(gòu),是由一個程序讀取的數(shù)據(jù)總線,三總線,兩個數(shù)據(jù)寫入總線,和更多的公交車專用 外設(shè)和 dma 活動。這些巴士提供表演三數(shù)據(jù)的能力在一個周期內(nèi)讀取和寫入兩數(shù)據(jù)。同時, dma 控制器進(jìn)行了兩個數(shù)據(jù)傳輸周期獨(dú)立的 cpu 活動。提供兩個 cpu 的 c55x 乘累加 (mac)單元,每個具有 17 位17 位乘法的一個周期。 特征: *高性能,低功耗,定點(diǎn)數(shù)字信號處理器 tms320c55x * 6.94-ns 指令周期時間為 144 mhz 的時鐘速率在 1.6 v *一個/兩個指令(s)每個周期
9、執(zhí)行 *雙乘法器達(dá) 288000000 乘累加每秒(mmacs) *兩個算術(shù)/邏輯單元(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)隨機(jī)存儲器) *16 位外部并行總線內(nèi)存支持 *外部存儲器接口(emif)與 gpio 功能和無縫接口 *異步靜態(tài)存儲器(sram) *異步存儲器 *同步動
10、態(tài)隨機(jī)存取存儲器(sdram) * 16 位并行增強(qiáng)的主機(jī)接口(hpi)與 gpio 功能 *六裝置的功能結(jié)構(gòu)域可編程低功耗控制 *在芯片掃描為基礎(chǔ)的仿真邏輯 *片上外設(shè) 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)計實(shí)驗(yàn)程序 */ 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+; 程序運(yùn)行結(jié)果: 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 項(xiàng)目設(shè)計總結(jié)或結(jié)論項(xiàng)目設(shè)計總結(jié)或結(jié)論 本學(xué)期學(xué)習(xí) dsp 的時間很短,芯片設(shè)計掌握的深度不夠,但通過此次課程設(shè)計,卻改變 了很多, 首先,對于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精英團(tuán)隊(duì)廠房設(shè)施養(yǎng)護(hù)與維護(hù)服務(wù)協(xié)議
- 餐廳資產(chǎn)重組與股份購買及經(jīng)營管理權(quán)交接合同
- 老兵短線技術(shù)課件
- 美術(shù)說課課件教學(xué)
- 瓷器考試題及答案
- 消防安全工作考評與獎懲制度
- 特種設(shè)備的安全操作規(guī)程
- 班組崗位安全生產(chǎn)責(zé)任制
- 火災(zāi)隱患排查整治總結(jié)
- 礦山安全生產(chǎn)責(zé)任制
- 羽毛球知識教育PPT模板
- 認(rèn)識地圖與使用地圖
- 《教師專業(yè)發(fā)展》課件
- 小學(xué)閱讀理解提分公開課課件
- esd防靜電手冊20.20標(biāo)準(zhǔn)
- 2023年贛南師范大學(xué)科技學(xué)院輔導(dǎo)員招聘考試筆試題庫及答案解析
- 養(yǎng)老護(hù)理員職業(yè)道德27張課件
- 少兒美術(shù)課件-《長頸鹿不會跳舞》
- 人教版五年級數(shù)學(xué)下冊單元及期中期末測試卷含答案(共16套)
- GB∕T 17989.1-2020 控制圖 第1部分:通用指南
- 醫(yī)院感染管理制度
評論
0/150
提交評論