激光十字光斑ppt_第1页
激光十字光斑ppt_第2页
激光十字光斑ppt_第3页
激光十字光斑ppt_第4页
激光十字光斑ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、光斑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行,求得十字最下方的横坐标x2;对b1列值为1的像素所在行数进行记录,并取平均值,即为十字最左

4、方的纵坐标y1,同理对待b2列,求得十字最右方的纵坐标y2。c=1;fori=1:Mif(B(i,b1)=1)m(c)=i;c=c+1;endendd=1;foro=1:Mif(B(o,b2)=1)m1(d)=o;d=d+1;endende=1;forj=1:Nif(B(a1,j)=1)n(e)=j;e=e+1;endendf=1;forh=1:Nif(B(a2,h)=1)n1(f)=h;f=f+1;endend4.再利用find函数分别找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1列, b2列中像素为1的坐标值。a

5、,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);%纵坐标为a1x2=mean(n1);%纵坐标为a2y1=mean(m);%横坐标为b1y2=mean(m1);%横坐标为b2k1=(a2-a1)/(x2-x1);%十字竖线的斜率k2=(y2-y1)/(b2-b1);%十字横线的斜率O=k1,-1;k2,-1;P=k

6、1*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(将中心点显示出来);求两直线交点坐标定位法将中心点显示到图像中运行结果二、找多个坐标取平均值定位法找多个坐标取平均值定位法1、读取图像。 2、提取图像R分量3、将R分量图像二值化。 4、找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐标

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

8、mread(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行,求得十字最下方的横坐标x2;对b1列值为1的像素所在行数

9、进行记录,并取平均值,即为十字最左方的纵坐标y1,同理对待b2列,求得十字最右方的纵坐标y2。c=1;fori=1:Mif(B(i,b1)=1)m(c)=i;c=c+1;endendd=1;foro=1:Mif(B(o,b2)=1)m1(d)=o;d=d+1;endende=1;forj=1:Nif(B(a1,j)=1)n(e)=j;e=e+1;endendf=1;forh=1:Nif(B(a2,h)=1)n1(f)=h;f=f+1;endend4.再利用find函数分别找出十字光斑图像的最小横坐标a1、最大横坐标a2和最小纵坐标b1、最大纵坐标b2,然后利用循环语句找出a1行,a2行, b1

10、列, b2列中像素为1的坐标值。a,b=find(B);a1=min(a);a2=max(a);b1=min(b);b2=max(b);M,N=size(B);找多个坐标取平均值定位法6.对最上方与最下方的横坐标取平均值,即为中心点的横坐标;对最左方与最右方的纵坐标取平均值,即为中心点的纵坐标。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=rou

11、nd(Y);R(Y1-1:Y1+1,X1-1:X1+1)=0;figure,imshow(R);title(将中心点显示出来);找多个坐标取平均值定位法将中心点显示到图像中运行结果三、基于图像灰度值差异定位法基于图像灰度值差异定位法1、读取图像。 2、提取图像R分量3、创建一个3*3的邻域平均模板h,利用其对图像进行处理。突出图像中某些邻域灰度值较大的点4、利用循环对其进行规定次数多的处理。5、找出处理后图像中灰度值最大的一个或多个点的行值和列值,对这些点的列值取平均值,即为中心点的横坐标,同理,对这些点的行值取平均值,即为中心点的纵坐标。整体设计思路基于图像灰度值差异定位法1.先读取要处理的

12、图像clearall;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.创建一个3*3的邻域平均模板h,利用其对图像进行处理。其目的是突出图像中某些邻域灰度值较大的点(因为图像中十字斑中心点附近邻域点灰度值之和较其它点大)B=R;h=fspecial(ave

13、rage,3);%创建一个3*3的邻域平均模板基于图像灰度值差异定位法5、找出处理后图像中灰度值最大的一个或多个点的行值和列值,对这些点的列值取平均值,即为中心点的横坐标,同理,对这些点的行值取平均值,即为中心点的纵坐标。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

14、,X1-1:X1+1)=0;figure,imshow(R);title(将中心点显示出来);4.利用循环对其进行规定次数多的处理。 i=1;whilei=5;B=imfilter(B,h);i=i+1;end基于图像灰度值差异定位法将中心点显示到图像中运行结果四、三种方法的比较和分析三种方法的比较和分析放大三种方法处理后的结果图,进行对比第一种方法第二种方法第三种方法三种方法的比较和分析通过对比,可知:第三种方法的结果最为精确,第一种和第二种方法黑点位置几乎一致,精度差不多。而通过对其它图片的分析可知,第一种方法结果较第二种方法精确。对于某些十字斑靠近边缘,且倾斜角较大的图像,第一种方法适用性较好,且较精确,但第二种方法则不适用,故第二种方法存在局限性。第三种方法根据中心点及其较小邻域内灰度值最大的特点来实现定位,所以采用3*3邻域平均模板对图像R分量进行处理,目的是使邻域灰度值较大的点的灰度值更加突出,然后找出最大的一个或几个点求均值,即为中心点。结果精度比较运行速度比较当第三种方法模板处理次数较大时,运行时间明显变长。不过选取的次数比较小,所以时间与前两种

温馨提示

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

评论

0/150

提交评论