激光十字光斑ppt课件

上传人:我*** 文档编号:148822873 上传时间:2020-10-22 格式:PPTX 页数:25 大小:1.67MB
返回 下载 相关 举报
激光十字光斑ppt课件_第1页
第1页 / 共25页
激光十字光斑ppt课件_第2页
第2页 / 共25页
激光十字光斑ppt课件_第3页
第3页 / 共25页
激光十字光斑ppt课件_第4页
第4页 / 共25页
激光十字光斑ppt课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《激光十字光斑ppt课件》由会员分享,可在线阅读,更多相关《激光十字光斑ppt课件(25页珍藏版)》请在金锄头文库上搜索。

1、,汇报人:聂添舜,制作日期:2016.3.24,燕山大学仪表科学与工程系,学号:120103020123,指导教师:王书涛,摘要,课程设计内容: 确定图像十字光斑中心点的位置。 使用了三种方法:求两直线交点坐标定位法、找多个坐标取平均值定位法、基于图像灰度值差异定位法。 最后对三种方法的运行精度和处理速度进行比较。,目录,求两直线交点坐标定位法,找多个坐标值取平均值定位法,基于图像灰度值差异定位法,三种方法的比较与分析,一、求两直线交点坐标定位法,求两直线交点坐标定位法,1、读取图像。 2、提取图像R分量 3、将R分量图像二值化。 4、找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐

2、标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1列, b2列中像素为1的坐标值。 5、对a1、a2行值为1的像素所在列数进行记录,并取平均值,即为十字最上方的横坐标x1、x2。对b1、b2列值为1的像素所在行数进行记录,并取平均值,即为十字最左方的纵坐标y1、y2。 6、对最上方与最下方的横坐标取平均值,即为中心点的横坐标;对最左方与最右方的纵坐标取平均值,即为中心点的纵坐标。,整体设计思路,求两直线交点坐标定位法,1.先读取要处理的图像,clear all;clc; I=imread(D:十字光斑图像十字光斑.JPG); I1=imread(D:十字光斑图像十字光斑2.JP

3、G); I2=imread( D:十字光斑图像十字光斑3.JPG );,2.提取图像的R分量(因为其对比度较高),R=I1(:,:,1); subplot(121);imshow(I1);title(原图像); subplot(122);imshow(R);title(原图像的R分量);,3.利用全局阈值分割法将R分量图像二值化,B=im2bw(R,graythresh(R);%将图像二值化 figure,imshow(B);title(二值化图像);,求两直线交点坐标定位法,5、对a1行值为1的像素所在列数进行记录,并取平均值,即为十字最上方的横坐标x1,同理对待a2行,求得十字最下方的横坐

4、标x2;对b1列值为1的像素所在行数进行记录,并取平均值,即为十字最左方的纵坐标y1,同理对待b2列,求得十字最右方的纵坐标y2。,c=1; for i=1:M if(B(i,b1)=1) m(c)=i; c=c+1; end end,d=1; for o=1:M if(B(o,b2)=1) m1(d)=o; d=d+1; end end,e=1; for j=1:N if(B(a1,j)=1) n(e)=j; e=e+1; end end,f=1; for h=1:N if(B(a2,h)=1) n1(f)=h; f=f+1; end end,4.再利用find函数分别找出十字光斑图像的最小

5、横坐标a1、最大横坐标a2和最小纵坐标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1列, b2列中像素为1的坐标值。,a,b=find(B); a1=min(a); a2=max(a); b1=min(b); b2=max(b); M, N = size(B);,求两直线交点坐标定位法,6.利用所找到的四个点(x1,a1) 、(x2,a1) 、 (b1,y1) 、(b2,y2)可写出两条直线方程,再利用解线性方程组方法求得交点,即求得中心点坐标。,x1=mean(n);%纵坐标为a1 x2=mean(n1);%纵坐标为a2 y1=mean(m);%横坐标为b1 y2=mean

6、(m1);%横坐标为b2 k1=(a2-a1)/(x2-x1);%十字竖线的斜率 k2=(y2-y1)/(b2-b1);%十字横线的斜率 O=k1,-1;k2,-1; P=k1*x1-a1;k2*b1-y1; L=OP;%解线性方程组 X=L(1); Y=L(2); fprintf(激光十字线中心位置点横坐标 %6.2fn,X); fprintf(激光十字线中心位置点纵坐标 %6.2fn,Y); X1=round(X);Y1=round(Y); R(Y1-1:Y1+1,X1-1:X1+1)=1; figure,imshow(R);title(将中心点显示出来);,求两直线交点坐标定位法,将中心

7、点显示到图像中,运行结果,二、找多个坐标取平均值定位法,找多个坐标取平均值定位法,1、读取图像。 2、提取图像R分量 3、将R分量图像二值化。 4、找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1列, b2列中像素为1的坐标值。 5、对a1、a2行值为1的像素所在列数进行记录,并取平均值,即为十字最上方的横坐标x1、x2。对b1、b2列值为1的像素所在行数进行记录,并取平均值,即为十字最左方的纵坐标y1、y2。 6、对最上方与最下方的横坐标取平均值,即为中心点的横坐标;对最左方与最右方的纵坐标取平均值,即为中心点的纵坐

8、标。,整体设计思路,找多个坐标取平均值定位法,1.先读取要处理的图像,clear all;clc; I=imread(D:十字光斑图像十字光斑.JPG); I1=imread(D:十字光斑图像十字光斑2.JPG); I2=imread( D:十字光斑图像十字光斑3.JPG );,2.提取图像的R分量(因为其对比度较高),R=I1(:,:,1); subplot(121);imshow(I1);title(原图像); subplot(122);imshow(R);title(原图像的R分量);,3.利用全局阈值分割法将R分量图像二值化,B=im2bw(R,graythresh(R);%将图像二值

9、化 figure,imshow(B);title(二值化图像);,找多个坐标取平均值定位法,5、对a1行值为1的像素所在列数进行记录,并取平均值,即为十字最上方的横坐标x1,同理对待a2行,求得十字最下方的横坐标x2;对b1列值为1的像素所在行数进行记录,并取平均值,即为十字最左方的纵坐标y1,同理对待b2列,求得十字最右方的纵坐标y2。,c=1; for i=1:M if(B(i,b1)=1) m(c)=i; c=c+1; end end,d=1; for o=1:M if(B(o,b2)=1) m1(d)=o; d=d+1; end end,e=1; for j=1:N if(B(a1,j

10、)=1) n(e)=j; e=e+1; end end,f=1; for h=1:N if(B(a2,h)=1) n1(f)=h; f=f+1; end end,4.再利用find函数分别找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1列, b2列中像素为1的坐标值。,a,b=find(B); a1=min(a); a2=max(a); b1=min(b); b2=max(b); M, N = size(B);,找多个坐标取平均值定位法,6.对最上方与最下方的横坐标取平均值,即为中心点的横坐标;对最左方与最右方的纵坐标

11、取平均值,即为中心点的纵坐标。,x1=mean(n); x2=mean(n1); y1=mean(m); y2=mean(m1); X=(x1+x2)/2;Y=(y1+y2)/2; fprintf(激光十字线中心位置点横坐标: %6.2fn,X); fprintf(激光十字线中心位置点纵坐标: %6.2fn,Y); X1=round(X);Y1=round(Y); R(Y1-1:Y1+1,X1-1:X1+1)=0; figure,imshow(R);title(将中心点显示出来);,找多个坐标取平均值定位法,将中心点显示到图像中,运行结果,三、基于图像灰度值差异定位法,基于图像灰度值差异定位法

12、,1、读取图像。 2、提取图像R分量 3、创建一个3*3的邻域平均模板h,利用其对图像进行处理。突出图像中某些邻域灰度值较大的点 4、利用循环对其进行规定次数多的处理。 5、找出处理后图像中灰度值最大的一个或多个点的行值和列值,对这些点的列值取平均值,即为中心点的横坐标,同理,对这些点的行值取平均值,即为中心点的纵坐标。,整体设计思路,基于图像灰度值差异定位法,1.先读取要处理的图像,clear all;clc; I=imread(D:十字光斑图像十字光斑.JPG); I1=imread(D:十字光斑图像十字光斑2.JPG); I2=imread( D:十字光斑图像十字光斑3.JPG );,2

13、.提取图像的R分量(因为其对比度较高),R=I1(:,:,1); subplot(121);imshow(I1);title(原图像); subplot(122);imshow(R);title(原图像的R分量);,3.创建一个3*3的邻域平均模板h,利用其对图像进行处理。其目的是突出图像中某些邻域灰度值较大的点(因为图像中十字斑中心点附近邻域点灰度值之和较其它点大),B=R; h=fspecial(average,3);%创建一个3*3的邻域平均模板,基于图像灰度值差异定位法,5、找出处理后图像中灰度值最大的一个或多个点的行值和列值,对这些点的列值取平均值,即为中心点的横坐标,同理,对这些点

14、的行值取平均值,即为中心点的纵坐标。,x,y=find(B=max(max(B);%找出灰度值最大的点的坐标 X=mean(y); Y=mean(x);%因为可能有多个最大值相等,所以取这些点的坐标的均值近似估计为中心点的位置 fprintf(激光十字线中心位置点横坐标 %6.2fn,X); fprintf(激光十字线中心位置点纵坐标 %6.2fn,Y); X1=round(X);Y1=round(Y); R(Y1-1:Y1+1,X1-1:X1+1)=0; figure,imshow(R);title(将中心点显示出来);,4.利用循环对其进行规定次数多的处理。,i=1; while i=5;

15、 B=imfilter(B,h); i=i+1; end,基于图像灰度值差异定位法,将中心点显示到图像中,运行结果,四、三种方法的比较和分析,三种方法的比较和分析,放大三种方法处理后的结果图,进行对比,第一种方法,第二种方法,第三种方法,三种方法的比较和分析,通过对比,可知:第三种方法的结果最为精确,第一种和第二种方法黑点位置几乎一致,精度差不多。而通过对其它图片的分析可知,第一种方法结果较第二种方法精确。对于某些十字斑靠近边缘,且倾斜角较大的图像,第一种方法适用性较好,且较精确,但第二种方法则不适用,故第二种方法存在局限性。 第三种方法根据中心点及其较小邻域内灰度值最大的特点来实现定位,所以

16、采用3*3邻域平均模板对图像R分量进行处理,目的是使邻域灰度值较大的点的灰度值更加突出,然后找出最大的一个或几个点求均值,即为中心点。,结果精度比较,运行速度比较,当第三种方法模板处理次数较大时,运行时间明显变长。不过选取的次数比较小,所以时间与前两种方法几乎一样。,心得体会,通过这次计算机视觉课程设计,我深刻地理解计算机视觉是一种基于矩阵运算的综合性学科,同时也加深了我对于计算机视觉这门课程的认识,也认识到Matlab这个软件强大的数字图像处理能力,在对课题的思考与设计过程中,通过对不懂的问题的思考与解决的过程,进一步学习了计算机视觉的知识和Matlab 在图像处理方面的编程知识。这次课程设计,我学到了很多,也明白了自己存在的一些知识方面的欠缺,收获很多。 感谢陈华老师的悉心指导以及各位同学耐心帮助。,谢谢观看,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号