课程设计(论文)- 25基于矩形物体的旋转角度测量_第1页
课程设计(论文)- 25基于矩形物体的旋转角度测量_第2页
课程设计(论文)- 25基于矩形物体的旋转角度测量_第3页
课程设计(论文)- 25基于矩形物体的旋转角度测量_第4页
课程设计(论文)- 25基于矩形物体的旋转角度测量_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE3燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:自动化仪表系学号学生姓名专业(班级)09级仪表三班设计题目25基于矩形物体的旋转角度测量设计技术参数根据图像处理的知识,确定图像中矩形物体的旋转角度,尽量使用较多的方法实现,并且比较每种方法的处理速度。设计要求设计确定图像中矩形物体的旋转角度,尝试不用的定位方法,并进行比较,设计中应具有自己的设计思路,设计体会。工作量1.了解有关Matlab的基本知识,学会在matlab环境中读入、显示图像。采用搜索了多种图像函数Im2bw、polyfit等等,在尝试第一种思路时,对于极坐标的建立不了解,故而放弃了第一种思路,进行第二种思路。3.查看图像增强的相关知识,和相关函数,对图像进行初步增强处理4.翻阅书籍,上网查资料,学习关于MATLAB控制语句的编写,采用FOR语句编写程序5.对多种方法做出一个综合评价工作计划1.12月9日(周一):学习Matlab基础应用;2.12月20日(周二):21日(周三):对课设题目进行思考,尝试不用思路进行课设设计。3.12月22日(周四):完善课设说明书,并准备答辩资料。4.12月23日(周五):上午,整理课设内容,完善答辩资料。下午,答辩。参考资料数字图像处理学电子工业出版社贾永红2003数字图像处理(Matlab版)电子工业出版社冈萨雷斯2006其他数字图像处理和matlab编程方面的书籍及相关学习资料指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2011年12月23日1、课程设计目的提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。课程设计题目基于矩形物体的旋转角度测量课程设计思路1.运用极坐标体系求出旋转角度2.通过中心定位,进行直线拟合,求出旋转角度4.课程设计步骤与程序在进行第一种思路的时候遇见了极坐标建立的问题,建立出极坐标太困难,进而进行第二种思路。提取图像,并进行灰度最大化提取图像,并进行灰度最大化将图像再二值化,并进行边缘处理将图像再二值化,并进行边缘处理求出矩形物体的四个顶点,找出物体中心。求出矩形物体的四个顶点,找出物体中心。进行边缘直线的拟合,通过直线斜率算出旋转角度进行边缘直线的拟合,通过直线斜率算出旋转角度.提取图像,并进行灰度最大化实行程序: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程序结果:原图像灰度化后的图像2.对图像进行二值化,并进行边缘处理实行程序:g=im2bw(t);h=bwmorph(g,'erode',1);程序结果:求出物体四个顶点,定位物体中心实行程序: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);%ԭͼÖеİ׵ã程序结果:定位出了中心点4.将边缘直线进行拟合,通过斜率求出旋转角度实行程序: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程序结果:求出旋转角度,完成整个程序。课程设计整个程序: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);%ÌáȡͼÏñÂÖÀª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);%ԭͼÖеİ׵ã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.课程设计分析与结论此次程序主要运用到了灰度化,二值化和边缘处理技术,在求得物体顶点坐标时,有一定的误差,故而在后面定位中心时也有一些误差,导致求得的旋转角度与实际角度会有一些差异,但是由于物体是矩形物体,误差会比较的小,可以忽略。总的来说,此次试验还是比较成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论