




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE3燕山大學(xué)課程設(shè)計(論文)任務(wù)書院(系):電氣工程學(xué)院基層教學(xué)單位:自動化儀表系學(xué)號學(xué)生姓名專業(yè)(班級)09級儀表三班設(shè)計題目25基于矩形物體的旋轉(zhuǎn)角度測量設(shè)計技術(shù)參數(shù)根據(jù)圖像處理的知識,確定圖像中矩形物體的旋轉(zhuǎn)角度,盡量使用較多的方法實現(xiàn),并且比較每種方法的處理速度。設(shè)計要求設(shè)計確定圖像中矩形物體的旋轉(zhuǎn)角度,嘗試不用的定位方法,并進行比較,設(shè)計中應(yīng)具有自己的設(shè)計思路,設(shè)計體會。工作量1.了解有關(guān)Matlab的基本知識,學(xué)會在matlab環(huán)境中讀入、顯示圖像。采用搜索了多種圖像函數(shù)Im2bw、polyfit等等,在嘗試第一種思路時,對于極坐標的建立不了解,故而放棄了第一種思路,進行第二種思路。3.查看圖像增強的相關(guān)知識,和相關(guān)函數(shù),對圖像進行初步增強處理4.翻閱書籍,上網(wǎng)查資料,學(xué)習(xí)關(guān)于MATLAB控制語句的編寫,采用FOR語句編寫程序5.對多種方法做出一個綜合評價工作計劃1.12月9日(周一):學(xué)習(xí)Matlab基礎(chǔ)應(yīng)用;2.12月20日(周二):21日(周三):對課設(shè)題目進行思考,嘗試不用思路進行課設(shè)設(shè)計。3.12月22日(周四):完善課設(shè)說明書,并準備答辯資料。4.12月23日(周五):上午,整理課設(shè)內(nèi)容,完善答辯資料。下午,答辯。參考資料數(shù)字圖像處理學(xué)電子工業(yè)出版社賈永紅2003數(shù)字圖像處理(Matlab版)電子工業(yè)出版社岡薩雷斯2006其他數(shù)字圖像處理和matlab編程方面的書籍及相關(guān)學(xué)習(xí)資料指導(dǎo)教師簽字基層教學(xué)單位主任簽字說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。2011年12月23日1、課程設(shè)計目的提高分析問題、解決問題的能力,進一步鞏固數(shù)字圖像處理系統(tǒng)中的基本原理與方法。熟悉掌握一門計算機語言,可以進行數(shù)字圖像的應(yīng)用處理的開發(fā)設(shè)計。課程設(shè)計題目基于矩形物體的旋轉(zhuǎn)角度測量課程設(shè)計思路1.運用極坐標體系求出旋轉(zhuǎn)角度2.通過中心定位,進行直線擬合,求出旋轉(zhuǎn)角度4.課程設(shè)計步驟與程序在進行第一種思路的時候遇見了極坐標建立的問題,建立出極坐標太困難,進而進行第二種思路。提取圖像,并進行灰度最大化提取圖像,并進行灰度最大化將圖像再二值化,并進行邊緣處理將圖像再二值化,并進行邊緣處理求出矩形物體的四個頂點,找出物體中心。求出矩形物體的四個頂點,找出物體中心。進行邊緣直線的擬合,通過直線斜率算出旋轉(zhuǎn)角度進行邊緣直線的擬合,通過直線斜率算出旋轉(zhuǎn)角度.提取圖像,并進行灰度最大化實行程序:f=imread('5.jpg');rr=rgb2gray(f);t=rgb2gray(f);%g=imadjust(g,[0,1],[1,0]);%g=logical(g);%g=bwmorph(g,'thin',Inf);[M,N]=size(t);if(t(1,1)<50)fori=1:Mforj=1:Nif(t(i,j)>=70)t(i,j)=255;elset(i,j)=0;endendEndelsefori=1:Mforj=1:Nif(t(i,j)<=100)t(i,j)=255;elset(i,j)=0;endendendend程序結(jié)果:原圖像灰度化后的圖像2.對圖像進行二值化,并進行邊緣處理實行程序:g=im2bw(t);h=bwmorph(g,'erode',1);程序結(jié)果:求出物體四個頂點,定位物體中心實行程序:w=g-h;g1=bwmorph(w,'spur',Inf);%imshow(g1);[m,n,num]=find(g1);x1=min(m);x2=max(m);y1=min(n);y2=max(n);fori=1:Nifg1(x1,i)~=0yx1=i;i=N;endendU1=[x1yx1];%μúò???μ?×?±êforj=N:-1:1ifg1(x2,j)~=0yx2=j;j=1;endendU2=[x2yx2];fori=1:Mifg1(i,y1)~=0xy1=i;i=M;endendU3=[xy1y1];forj=M:-1:1ifg1(j,y2)~=0xy2=j;j=1;endendU4=[xy2y2];A1=[x1x2];B1=[yx1yx2];f1=polyfit(A1,B1,1);A2=[xy1xy2];B2=[y1y2];f2=polyfit(A2,B2,1);%solve(f1,f2);[xy]=solve('f1(1)*x+f1(2)-y','f2(1)*x+f2(2)-y');x=-(f1(2)-f2(2))/(f1(1)-f2(1));y=(-f2(1)*f1(2)+f2(2)*f1(1))/(f1(1)-f2(1));x=fix(x)y=fix(y)rr(x,y)=255;t(x,y)=0;g1(x,y)=1;%figure,imshow(g1);figure,imshow(t);%figure,imshow(rr);%?-í??Dμ?°×μ?程序結(jié)果:定位出了中心點4.將邊緣直線進行擬合,通過斜率求出旋轉(zhuǎn)角度實行程序:X1=[x1xy1];Y1=[yx1y1];f1=polyfit(X1,Y1,1);X2=[x2xy2];Y2=[yx2y2];f2=polyfit(X2,Y2,1);X3=[x1xy2];Y3=[yx1y2];f3=polyfit(X3,Y3,1);X4=[x2xy1];Y4=[yx2y1];f4=polyfit(X4,Y4,1);if((power((x1-xy1),2)+power((yx1-y1),2))>(power((x1-xy2),2)+power((yx1-y2),2)))if(y1==y2)s=90elses1=atan(f1)*180/pi+90;s2=atan(f2)*180/pi+90;s3=atan(f3)*180/pi;s4=atan(f4)*180/pi;s=(s1+s2+s3+s4)/4endelses1=atan(f1)*180/pi+180;s2=atan(f2)*180/pi+180;s3=atan(f3)*180/pi+90;s4=atan(f4)*180/pi+90;s=(s1+s2+s3+s4)/4end程序結(jié)果:求出旋轉(zhuǎn)角度,完成整個程序。課程設(shè)計整個程序:f=imread('5.jpg');rr=rgb2gray(f);t=rgb2gray(f);%g=imadjust(g,[0,1],[1,0]);%g=logical(g);%g=bwmorph(g,'thin',Inf);[M,N]=size(t);if(t(1,1)<50)fori=1:Mforj=1:Nif(t(i,j)>=70)t(i,j)=255;elset(i,j)=0;endendendelsefori=1:Mforj=1:Nif(t(i,j)<=100)t(i,j)=255;elset(i,j)=0;endendendendg=im2bw(t);h=bwmorph(g,'erode',1);%ìáè?í?????àaw=g-h;g1=bwmorph(w,'spur',Inf);%imshow(g1);[m,n,num]=find(g1);x1=min(m);x2=max(m);y1=min(n);y2=max(n);%?óè??àó|μ?μ?×?±ê?????¥μ?fori=1:Nifg1(x1,i)~=0yx1=i;i=N;endendU1=[x1yx1];%μúò???μ?×?±êforj=N:-1:1ifg1(x2,j)~=0yx2=j;j=1;endendU2=[x2yx2];fori=1:Mifg1(i,y1)~=0xy1=i;i=M;endendU3=[xy1y1];forj=M:-1:1ifg1(j,y2)~=0xy2=j;j=1;endendU4=[xy2y2];A1=[x1x2];B1=[yx1yx2];f1=polyfit(A1,B1,1);A2=[xy1xy2];B2=[y1y2];f2=polyfit(A2,B2,1);%solve(f1,f2);[xy]=solve('f1(1)*x+f1(2)-y','f2(1)*x+f2(2)-y');x=-(f1(2)-f2(2))/(f1(1)-f2(1));y=(-f2(1)*f1(2)+f2(2)*f1(1))/(f1(1)-f2(1));x=fix(x)y=fix(y)rr(x,y)=255;t(x,y)=0;g1(x,y)=1;%figure,imshow(g1);figure,imshow(t);%figure,imshow(rr);%?-í??Dμ?°×μ?X1=[x1xy1];Y1=[yx1y1];f1=polyfit(X1,Y1,1);X2=[x2xy2];Y2=[yx2y2];f2=polyfit(X2,Y2,1);X3=[x1xy2];Y3=[yx1y2];f3=polyfit(X3,Y3,1);X4=[x2xy1];Y4=[yx2y1];f4=polyfit(X4,Y4,1);if((power((x1-xy1),2)+power((yx1-y1),2))>(power((x1-xy2),2)+power((yx1-y2),2)))if(y1==y2)s=90elses1=atan(f1)*180/pi+90;s2=atan(f2)*180/pi+90;s3=atan(f3)*180/pi;s4=atan(f4)*180/pi;s=(s1+s2+s3+s4)/4endelses1=atan(f1)*180/pi+180;s2=atan(f2)*180/pi+180;s3=atan(f3)*180/pi+90;s4=atan(f4)*180/pi+90;s=(s1+s2+s3+s4)/4end5.課程設(shè)計分析與結(jié)論此次程序主要運用到了灰度化,二值化和邊緣處理技術(shù),在求得物體頂點坐標時,有一定的誤差,故而在后面定位中心時也有一些誤差,導(dǎo)致求得的旋轉(zhuǎn)角度與實際角度會有一些差異,但是由于物體是矩形物體,誤差會比較的小,可以忽略??偟膩碚f,此次試驗還是比較成功
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 異面直線及其夾角性質(zhì)課件
- 幼兒園三生教育教案
- 幼兒園如何開展值日生活動
- 中醫(yī)診斷學(xué)-辨證-概說、八綱課件
- 房屋頂賬協(xié)議書和合同
- 神明合同協(xié)議書
- 水田合同協(xié)議書范本
- 酒瓶合同協(xié)議書
- 外借合同協(xié)議書
- 廠房合同協(xié)議書乙方
- DB31T-人形機器人 分類分級應(yīng)用指南
- 黑龍江省既有建筑改造工程消防設(shè)計指南(2024年版)
- 多尺度圖像分析
- 中醫(yī)文化主題班會
- 4.4.7.3 跟蹤出站調(diào)車作業(yè)課件講解
- 河南省開封市鐵路中學(xué)2023-2024學(xué)年八年級下學(xué)期6月期末歷史試題
- 第三單元 文明與家園 大單元教學(xué)設(shè)計-2023-2024學(xué)年部編版道德與法治九年級上冊
- 泰康集團線上測評真題
- 超氧化物歧化酶課件
- 第四章-國防動員
- 設(shè)備管理培訓(xùn)課件-設(shè)備管理的戰(zhàn)略規(guī)劃
評論
0/150
提交評論