霍夫变换试验.doc
文本预览下载声明
实验报告册
数字图形图像处理
霍夫变换试验
学 院: 人民武装学院学院
专 业: 计算机科学与技术
班 级: 11级计科班
学 号: 1120070544
学生姓名: 苏靖
指导教师:
实验目的:
1.掌握MATLAB软件的使用,以及其设计流程;
2.掌握霍夫变换的实现方法;
3.用MATLAB语言设计基于霍夫变换的任意图形的识别。
4.掌握图像分割的基本原理及应用。
实验内容:
通过全局阈值及局部阈值实现灰度图像二值化;
通过Hough检测图像中的直线。
二、实验仪器或设备
装MATLAB软件的微机一台
三、总体设计原理及流程图
1、程序设计的原理 霍夫变换的基本思想就是把图像平面上的点对应到参数平面上的曲线,最后通过统计特性来解决问题。具有良好的抗噪声性能和对部分遮盖的不敏感等特性 。
2、程序流程图
四、实验要求
程序结构清晰,运行结果正确。
描述上述程序的设计、实现和结果,并对结果进行分析。
五、主要程序代码
1、霍夫变换检测圆程序
clear all;
close all;
clc;
% [cr,st]=circle_product;%st(1)-x,st(2)-y,st(3)-r
cr=imread(sample.bmp);%circle1.bmp
figure;
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
end end for k3=1:1:p
if Y(k3)==0Q(k3)==0
break;
end end % 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(z1-z2)=0.1abs(z1=z3)=0.1abs(z1=z4)=0.1abs(z1=z5)=0.1abs(z2=z3)=0.1abs(z2=z4)=0.1abs(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=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)=.1abs(z1=z3)=.1abs(z1=z4)=.1abs(z1=z5)=.1abs(z1=z6)=.1abs(z2=z3)=1abs(z2=z4)
显示全部