ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:58.73KB ,
资源ID:12593198      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12593198.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(霍夫变换检测圆和直线.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

霍夫变换检测圆和直线.docx

1、霍夫变换检测圆和直线霍夫变换检测圆和直线霍夫变换检测任意形状一、 实验目的1 掌握MATLAB软件的使用,以及其设计流程;2 掌握霍夫变换的实现方法;3 用MATLAB语言设计基于霍夫变换的任意图形的识别。二、 实验仪器或设备 装MATLAB软件的微机一台三、 总体设计原理及流程图1、程序设计的原理霍夫变换的基本思想就是把图像平面上的点对应到参数平面上的曲线,最后通过统计特性来解决问题。具有良好的抗噪声性能和对部分遮盖的不敏感等特性 。2、程序流程图程序开始打开图形基于霍夫曼变换的简单图形识别霍夫变换检测直线霍夫变换检测圆识别得到的图像保存图像程序结束四、 主要程序代码1、 霍夫变换检测圆程序

2、clear all; close all; clc;% cr,st=circle_product;%st(1)-x,st(2)-y,st(3)-rcr=imread(sample.bmp);%circle1.bmpfigure;imshow(cr);row,range=size(cr);p=row*range;a=0;Y=zeros(1,p);Q=zeros(1,p);for k1=1:1:row for k2=1:1:range if cr(k1,k2)=0 a=a+1; XXX=k2-1;YYY=row+1-k1; Y(a)=YYY;Q(a)=XXX; end endendfor k3=1

3、:1:p if Y(k3)=0&Q(k3)=0 break; endend% z=ones(1,5);% a=1:1:300;b=1:1:300;% z1=sqrt(a-Q(1).2+(b-Y(1).2);% z2=sqrt(a-Q(2).2+(b-Y(2).2);% z3=sqrt(a-Q(3).2+(b-Y(3).2);% z4=sqrt(a-Q(4).2+(b-Y(4).2);% z5=sqrt(a-Q(5).2+(b-Y(5).2);% % z1=sqrt(a-Q(1)*(a-Q(1)+(b-Y(1)*(b-Y(1);% % Z1=(a-Q(1).2+(b-Y(1).2;r0=(abs

4、(z1-z2)=0.1&abs(z1=z3)=0.1&abs(z1=z4)=0.1&abs(z1=z5)=0.1&abs(z2=z3)=0.1&abs(z2=z4)=0.1&abs(z2=z5)=0.1);% r=r0.*z1;% aa=r0.*a;% bb=r0.*b;% rrr=round(r(r0=0)% aaa=aa(r0=0)% bbb=bb(r0=0)k7=floor(k3/6);k5=2;a=1:1:300;b=1:1:300;rrr=zeros(1,p);aaa=zeros(1,p);bb=zeros(1,p);k6=0;as=0;k11=1;for k5=1:1:k7% k6

5、=0;%z1=sqrt(a-Q(k5).2+(b-Y(k5).2);z2=sqrt(a-Q(k5+1).2+(b-Y(k5+1).2);z3=sqrt(a-Q(k5+2).2+(b-Y(k5+2).2);z4=sqrt(a-Q(k5+3).2+(b-Y(k5+3).2);z5=sqrt(a-Q(k5+4).2+(b-Y(k5+4).2);z6=sqrt(a-Q(k5+5).2+(b-Y(k5+5).2);r0=(abs(z1-z2)=.1&abs(z1=z3)=.1&abs(z1=z4)=.1&abs(z1=z5)=.1&abs(z1=z6)=.1&abs(z2=z3)=1&abs(z2=z4

6、)=.1&abs(z2=z5)=.1&abs(z2=z6)=.1);rr=r0.*z1;aa=r0.*a;bb=r0.*b;m,n=size(rr);if rr=zeros(1,n); as=as+1; continue;endpz1,pz=size(rr(r0=0);rrr=round(rr(r0=0)aaa=aa(r0=0)bbb=bb(r0=0)pz2=pz+k11-1;k9=1;for k8=k11:pz2 RR(k8)=rrr(k9); XX(k8)=aaa(k9); YY(k8)=bbb(k9); k9=k9+1;endk11=k8+1;% if rr=zeros(1,n);% a

7、s=as+1; continue;% endend% if aa=zeros(1,300)% as=1% endrangex=1:1:range;rowy=1:1:row;RX,RY=meshgrid(rangex,rowy);RT=RX;figure;mesh(RX,RY,RT);hold on;plot3(XX,YY,RR,ko);%5rhao,nn=the_max1(XX,YY,RR); i1=ones(row,range);rhaocenter=rhao;% t2=1.5;t3=1.5; for k1=1:1:row for k2=1:1:range XXX=k2-1;YYY=row+

8、1-k1; if abs(XXX-center(1)*(XXX-center(1)+(YYY-center(2)*(YYY-center(2)-center(3)*center(3)=101 i1(k1,k2)=0; end end end imwrite(i1,找出的圆.bmp,bmp); i2=imread(找出的圆.bmp); figure;imshow(i2);%st2、 霍夫变换检测直线clear all; close all; clc;i=imread(sample.bmp);row,range=size(i);p=row*range;a=0;Y=zeros(1,p);Q=zero

9、s(1,p);for k1=1:1:row for k2=1:1:range if i(k1,k2)=0 a=a+1; XXX=k2-1;YYY=row+1-k1; Y(a)=YYY;Q(a)=YYY-XXX; end endend% for t=1:1:a% o=Y(t) Q(t)% endX1=0 1;Y1=Y(1) Q(1);plot(X1,Y1,r);hold on;YY=zeros(1,a-1);QQ=zeros(1,a-1);for t=2:1:a X2=0 1;Y2=Y(t) Q(t); plot(X2,Y2); YY(t-1),QQ(t-1)=pll(X1,Y1,X2,Y2);

10、% yyy=YY(t-1)% qqq=QQ(t-1)%看交点 plot(YY(t-1),QQ(t-1),ko);end % res=gather_point(YY,QQ,QQ);nn=0;res% m,n3=size(YY);% for no1=1:1:n3% n=0;% for no2=(no1+1):1:n3% if (abs(res(no2,1)-res(no1,1)=0.0001&abs(res(no2,2)-res(no1,2)=0.0001&abs(res(no2,2)-res(no1,2)=n3/5% rhao=hao;break;% elseif nnn% rhao=hao;n

11、n=n;% end% endrhao=the_max1(YY,QQ,QQ); % yyy=YY% qqq=QQ% t2=0;t3=0;% for t1=2:1:t% t2=YY(t1)+t2;% t3=t3+QQ(t1);% end% t2=t2/(t1-1)% t3=t3/(t1-1)%t2=m,t3=b% i1=ones(row,range);% t2=2;t3=0; i1=ones(row,range);rhaot2=rhao(1);t3=rhao(2);t2=round(t2);t3=round(t3);% t2=1.5;t3=1.5; for k1=1:1:row for k2=1:1:range XXX=k2-1;YYY=row+1-k1; if abs(YYY-(t2*XXX+t3)=1%YYY=t2*XXX+t3 i1(k1,k2)=0; end end end imwrite(i1,找出的直线.bmp,bmp); i2=imread(找出的直线.bmp); figure; subplot(2,1,1); imshow(i); subplot(2,1,2); imshow(i2); 五、 实验结果1、 霍夫变换检测圆实验结果截图待检测的图:检测出的圆:2、 霍夫变换检测直线实验结果截图待检测的图检测出的直线

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1