課程設(shè)計(論文)- 25基于矩形物體的旋轉(zhuǎn)角度測量_第1頁
課程設(shè)計(論文)- 25基于矩形物體的旋轉(zhuǎn)角度測量_第2頁
課程設(shè)計(論文)- 25基于矩形物體的旋轉(zhuǎn)角度測量_第3頁
課程設(shè)計(論文)- 25基于矩形物體的旋轉(zhuǎn)角度測量_第4頁
課程設(shè)計(論文)- 25基于矩形物體的旋轉(zhuǎn)角度測量_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rè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)角度,嘗試不用的定位方法,并進(jìn)行比較,設(shè)計中應(yīng)具有自己的設(shè)計思路,設(shè)計體會。工作量1.了解有關(guān)Matlab的基本知識,學(xué)會在matlab環(huán)境中讀入、顯示圖像。采用搜索了多種圖像函數(shù)Im2bw、polyfit等等,在嘗試第一種思路時,對于極坐標(biāo)的建立不了解,故而放棄了第一種思路,進(jìn)行第二種思路。3.查看圖像增強的相關(guān)知識,和相關(guān)函數(shù),對圖像進(jìn)行初步增強處理4.翻閱書籍,上網(wǎng)查資料,學(xué)習(xí)關(guān)于MATLAB控制語句的編寫,采用FOR語句編寫程序5.對多種方法做出一個綜合評價工作計劃1.12月9日(周一):學(xué)習(xí)Matlab基礎(chǔ)應(yīng)用;2.12月20日(周二):21日(周三):對課設(shè)題目進(jìn)行思考,嘗試不用思路進(jìn)行課設(shè)設(shè)計。3.12月22日(周四):完善課設(shè)說明書,并準(zhǔn)備答辯資料。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è)計目的提高分析問題、解決問題的能力,進(jìn)一步鞏固數(shù)字圖像處理系統(tǒng)中的基本原理與方法。熟悉掌握一門計算機(jī)語言,可以進(jìn)行數(shù)字圖像的應(yīng)用處理的開發(fā)設(shè)計。課程設(shè)計題目基于矩形物體的旋轉(zhuǎn)角度測量課程設(shè)計思路1.運用極坐標(biāo)體系求出旋轉(zhuǎn)角度2.通過中心定位,進(jìn)行直線擬合,求出旋轉(zhuǎn)角度4.課程設(shè)計步驟與程序在進(jìn)行第一種思路的時候遇見了極坐標(biāo)建立的問題,建立出極坐標(biāo)太困難,進(jìn)而進(jìn)行第二種思路。提取圖像,并進(jìn)行灰度最大化提取圖像,并進(jìn)行灰度最大化將圖像再二值化,并進(jìn)行邊緣處理將圖像再二值化,并進(jìn)行邊緣處理求出矩形物體的四個頂點,找出物體中心。求出矩形物體的四個頂點,找出物體中心。進(jìn)行邊緣直線的擬合,通過直線斜率算出旋轉(zhuǎn)角度進(jìn)行邊緣直線的擬合,通過直線斜率算出旋轉(zhuǎn)角度.提取圖像,并進(jì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.對圖像進(jìn)行二值化,并進(jìn)行邊緣處理實行程序: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.將邊緣直線進(jìn)行擬合,通過斜率求出旋轉(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ù),在求得物體頂點坐標(biāo)時,有一定的誤差,故而在后面定位中心時也有一些誤差,導(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論