版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DSP技術(shù)及應(yīng)用課程設(shè)計(jì)報(bào)告課題名稱:數(shù)字圖像處理——二值化學(xué)院:電氣信息工程學(xué)院專業(yè):通信工程班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:董勝成績(jī):日期:2014.6.9-2014.6.20目錄一、設(shè)計(jì)目的及要求2二、設(shè)計(jì)所需的軟件介紹2三、設(shè)計(jì)原理3程序流程圖6設(shè)計(jì)程序7處理后的效果展示11課程設(shè)計(jì)心得15八、 參考文獻(xiàn)16設(shè)計(jì)目的及要求:目的:1、掌握CCStudio3.3的安裝和配置;2、掌握數(shù)字圖像處理的原理、基本算法和各種圖像處理技術(shù);3、掌握?qǐng)D像的灰度化、二值化和灰度直方圖的原理及編程思路;4、掌握?qǐng)D像濾波(圖像銳化、中值濾波、邊緣檢測(cè)、特征識(shí)別等)的基本原理及編程方法及編程思路;要求:能夠根據(jù)設(shè)計(jì)題目要求查閱檢索有關(guān)的文獻(xiàn)資料,結(jié)合題目選學(xué)有關(guān)參考書(shū)。查詢相關(guān)資料,初步制定設(shè)計(jì)方案。2、用CCS軟件進(jìn)行C語(yǔ)言設(shè)計(jì)相關(guān)算法,實(shí)現(xiàn)對(duì)圖像的采集及處理。3、編寫相應(yīng)的C語(yǔ)言程序?qū)崿F(xiàn)各種圖像處理。二、設(shè)計(jì)所需的軟件介紹:英文全稱:CodeComposerStudio中文譯名:代碼調(diào)試器,代碼設(shè)計(jì)套件。CCS的全稱是CodeComposerStudio,它是美國(guó)德州儀器公司(TexasInstrument,TI)出品的代碼開(kāi)發(fā)和調(diào)試套件。TI公司的產(chǎn)品線中有一大塊業(yè)務(wù)是數(shù)字信號(hào)處理器(DSP)和微處理器(MCU),CCS便是供用戶開(kāi)發(fā)和調(diào)試DSP和MCU程序的集成開(kāi)發(fā)軟件。CodeComposerStudiov3.3(CCStudiov3.3)是用于TIDSP、微處理器和應(yīng)用處理器的集成開(kāi)發(fā)環(huán)境。CodeComposerStudio包含一整套用于開(kāi)發(fā)和調(diào)試嵌入式應(yīng)用的工具。它包含適用于每個(gè)TI器件系列的編譯器、源碼編輯器、項(xiàng)目構(gòu)建環(huán)境、調(diào)試器、描述器、仿真器以及多種其它功能。CodeComposerStudioIDE提供了單個(gè)用戶界面,可幫助您完成應(yīng)用開(kāi)發(fā)流程的每個(gè)步驟。借助于精密的高效工具,用戶能夠利用熟悉的工具和界面快速上手并將功能添加至他們的應(yīng)用。產(chǎn)品版本:CCS有多個(gè)版本可供選擇。各版本支持的處理器不同。但所有v3.3均使用以下各項(xiàng):主機(jī):PC操作系統(tǒng):MicrosoftWindowsVista、XP和2000支持的內(nèi)核白金版:TMS320C6000、TMS320C5000、TMS320C2000、TMS470、TMS570、ARM7、ARM9、ARM11、ARMCortexM3、ARMCortexR4、ARMCortexA8和MSP430C2000版:TMS320F28x和TMS320F24x三、設(shè)計(jì)原理:1、圖像的二值化原理:圖像的二值化處理就是講圖像上的點(diǎn)的灰度置為0或255,也就是講整個(gè)圖像呈現(xiàn)出明顯的黑白效果。即將256個(gè)亮度等級(jí)的灰度圖像通過(guò)適當(dāng)?shù)拈y值選取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。在數(shù)字圖像處理中,二值圖像占有非常重要的地位,特別是在實(shí)用的圖像處理中,以二值圖像處理實(shí)現(xiàn)而構(gòu)成的系統(tǒng)是很多的,要進(jìn)行二值圖像的處理與分析,首先要把灰度圖像二值化,得到二值化圖像,這樣子有利于再對(duì)圖像做進(jìn)一步處理時(shí),圖像的集合性質(zhì)只與像素值為0或255的點(diǎn)的位置有關(guān),不再涉及像素的多級(jí)值,使處理變得簡(jiǎn)單,而且數(shù)據(jù)的處理和壓縮量小。為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區(qū)域。所有灰度大于或等于閥值的像素被判定為屬于特定物體,其灰度值為255表示,否則這些像素點(diǎn)被排除在物體區(qū)域以外,灰度值為0,表示背景或者例外的物體區(qū)域。如果某特定物體在內(nèi)部有均勻一致的灰度值,并且其處在一個(gè)具有其他等級(jí)灰度值的均勻背景下,使用閥值法就可以得到比較的分割效果。如果物體同背景的差別表現(xiàn)不在灰度值上(比如紋理不同),可以將這個(gè)差別特征轉(zhuǎn)換為灰度的差別,然后利用閥值選取技術(shù)來(lái)分割該圖像。動(dòng)態(tài)調(diào)節(jié)閥值實(shí)現(xiàn)圖像的二值化可動(dòng)態(tài)觀察其分割圖像的具體結(jié)果。實(shí)現(xiàn)二值化有如下幾種方法:方法一:該方法非常簡(jiǎn)單,對(duì)RGB彩色圖像灰度化以后,掃描圖像的每個(gè)像素值,值小于127的將像素值設(shè)為0(黑色),值大于等于127的像素值設(shè)為255(白色)。該方法的好處是計(jì)算量少速度快。缺點(diǎn)更多首先閾值為127沒(méi)有任何理由可以解釋,其次完全不考慮圖像的像素分布情況與像素值特征??梢哉f(shuō)該方法是史最弱智的二值處理方法一點(diǎn)也不為過(guò)。方法二:最常見(jiàn)的二值處理方法是計(jì)算像素的平均值K,掃描圖像的每個(gè)像素值如像素值大于K像素值設(shè)為255(白色),值小于等于K像素值設(shè)為0(黑色)。該方法相比方法一,閾值的選取稍微有點(diǎn)勝出之處。但是可能導(dǎo)致部分對(duì)象像素或者背景像素丟失。二值化結(jié)果不能真實(shí)反映源圖像信息。方法三:使用直方圖方法來(lái)尋找二值化閾值,直方圖是圖像的重要特質(zhì),直方圖方法選擇二值化閾值主要是發(fā)現(xiàn)圖像的兩個(gè)最高的峰,然后在閾值取值在兩個(gè)峰之間的峰谷最低處。該方法相對(duì)前面兩種方法而言稍微精準(zhǔn)一點(diǎn)點(diǎn)。結(jié)果也更讓人可以接受。方法四:使用近似一維Means方法尋找二值化閾值,該方法的大致步驟如下:(1).一個(gè)初始化閾值T,可以自己設(shè)置或者根據(jù)隨機(jī)方法生成。(2).根據(jù)閾值圖每個(gè)像素?cái)?shù)據(jù)P(n,m)分為對(duì)象像素?cái)?shù)據(jù)G1與背景像素?cái)?shù)據(jù)G2。(n為行,m為列)(3).G1的平均值是m1,G2的平均值是m2(4).一個(gè)新的閾值T’=(m1+m2)/2(5).回到第二步,用新的閾值繼續(xù)分像素?cái)?shù)據(jù)為對(duì)象與北京像素?cái)?shù)據(jù),繼續(xù)2~4步,直到計(jì)算出來(lái)的新閾值等于上一次閾值。數(shù)字圖像邊緣檢測(cè)基本原理:邊緣是圖像局部特征不連續(xù)性(灰度突變、顏色突變和紋理結(jié)構(gòu)突變等)的反映,它標(biāo)志著一個(gè)區(qū)域的終結(jié)和另外一個(gè)區(qū)域的開(kāi)始。邊緣提取首先檢測(cè)出圖像局部特性的不連續(xù)性,然后再將這些不連續(xù)的邊緣像素連成完備的邊界。邊緣的特征是邊沿走向的像素變化平緩,而垂直于邊緣方向的像素變化劇烈,所以,提取邊緣的算法就是檢測(cè)出符合邊緣特性的邊緣像素的算子。
兩個(gè)具有不同灰度值的相鄰區(qū)域之間總存在邊緣,邊緣是灰度值不連續(xù)的結(jié)果,這種不連續(xù)性通??梢岳们髮?dǎo)數(shù)的方法檢測(cè)到。邊緣是圖像上灰度變化最劇烈的地方,傳統(tǒng)的邊緣檢測(cè)就是利用了這個(gè)特點(diǎn),對(duì)圖像各個(gè)像素點(diǎn)進(jìn)行微分或求二階微分來(lái)確定邊緣像素點(diǎn)。一階微分圖像的峰值處對(duì)應(yīng)著圖像的邊緣點(diǎn);二階微分圖像的過(guò)零點(diǎn)處對(duì)應(yīng)著圖像的邊緣點(diǎn)。根據(jù)數(shù)字圖像的特點(diǎn),處理圖像過(guò)程中常采用差分來(lái)代替導(dǎo)數(shù)運(yùn)算,對(duì)于圖像的簡(jiǎn)單一階導(dǎo)數(shù)運(yùn)算,由于具有固定的方向性,只能檢測(cè)特定方向的邊緣,所以不具有普遍性。為了克服一階導(dǎo)數(shù)的缺點(diǎn),我們定義圖像的梯度為梯度算子,它是圖像處理中最常用的一階微分算法。圖像梯度的最重要性質(zhì)是梯度的方向是在圖像灰度最大變化率上,它恰好可以反映出圖像邊緣上的灰度變化
邊緣檢測(cè)的基本思想是首先利用邊緣增強(qiáng)算子,突出圖像中的局部邊緣,然后定義像素的“邊緣強(qiáng)度”,通過(guò)設(shè)置門限的方法提取邊緣點(diǎn)集。常用的邊緣檢測(cè)一階導(dǎo)數(shù)算子有Robert算子、Sobel算子、Prewitt算子、LOG算子和Canny算子,常用的邊緣檢測(cè)二階導(dǎo)數(shù)算子是拉普拉斯算子。設(shè)計(jì)流程圖:五.設(shè)計(jì)程序:/***************************main.c文件*****************************/#defineIMAGEWIDTH80#defineIMAGEHEIGHT80#defineMODEPHOTO11#defineMODEPHOTO22#defineMODEPHOTO33#defineMODEPHOTO44externvoidInitImage(unsignedintNmode,unsignedchar*pImage,intnWidth,intnHeight);externvoidbinarization(intnWidth,intnHeight);unsignedchardbImage[IMAGEWIDTH*IMAGEHEIGHT];unsignedchardbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];voidmain(){InitImage(MODEPHOTO1,dbImage,IMAGEWIDTH,IMAGEHEIGHT);binarization(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO2,dbImage,IMAGEWIDTH,IMAGEHEIGHT);binarization(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO3,dbImage,IMAGEWIDTH,IMAGEHEIGHT);binarization(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO4,dbImage,IMAGEWIDTH,IMAGEHEIGHT);binarization(IMAGEWIDTH,IMAGEHEIGHT);while(1);}/*************************InitImage.c文件**************************/#include<stdio.h>#defineMODEPHOTO11#defineMODEPHOTO22#defineMODEPHOTO33#defineMODEPHOTO44#defineGARYBARLECEL16voidReadImage(unsignedchar*pImage,char*cFileName,intnWidth,intnHeight){intj;unsignedchar*pWork;FILE*fp;if(fp=fopen(cFileName,"rb")){fseek(fp,1078L,SEEK_SET); pWork=pImage+(nHeight-1)*nWidth;for(j=0;j<nHeight;j++,pWork-=nWidth)fread(pWork,nWidth,1,fp);fclose(fp);}}voidInitImage(unsignedintnMode,unsignedchar*pImage,intnWidth,intnHeight){switch(nMode){caseMODEPHOTO1:ReadImage(pImage,"D:\\CCStudio_v3.3\\MyProjects\\middle_filter\\1.bmp",nWidth,nHeight);break;caseMODEPHOTO2:ReadImage(pImage,"D:\\CCStudio_v3.3\\MyProjects\\middle_filter\\2.bmp",nWidth,nHeight);break;caseMODEPHOTO3:ReadImage(pImage,"D:\\CCStudio_v3.3\\MyProjects\\middle_filter\\3.bmp",nWidth,nHeight);break;caseMODEPHOTO4:ReadImage(pImage,"D:\\CCStudio_v3.3\\MyProjects\\middle_filter\\4.bmp",nWidth,nHeight);break;default:break;}}/************************binarization.c文件************************/#defineIMAGEWIDTH80#defineIMAGEHEIGHT80#definethreshold_val80externunsignedchardbImage[IMAGEWIDTH*IMAGEHEIGHT];//原始externunsignedchardbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];//目標(biāo)intmi,mij,m_nWork2;unsignedintm_nWork,*pWork;unsignedchar*pImg1,*pImg2,*pImg3,*pImg;unsignedintx1,x2,x3,x4,x5,x6,x7,x8,x9,temp;unsignedinttab[9];voidbinarization(intnWidth,intnHeight){inti,j,k;pImg=dbTargetImage;for(i=0;i<IMAGEWIDTH;i++,pImg++)(*pImg)=0;(*pImg)=0;pImg1=dbImage;pImg2=pImg1+IMAGEWIDTH;pImg3=pImg2+IMAGEWIDTH;for(i=2;i<nHeight;i++){pImg++;x1=(*pImg1);pImg1++;x2=(*pImg1);pImg1++;x4=(*pImg2);pImg2++;x5=(*pImg2);pImg2++;x7=(*pImg3);pImg3++;x8=(*pImg3);pImg3++;for(mi=2;mi<nWidth;mi++,pImg++,pImg1++,pImg2++,pImg3++){x3=(*pImg1);x6=(*pImg2);x9=(*pImg3);tab[0]=x1;tab[1]=x2;tab[2]=x3;tab[3]=x4;tab[4]=x5;tab[5]=x6;tab[6]=x7;tab[7]=x8;tab[8]=x9;for(j=0;j<8;j++)for(k=j+1;k<9;k++){if(tab[j]<tab[k]){temp=tab[j];tab[j]=tab[k];tab[k]=temp;}}m_nWork2=tab[4];if(m_nWork2>=threshold_val&&m_nWork2<=255)m_nWork2=255;elseif(m_nWork2<threshold_val&&m_nWork2>=0)m_nWork2=0;(*pImg)=m_nWork2;x1=x2;x2=x3;x4=x5;x5=x6;x7=x8;x8=x9;}(*pImg)=0;pImg++;}}處理后的效果展示:設(shè)計(jì)心得:一晃十多天的課程設(shè)計(jì)已匆匆而過(guò),在這兩周的課設(shè)中我鞏固了相關(guān)知識(shí),并通過(guò)這次實(shí)踐我更加熟練的掌握了CCStudiov3.3軟件的操作技能,更是通過(guò)自我學(xué)習(xí)掌握了圖像二值化的知識(shí)和對(duì)圖像的幾項(xiàng)簡(jiǎn)單的處理。從而也認(rèn)識(shí)到了自己的不足之處,在今后的學(xué)習(xí)生活中還得繼續(xù)充實(shí)自己。通過(guò)這十多天的課程設(shè)計(jì)讓我加深了解了更多圖像處理的工作原理及編程方法,如:圖像的二值化、中值濾波、灰度直方圖的編程等等。我還學(xué)會(huì)了如何在資料中快速的獲得有用的信息從而尋找編程方向,和從幾方面了解哪種方法更加簡(jiǎn)便,優(yōu)異。記得剛開(kāi)始第一天聽(tīng)到課設(shè)題目及要求時(shí),一下子就懵了,不知從何下手,好多知識(shí)都不知道,之前并沒(méi)有更多的涉及到課設(shè)中所用到的知識(shí),后來(lái)經(jīng)過(guò)查資料和到圖書(shū)館借了許多有關(guān)的書(shū)籍,小組成員一起研究,忙綠了兩三天終于有了一點(diǎn)小小的進(jìn)展,初步知道了在完成課設(shè)時(shí)需要涉及的幾方面知識(shí)的具體內(nèi)容。但是我們卻不敢放松,因?yàn)槲覀冞€需要編程,這也是我的弱項(xiàng)。經(jīng)老師的提示,我們又開(kāi)始惡補(bǔ)涉及到幾個(gè)知識(shí)點(diǎn),讓它更細(xì)膩化,以便獲得更多的思路。往后的幾天開(kāi)始我們的進(jìn)度就開(kāi)始慢下來(lái)了。后來(lái)我們通過(guò)老師給的資料再加上反復(fù)的看資料我們才有了思路,大致編出了程序,但是初編時(shí)我們遇到了一些困難,。例如:編的程序中有語(yǔ)法錯(cuò)誤,出現(xiàn)重
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度工業(yè)廠房交易全程服務(wù)合同4篇
- 2024音樂(lè)制作方與影視制作公司版權(quán)許可合同
- 二零二五年度交通樞紐害蟲(chóng)防治與消毒作業(yè)合同3篇
- 專業(yè)水電安裝及消防系統(tǒng)承包合同2024年版版B版
- 2025年度12年首次智慧旅游項(xiàng)目合作協(xié)議3篇
- 2025年度叉車租賃合同范本(叉車租賃與維護(hù))4篇
- 2025年度智慧城市基礎(chǔ)設(shè)施場(chǎng)地平整與物聯(lián)網(wǎng)協(xié)議4篇
- 2025年度奶牛養(yǎng)殖牛場(chǎng)租賃合同范本3篇
- 2025年廠房租賃合同風(fēng)險(xiǎn)評(píng)估與管理規(guī)范4篇
- 2024年04月廣西桂林銀行南寧分行社會(huì)招考筆試歷年參考題庫(kù)附帶答案詳解
- GB/T 27662-2011激光光束指向和位置穩(wěn)定性測(cè)試方法
- GB/T 18101-2013難燃膠合板
- 根因分析(huangyan)課件
- 圓形蓄水池工程量及配筋Excel計(jì)算
- 浙教版初中科學(xué)八下《表示元素的符號(hào)》課件
- 總住院醫(yī)師管理制度
- 八年級(jí)上冊(cè)歷史 第二單元 社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹(shù)移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
評(píng)論
0/150
提交評(píng)論