视觉测量实验报告.docx
- 文档编号:11494370
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:235.75KB
视觉测量实验报告.docx
《视觉测量实验报告.docx》由会员分享,可在线阅读,更多相关《视觉测量实验报告.docx(21页珍藏版)》请在冰点文库上搜索。
视觉测量实验报告
实验报
课程名称
视觉测量
实验项目
典型零件尺寸的图像处理与视觉测量
实验仪器
MATLAB
光电学院
测控技术与仪器
实验目的:
通过本实验,给学生提供边学习边实践的机会,应用平时所学的知识,通过一些编程软件处理一些图像,观察处理之后的效果,可以巩固所学知识,提高学生的动手能力和编程水平。
实验要求:
已修过《数字图像处理》和《视觉测量技术》课程。
实验报告要求:
每人提交一份电子版实验报告,报告内容包括:
封皮,实验要求,实验思路和过程,实验结果,实验遇到的问题及解决方法,附上程序。
实验内容:
采用MATLAB或VC++编制程序,实现图像中尺寸参数的测量。
课上实践:
(1)求图1中直线的参数方程,按照y=kx+b的形式给出。
(思路:
先提取
出边缘点,然后用边缘点拟合直线)
图1求出图中直线
MATLAB程序如下:
figure(l)
大三下的各种文档视觉测量技术实验一\1.bmp');imshow(l);
[H,T,R]=hough(BW);imshow(H,[],'XData',T,'YData',R,...
'InitialMagnification',‘fit');xlabel('\theta'),ylabel('\rho');axison,axisnormal,holdon;
P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:
))));
x=T(P(:
2));y=R(P(:
1));
plot(x,y,'s','color','white');
%Findlinesandplotthem
lines=houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);figure,imshow(I),holdon
max_len=0;
fork=1:
(length(lines)-9)
xy=[lines(k).point1;lines(k).point2];
plot(xy(:
1),xy(:
2),'LineWidth',2,'Color','green');
%Plotbeginningsandendsoflinesplot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
%Determinetheendpointsofthelongestlinesegmentlen=norm(lines(k).point1-lines(k).point2);
if(len>max_len)
max_len=len;
xy_long=xy;
endend
%highlightthelongestlinesegment
Plot(xy_long(:
1),xy_long(:
2),'LineWidth',2,'Color','blue');disp=([y='Poly2str(p,'x')]);
);
gtext('y=-0.8x+222.6'
(2)按照拟合法求图2中圆的参数,即给出圆心位置和半径。
(思路:
先提取出
边缘点,然后用边缘点拟合圆)
程序代码:
创建函数:
>>function
图2求出图中圆的圆心位置和半径
[hough_space,hough_circle,para]hough_circle(BW,step_r,step_angle,r_min,r_max,p);
[m,n]=size(BW);
size_r=round((r_max-r_min)/step_r)+1;size_angle=round(2*pi/step_angle);
hough_space=zeros(m,n,size」);
[rows,cols]=find(BW);ecount=size(rows);
%Hough变换
%将图像空间(x,y)对应到参数空间(a,b,r)
%a=x-r*cos(angle)
%b=y-r*sin(angle)
fori=1:
ecount
forr=1:
sizer
fork=1:
size_angle
a=round(rows(i)-(r_min+(r-1)*step_r)*cos(k*step_angle));b=round(cols(i)-(r_min+(r-1)*step_r)*sin(k*step_angle));if(a>0&a<=m&b>0&b<=n)
hough_space(a,b,r)=hough_space(a,b,r)+1;end
end
endend%搜索超过阈值的聚集点
max_para=max(max(max(hough_space)));
index=find(hough_space>=max_para*p);length=size(index);
hough_circle=zeros(m,n);fori=1:
ecount
fork=1:
length
par3=floor(index(k)/(m*n))+1;
par2=floor((index(k)-(par3-1)*(m*n))/m)+1;par1=index(k)-(par3-1)*(m*n)-(par2-1)*m;
if((rows(i)-par1)A2+(cols(i)-pa⑵^2<(r_min+(par3-1)*step_r)A2+5&…(rows(i)-par1)A2+(cols(i)-pa⑵^2>(r_min+(par3-1)*step_r)A2-5)
hough_circle(rows(i),cols(i))=1;end
endend%打印结果
fork=1:
length
par3=floor(index(k)/(m*n))+1;
par2=floor((index(k)-(par3-1)*(m*n))/m)+1;par1=index(k)-(par3-1)*(m*n)-(par2-1)*m;
par3=r_min+(par3-1)*step_r;
fprintf(1,'Center%d%dradius%d\n',par1,par2,par3);para(:
k)=[par1,par2,par3]';
end
主程序:
大三下的各种文档视觉测量技术实验一\2.bmp');
[m,n,l]=size(I);
ifl>1
I=rgb2gray(I);
end
BW=edge(I,'sobel');
step_r=1;
minr=40;maxr=60;thresh=0.7;
原图')
边缘')
检测结果')
[hough_space,hough_circle,para]=hough_circle(BW,step_r,step_angle,minr,maxr,thresh);
subplot(221),imshow(l),title('
subplot(222),imshow(BW),title('
subplot(223),imshow(hough_circle),title('xx=95;
yy=125;
r=57;
实验结果:
Center95125radius57
(3)有一中间带孔的三角形工件,其设计尺寸如下图所示:
从加工好的一批工件中随机抽取一件,在其正上方拍摄一张工件的图像如下
图所示:
(1).分别提取工件的内外边缘并做区分显示;
(2).计算工件上圆孔的圆心坐标及半径(图像坐标),及工件的两个锐角的角
度;
(3).用卡尺测量工件的长边尺寸为200mm,和设计尺寸200m—致,那么用
二维视觉测量的方法从图像上判断该工件其他尺寸是否能满足整体的加工精度
高于1mm的要求,为什么?
(1)、程序如下:
大三下的各种文档视觉测量技术实验一\TriangularPart.bmp');%rotI=imrotate(I,10,'crop');%旋转90度
I=rgb2gray(I);thr=[0.01,0.17];sigma=2;
BW=edge(double(I),'canny',thr,sigma);%figure
(1),imshow(BW),title('canny边缘检测');
step_r=1;
step_angle=0.1;
minr=50;
maxr=70;
thresh=0.2;
[hough_space,hough_circle,para]hough_circle(BW,step_r,step_angle,minr,maxr,thresh);imwrite(hough_circle,'找出的圆.bmp','bmp');D=imread('找出的圆.bmp');
%figure
(2),imshow(D);holdon
[H,T,R]=hough(BW);axison,axisnormal
%peak=houghpeaks(H,5);
P=houghpeaks(H,5,'threshold',ceil(0.1*max(H(:
))));holdon
lines=houghlines(BW,T,R,P,'FillGap',1000,'MinLength',100);
subplot(221),imshow(BW),title('canny边缘检测');subplot(222),imshow(D);title('检测出来的圆')subplot(223),imshow(BW,[]);
title('HoughTransformofGantrycraneImage');holdon
%max_len=0;
fork=1:
length(lines)
xy=[lines(k).point1;lines(k).point2];
plot(xy(:
1),xy(:
2),'LineWidth',4,'Color','green');
end
答案:
Center665438radius54
Center675439radius56
Center664463radius56
Center660447radius57
Center669442radius59
Center674442radius59
Center662456radius59
Center681457radius59
Center680458radius59
Center667444radius60
Center677444radius60
Center665445radius60
Center666445radius60
Center663456radius60
Center669461radius60
Center674462radius60
Center674444radius61
Center675444radius61
Center667445radius61
Center666446radius61
Center664448radius61
Center663452radius61
Center663453radius61
Center664456radius61
Center677458radius61
Center678458radius61
Center668460radius61
Center669460radius61
Center670445radius62
Center673445radius62
Center674445radius62
Center675445radius62
Center676446radius62
Center665449radius62
Center664452radius62
Center664453radius62
Center679454radius62
Center679455radius62
Center665456radius62
Center677457radius62
Center669459radius62
Center670459radius62
Center671459radius62
Center670446radius63
Center673446radius63
Center674446radius63
Center677448radius63
Center666449radius63
Center678451radius63
Center665452radius63
Center678452radius63
Center665453radius63
Center678453radius63
Center666455radius63
Center677455radius63
Center676456radius63
Center677456radius63
Center675457radius63
Center669458radius63
Center670458radius63
Center673447radius64
Center674447radius64
Center675447radius64
Center668448radius64
Center675448radius64
Center676448radius64
Center667449radius64
Center676449radius64
Center666450radius64
Center667450radius64
Center666451radius64
Center666452radius64
Center677452radius64
Center666453radius64
Center677453radius64
Center667454radius64
Center676454radius64
Center667455radius64
Center676455radius64
Center675456radius64
Center668457radius64
Center669457radius64
Center670457radius64
Center672457radius64
Center673448radius65
Center674448radius65
Center675448radius65
Center668449radius65
Center669449radius65
Center675449radius65
Center667450radius65
Center668450radius65
Center675450radius65
Center676450radius65
Center667451radius65
Center676451radius65
Center667452radius65
Center676452radius65
Center667453radius65
Center676453radius65
Center668454radius65
Center675454radius65
Center669455radius65
Center675455radius65
Center669456radius65
Center670456radius65
Center671456radius65
Center672456radius65
Center673456radius65
Center672457radius65
Center670448radius66
Center671448radius66
Center669449radius66
Center670449radius66
Center671449radius66
Center672449radius66
Center673449radius66
Center674449radius66
Center669450radius66
Center674450radius66
Center675450radius66
Center668451
radius66
Center669451
radius66
Center674451
radius66
Center675451
radius66
Center668452radius66
Center668453radius66
Center674453radius66
Center675453radius66
Center669454radius66
Center674454radius66
Center669455radius66
Center670455radius66
Center671455radius66
Center672455radius66
Center672456radius66
Center673456radius66
Center671449radius67
Center672449radius67
Center673449radius67
Center670450radius67
Center671450radius67
Center672450radius67
Center673450radius67
Center674450radius67
Center669452radius67
Center670452radius67
Center674452radius67
Center669453radius67
Center670453radius67
Center673453radius67
Center674453radius67
Center669454radius67
Center670454radius67
Center671454radius67
Center672454radius67
Center673454radius67
Center671455radius67
Center672455radius67
Center673455radius67
Center671450radius68
Center672450radius68
Center673450radius68
Center669451radius68
Center670451radius68
Center672451radius68
Center673451radius68
Center674451radius68
Center670452radius68
Center671452radius68
Center672452radius68
Center673452radius68
Center674452radius68
Center669453radius68
Center670453radius68
Center671453radius68
Center672453radius68
Center673453radius68
Center670454radius68
Center671454radius68
Center672454radius68
Center673454radius68
Center674454radius68
Center670450radius69
Center671450radius69
Center673450radius69
Center670451
radius69
Center671451
radius69
Center672451
radius69
Center673451
radius69
Center669452radius69
Center670452radius69
Center671452radius69
Center672452radius69
Center673452radius69
Center674452radius69
Center670453radius69
Center671453radius69
Center672453radius69
Center673453radius69
Center674453radius69
Center671454radius69
Center672454radius69
Center671455radius69
Center670450
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 视觉 测量 实验 报告