《工业视觉》课件-实验2机器视觉识别与定位_第1页
《工业视觉》课件-实验2机器视觉识别与定位_第2页
《工业视觉》课件-实验2机器视觉识别与定位_第3页
《工业视觉》课件-实验2机器视觉识别与定位_第4页
《工业视觉》课件-实验2机器视觉识别与定位_第5页
已阅读5页,还剩57页未读, 继续免费阅读

下载本文档

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

文档简介

实验一机器视觉识别与定位工业机器人视觉引导与控制综合设计实验二、实验目的三、实验任务四、实验内容及流程一、知识回顾一、知识回顾

1.坐标系及图像坐标变换2.基础视觉图像处理算法3.基于模板匹配的视觉目标识别定位4.基于深度学习的图像识别定位5.

Matlab中图像处理基本函数介绍6.

OpenCV图像处理与匹配识别基本函数介绍一、知识回顾1.1.1四个坐标系简介世界坐标系:为表示物体在真实世界中的坐标而引入的三维世界的坐标系。相机坐标系:以相机为原点出发去描述目标位置。图像坐标系:表示可物体成像过程中从相机到图像平面的投影透射变换。像素坐标系:表示成像后的目标像点在数字图像中的实际位置。四个坐标系之间的关系可用图1-1表示。其中,世界坐标系的坐标轴:相机坐标系的坐标轴:

;图像坐标系的坐标轴:

;像素坐标系的坐标轴:

。其中,相机坐标系的

轴重叠于光轴并穿过图像坐标系原点,且与-平面互相垂直。定义焦距f为相机坐标系与图像坐标系之间的距离。图像坐标系-平面和像素坐标系-平面重合,但后者原点位于前者的左上角。1.1坐标系及图像坐标变换图1-1针孔成像模型中各坐标系之间的关系一、知识回顾下图是虚拟实验平台中的坐标系转换操作。1.1坐标系及图像坐标变换图1-2虚拟实验平台中的坐标系转换操作一、知识回顾1.1.2世界坐标系到相机坐标系这个过程可通过旋转和平移得到,R和t分别表示旋转矩阵和平移向量(R为3*3的矩阵),它们包括三个方向上的旋转参数和三个方向上的平移参数。其变换矩阵是齐次坐标矩阵,由旋转矩阵和平移向量组合成:1.1坐标系及图像坐标变换(1-1)为了方便后续计算,设物点在世界坐标系中与原点在同一平面上,且与轴垂直,因此物体的=0。其中即为外参数矩阵,其参数只与外部的旋转平移有关,跟刚体位置变化同步。一、知识回顾1.1.3相机坐标系到图像坐标系这是一个从三维坐标到二维坐标的变换的投影透视过程。在理想情况下(即不考虑畸变),这个过程可视为针孔成像。如图1-3所示。1.1坐标系及图像坐标变换图1-3相机坐标系与图像坐标系之间的转换根据相似三角形原理,给定相机坐标系中有一物点M,则对于在理想图像坐标下的成像点P,有:该关系式化为齐次表示形式得到:一、知识回顾1.1.4图像坐标系到像素坐标系1.1坐标系及图像坐标变换定义这两个在同一平面上,但它们的原点不重叠,假设像素坐标系原点在图像坐标系下的像素值为

,像点的在其上坐标为

,而

、

分别是在图像坐标系x轴、y轴方向上各个像素的坐标值和像素值的比例。那么可以用下图表示这两个坐标系之间的关系:图1-4图像坐标系与像素坐标系之间的转换像素坐标系下的像点坐标为:化为齐次坐标表示形式可得:

(1-3)一、知识回顾1.1坐标系及图像坐标变换各坐标系变换过程总结如下:一、知识回顾1.1坐标系及图像坐标变换1.1.5其他常用的图像变换模型变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型。可采用的变换模型有如下几种:刚性变换、仿射变换、投影变换等,如下图1-5。图1-5图像的坐标变换模型一、知识回顾1.1坐标系及图像坐标变换(1) 刚体变换 如果一幅图像中的两点间的距离经变换到另一幅图像中后仍然保持不变,则这种变换称为刚体变换(Rigid Transform)。刚体变换仅局限于平移、旋转和反转(镜像)。在二维空间中,点(x,y)力经过刚体变换到点(x',y')的变换公式为: (1-4)一、知识回顾1.1坐标系及图像坐标变换(2) 仿射变换 如果一幅图像中的直线经过后映射到另一幅图像上仍为直线,并且保持平行关系,则这种变换称为仿射变换(Affine Transform。仿射变换适应于平移、旋转、缩放和反转(镜像)情况。可以用以下公式表示: (1-5)一、知识回顾1.1坐标系及图像坐标变换(3) 投影变换 如果一幅图像中的直线经过后映射到另一幅图像上仍为直线,但平行关系基本不保持,则这种变换称为投影变换(Projective Transform )。二维平面投影变换是关于齐次三维矢量的线性变换,在齐次坐标系下,二维平面上的投影变换具体可用下面的非奇异3x3矩阵形式来描述,即:(1-6)(1-7)一、知识回顾2、基础视觉图像处理算法2.1.1图像二值化图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。图2-1图像二值化结果一、知识回顾2、基础视觉图像处理算法2.2.2RGB图像灰度化RGB彩色图像中,一种彩色由R(红色),G(绿色),B(蓝色)三原色按比例混合而成。图像的基本单元是一个像素,就像一个巨幅电子广告屏上远处看是衣服图像,走近你会看到一个一个的方格,这个方格的颜色是一种,从远处看,觉察不到这个方格的存在。一个像素需要3块表示,分别代表R,G,B,如果8为表示一个颜色,就由0-255区分不同亮度的某种原色。一张9像素的8位RGB图像,在计算机内存中的分布示意如下图:图2-2九像素的8位RGB图像在计算机内存中的分布一、知识回顾2、基础视觉图像处理算法实际中数都是二进制形式的,并且未必按照R,G,B顺序,比如opencv是按照B,G,R顺序将三个色值保存在3个连续的字节里在RGB模型中,假设R=G=B时,则彩色表示一种灰度颜色,R=G=B的值叫灰度值。灰度范围为0-255。一般有下面四种方法对彩色图像进行灰度化。分量法将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像f1(i,j)=R(i,j)f2(i,j)=G(i,j)f3(i,j)=B(i,j)其中fk(i,j)(k=1,2,3)为转换后的灰度图像在(i,j)处的灰度值。图2-3分量法灰度化结果一、知识回顾2、基础视觉图像处理算法2.最大值法将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。f(i,j)=max(R(i,j),G(i,j),B(i,j))图2-4最大值法灰度化结果一、知识回顾2、基础视觉图像处理算法3.平均值法将彩色图像中的三分量亮度求平均得到一个灰度图。f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3图2-5平均值法灰度化结果一、知识回顾2、基础视觉图像处理算法4.加权平均法根据色彩重要性,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))图2-6加权平均法灰度化结果一、知识回顾2、基础视觉图像处理算法2.3角点提取角点是一类重要的点特征,图像分析的角度来定义:①角点可以是两个边缘的角点;②角点是邻域内具有两个主方向的特征点;它们有以下特点:①局部窗口沿各方向移动,均产生明显变化;②图像局部曲率突变;不同类型的角点示例:图2-7不同类型的角点示例一、知识回顾2、基础视觉图像处理算法典型的角点检测算法主要分为两种。一种需要对图像边缘进行编码,这在很大程度上依赖于图像的分割与边缘提取,具有相当大的难度和计算量,且一旦待识别目标局部发生变化,很可能导致操作的失败。另一种基于图像灰度的方法通过计算点的曲率及梯度来检测角点,避免了第一类方法存在的缺陷,此类方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。其中,基于Harris算子的角点检测比较常用,其基本思想如下:图2-8Harris角点检测基本思想一、知识回顾2、基础视觉图像处理算法Harris角点检测算法的步骤:(1)利用水平竖直差分算子对图像的每个像素进行滤波以求得,进而求得m中四个元素的值:(2)对m的四个元素进行高斯平滑滤波,得到新的m。离散二位零均值高斯函数为:一、知识回顾2、基础视觉图像处理算法(3)接下来利用m计算对应于每个像素的角点量cim:(4)最后,在矩阵cim中,同时满足“cim大于阈值thresh和cim是某邻域内的局部极大值”这两个条件的点被认为是角点。提高阈值,则提取的角点数目变少;降低阈值,则提取的角点数目变多。另外,求局部极大值的邻域大小也将会影响到提取角点的数目和容忍度。一、知识回顾2、基础视觉图像处理算法2.4光照补偿由于图像的色彩信息经常受到光源、采集设备的色彩的偏差等因素的影响从而导致整体上色彩向某一方向移动,便是我们经常所见的偏冷,照片偏黄等现象。为了便于图像的处理抵消这种整个图像中存在看色彩偏差,利于后续图像处理的开展,需要对图像进行光线补偿。传统的光照补偿主要包括直方图均衡化、直方图规定化、Gamma灰度校正等。这里我们主要讲一下Gamma灰度校正。什么是gamma值?在电视和图形监视器中,显像管发生的电子束及其生成的图像亮度并不是随显像管的输入电压线性变化,电子流与输入电压相比是按照指数曲线变化的,输入电压的指数要大于电子束的指数。这说明暗区的信号要比实际情况更暗,而亮区要比实际情况更高。所以,要重现摄像机拍摄的画面,电视和监视器必须进行伽玛补偿。这种伽玛校正也可以由摄像机完成。我们对整个电视系统进行伽玛补偿的目的,是使摄像机根据入射光亮度与显像管的亮度对称而产生的输出信号,所以应对图像信号引入一个相反的非线性失真,即与电视系统的伽玛曲线对应的摄像机伽玛曲线,它的值应为1/γ,我们称为摄像机的伽玛值。电视系统的伽玛值约为2.2,所以电视系统的摄像机非线性补偿伽玛值为0.45。彩色显像管的伽玛值为2.8,它的图像信号校正指数应为1/2.8=0.35,但由于显像管内外杂散光的影响,重现图像的对比度和饱和度均有所降低,所以彩色摄像机的伽玛值仍多采用0.45。在实际应用中,我们可以根据实际情况在一定范围内调整伽玛值,以获得最佳效果。伽玛校正(Gamma

Correction):所谓伽玛校正就是对图像的伽玛曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。计算机绘图领域惯以此屏幕输出电压与对应亮度的转换关系曲线,称为伽玛曲线(Gamma

Curve)。当γ取不同值时的伽玛曲线如下图所示。一、知识回顾2、基础视觉图像处理算法图2-9γ取不同值时的伽马曲线输入图像:不同γ值的输出结果:图2-10γ=1/1.5(左)和γ=1.5(右)的输出结果一、知识回顾2、基础视觉图像处理算法3.基于模板匹配的视觉目标识别定位模板匹配是数字图像处理的重要组成部分之一。把不同传感器或同一传感器在不同时间、不同成像条件下对同一景物获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图中寻找相应模式的处理方法就叫做模板匹配。简单而言,模板就是一幅已知的小图像。模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置,如图3-1。寻找待匹配图像和全体图像中最相似的部分,常用于物体识别任务。虽然现在使用卷积神经网络做物体识别任务有更好的效果,但是模式匹配是最基本的物体识别方法,它很基础也很重要。图3-1模板匹配示例

在讲匹配算法之前,我们先普及一下距离测度、L1距离和L2距离的概念。一、知识回顾2、基础视觉图像处理算法3.1距离测度对于基于内容的图像识别系统而言,如何能够从特征空间中学到一个合适的距离测度以更恰当的反映图像内容间的相似度显得尤为重要。在介绍距离测度之前,先明确距离d的数学定义。在中,有:距离测度主要包括欧氏距离、曼哈顿距离、切比雪夫距离、闵科夫斯基距离、海明距离、编辑距离、余弦距离、杰卡德距离等。一、知识回顾2、基础视觉图像处理算法(1)欧氏距离测度(EuclideanDistanceMeasure)也称欧几里得距离,在一个N维度的空间里,求两个点的距离,这个距离是一个大于等于零的数字,那么这个距离需要用两个点在各自维度上的坐标相减,平方后加和再开方。一维,二维,三维的欧式距离计算方法:(2)平方欧氏距离测度(SquaredEuclideanDistanceMeasure)就是上面的欧式距离的平方(3)闵可夫斯基距离(明科夫斯基距离)闵式距离不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性表述。定义:两个n维变量(可以理解为n维数组,就是有n个元素)a(x11,x12,x13,…,x1n)与b(x21,x22,x23,…,x2n)间的闵可夫斯基距离定义为:其中p是一个变参数:当p=1时,就是曼哈顿距离;当p=2时,就是欧式距离;

当p->∞时,就是切比雪夫距离。一、知识回顾2、基础视觉图像处理算法(1)欧氏距离测度(EuclideanDistanceMeasure)也称欧几里得距离,在一个N维度的空间里,求两个点的距离,这个距离是一个大于等于零的数字,那么这个距离需要用两个点在各自维度上的坐标相减,平方后加和再开方。一维,二维,三维的欧式距离计算方法:(2)平方欧氏距离测度(SquaredEuclideanDistanceMeasure)就是上面的欧式距离的平方(3)闵可夫斯基距离(明科夫斯基距离)闵式距离不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性表述。定义:两个n维变量(可以理解为n维数组,就是有n个元素)a(x11,x12,x13,…,x1n)与b(x21,x22,x23,…,x2n)间的闵可夫斯基距离定义为:其中p是一个变参数:

当p=1时,就是曼哈顿距离;当p=2时,就是欧式距离;

当p->∞时,就是切比雪夫距离。一、知识回顾2、基础视觉图像处理算法(4)切比雪夫距离切比雪夫距离公式简单理解为就是各坐标数值差的最大值,在2维空间中的计算公式为:一、知识回顾2、基础视觉图像处理算法3.2常用模式匹配算法接下来我们主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)等。(1)MAD算法平均绝对差算法(MeanAbsoluteDifferences,简称MAD算法),它是Leese在1971年提出的一种匹配算法。是模式识别中常用方法,该算法的思想简单,具有较高的匹配精度,广泛用于图像匹配。在上述的图2-1中,设采集的图像为大小是mxn的S(x,y),模板图像为大小是MxN的T(x,y)。在搜索图S中,以(i,j)为左上角,取MxN大小的子图,计算其与模板的相似度;遍历整个搜索图,在所有能够取到的子图中,找到与模板图最相似的子图作为最终匹配结果。MAD算法的相似性测度公式如下。显然,平均绝对差D(i,j)越小,表明越相似,故只需找到最小的D(i,j)即可确定能匹配的子图位置:其中:一、知识回顾2、基础视觉图像处理算法(2)SAD算法绝对误差和算法(SumofAbsoluteDifferences,简称SAD算法)。实际上,SAD算法与MAD算法思想几乎是完全一致,只是其相似度测量公式有一点改动(计算的是子图与模板图的L1距离),这里不再赘述。一、知识回顾2、基础视觉图像处理算法(3)SSD算法误差平方和算法(SumofSquaredDifferences,简称SSD算法),也叫差方和算法。实际上,SSD算法与SAD算法如出一辙,只是其相似度测量公式有一点改动(计算的是子图与模板图的L2距离)。这里不再赘述。一、知识回顾2、基础视觉图像处理算法(4)MSD算法平均误差平方和算法(MeanSquareDifferences,简称MSD算法),也称均方差算法。实际上,MSD之于SSD,等同于MAD之于SAD(计算的是子图与模板图的L2距离的平均值),故此处不再赘述。一、知识回顾2、基础视觉图像处理算法(5)NCC算法归一化积相关算法(NormalizedCrossCorrelation,简称NCC算法),与上面算法相似,依然是利用子图与模板图的灰度,通过归一化的相关性度量公式来计算二者之间的匹配程度。一、知识回顾2、基础视觉图像处理算法3.3OPENCV(python)匹配识别算法简介(对应仿真软件中的算法选择)3.3.1TM_SQDIFF(平方差匹配法)算法即模板图像像素减去覆盖的源图像像素的差的平方和为对应矩阵的点的值。如果值越接近0,说明匹配程度越高。importcv2importnumpyasnpimg=cv2.imread('./src/img.png',cv2.IMREAD_COLOR)imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)template=cv2.imread('./src/template.png',cv2.IMREAD_GRAYSCALE)height,width=template.shape[:2]#print(height,width)res=cv2.matchTemplate(imgGray,template,cv2.TM_SQDIFF)thresthold=0.1loc=np.where(res<=thresthold)forptinzip(*loc[::-1]):right_bottom=(pt[0]+width,pt[1]+height)cv2.rectangle(img,pt,right_bottom,(0,0,255),2)cv2.imshow('src',img)cv2.imshow('template',template)cv2.imshow('result',res)cv2.waitKey(0)示例代码:一、知识回顾2、基础视觉图像处理算法3.3.2TM_SQDIFF_NORMED(归一化平方差匹配法)算法 即基于平方差匹配法对输出进行归一化处理:示例代码:##将3.3.1中代码第八行改为res=cv2.matchTemplate(imgGray,template,cv2.TM_SQDIFF_NORMED)一、知识回顾2、基础视觉图像处理算法3.3.3TM_CCORR(相关匹配法)算法采用模板和图像间的乘法操作,数越大表示匹配程度较高,0表示最坏的匹配效果。示例代码:##将2.2.1中代码第八行改为res=cv2.matchTemplate(imgGray,template,cv2.TM_CCORR)一、知识回顾2、基础视觉图像处理算法3.3.4TM_CCORR_NORMED(归一化相关匹配法)算法即基于相关匹配法对输出进行归一化处理:示例代码:##将3.3.1中代码第八行改为res=cv2.matchTemplate(imgGray,template,cv2.TM_CCORR_NORMED)一、知识回顾2、基础视觉图像处理算法3.3.5TM_CCOEFF(相关系数匹配法)算法将模版对其均值的相对值与图像对其均值的相关值进行匹配,1表示完美匹配,-1表示糟糕的匹配,0表示没有任何相关性(随机序列)。其中:示例代码:##将3.3.1中代码第八行改为res=cv2.matchTemplate(imgGray,template,cv2.TM_CCOEFF)一、知识回顾2、基础视觉图像处理算法3.3.6TM_CCOEFF_NORMED(归一化相关系数匹配法)算法即基于相关匹配法对输出进行归一化处理:示例代码:##将3.3.1中代码第八行改为res=cv2.matchTemplate(imgGray,template,cv2.TM_CCOEFF_NORMED)工业机器人视觉引导与控制综合设计实验二、实验目的三、实验任务四、实验内容及流程一、知识回顾二、实验目的学习并掌握数字图像处理的原理和方法,如视觉相机坐标系转换、模板匹配参数设置等,理解机器人视觉识别定位的过程与步骤,并能够基于C#语言自主编程实现机器人视觉定位功能。工业机器人视觉引导与控制综合设计实验二、实验目的三、实验任务四、实验内容及流程一、知识回顾三、实验任务系统上料工位放有一个蓝色物料盒,上面放置有4个手机外壳,视觉相机对其进行拍照、识别图像、并经视觉算法计算后生成4个手机壳的中心点坐标,且上位机显示器可动态显示视觉相机的拍照及中心点坐标识别结果。工业机器人视觉引导与控制综合设计实验二、实验目的三、实验任务四、实验内容及流程一、知识回顾四、实验内容及流程该实验的设置按照由易到难的顺序设置,其流程如图1所示。其中的“基础认知实验”和“基础视觉算法设计”可用仿真平台软件和VisualStudio软件实现;“深度学习视觉算法实验”在此基础上还需要其他合适的软件(如Python编程平台/Matlab)配合实现深度学习模型的训练。图1机器视觉识别与定位实验流程四、实验内容及流程4.1基础认知实验工艺流程目标1:通过调节机器人视觉相机位置到达理想拍照点。关键知识点1-连接机器人附带的视觉相机,并选择合适的拍照点。(1)打开仿真软件,选择相应画质(如图2),在登录界面输入账号密码,进入仿真实验。图2画质选择四、实验内容及流程4.1基础认知实验(2)点击机器人底部的机器人控制柜,弹出设备属性窗口,选择需要控制的机器人;点击显示器配置需要连接的视觉相机。(3)首次进入实验时,手机壳物料盒的初始位置是随机生成的,需要手动调节机器人使得拍照点在物料盒上方。(4)点击机器人控制柜,在机器人示教窗口“点动示教”或“关节示教”(点动和关节示教可配合调节)里调节相应值,见图3,机器人会移动相应位置。图3示教调节四、实验内容及流程4.1基础认知实验(5)将机器人移动至物料盒上方时(也可以通过移动物料架使其处于相机正下方),按下键盘“s”键,显示器将会显示拍摄的图像,如图4所示。说明:当拍摄的图像不理想(倾斜、不全)时,可以继续进行调节;在拍照点拍摄的图像中,手机壳方向应和图中一致(即苹果标志在左侧)。图4理想拍照点四、实验内容及流程4.1基础认知实验(6)拍照完毕后,在机器人示教窗口点击“添加示教点”,该拍照点将保存在P8;随后在实验场景里点击“保存场景”,这样下次打开实验时,物料盒位置不会改变、添加的示教点P8也不会消失。思考题1:思考不同画质对实验是否有影响?工艺流程目标2:了解视觉感知环境,正确配置视觉相机相关参数及坐标系。关键知识点2-掌握相机坐标系转换原理并正确配置。根据当前拍照点的位置,选择需要引导的机器人以及坐标系标定的U轴方向和V轴方向。仿真软件中,机器人底座坐标系属于世界坐标系,其中红色、绿色、蓝色分别代表X、Y、Z轴;相机像素坐标系红色、绿色分别代表U、V轴,观察实验场景配置,找出U、V轴与X、Y、Z轴的对应关系,并在相应的菜单中进行正确的选择,如图5。(相关知识点参见教学资料)思考题2:如果坐标系配置错误,可能会出现什么情况?试解释原因。图5相机坐标系标定四、实验内容及流程4.2基础视觉算法设计工艺流程目标3-利用视觉算法实现视觉相机图像的处理,并生成手机位置坐标。关键知识点3-理解软件内部自带视觉定位算法的配置及执行流程。(1)在视觉相机设备属性窗口中,选择关闭照明灯,打开“视觉算法参数设置”下拉菜单,选择相应的视觉算法,并设置“匹配程度(0~1)”。(相关原理与知识点参见教学知识资料)(2)将机器人移动至拍照点P8,按下“s”键,显示器里将会显示处理后的图片(框出所有手机壳、标出手机壳中心点坐标),如图6所示。图6处理成功后图像四、实验内容及流程4.2基础视觉算法设计(3)如果显示器里图像无变化或处理结果不佳,应当重新设置匹配程度或匹配算法,直至成功。思考题3:记录图像刚好处理成功时每种算法对应的匹配程度,比较其大小,思考在本实验中所有算法的处理效果是否相同?思考题4:调节机器人示教,使得视觉相机的拍照位置不在理想拍照点上,按下“s”拍摄得到异常图片如图7(图片不全、图片方向相反或倾斜),尝试在这种情况下模板匹配算法是否还有效?图7异常图片思考题5:相机镜头自带光源,现在打开光源的情况下进行拍照,检验和关闭光源时的实验结果是否相同,并思考原因?四、实验内容及流程4.2基础视觉算法设计关键知识点4-设计基于模板匹配的基础视觉定位算法,并通过编程实现。(该部分实验任务需要安装VisualStudio软件,并在实验主页网站下载“外部通讯程序框架”文件夹,其中包含了例程框架)(1)将机器人移动至拍照点P8,点开视觉相机属性窗口,下拉到底部,点击“手动拍照”(此时均可选择打开或关闭光源),将图片保存至桌面,在该图片上截取正常大小的单个手机壳图片,保存至桌面并命名为“temp”。说明:保存的图片均为“.PNG”格式。(2)打开文件夹“C盘\:ProgramFiles(x86)\:虚拟仿真实验\:外部通讯程序框架”,找到图片“temp”,用桌面上模板图片将其替换,完成外部程序中模板图片的替换。(3)使用VisualStudio2019软件打开外部通讯程序,打开Server.cs文件后,点击进入“视觉相机计算坐标”模块,见图8,在规定编写区域根据模块的输出目标,利用C#编程完成外部程序的编写。图8外部程序编写入口四、实验内容及流程4.2基础视觉算法设计说明:外部程序的编写分两部分,一是输出坐标(该坐标并不是手机壳的位中心坐标而是手机壳左上角坐标),二是图像处理(矩形框框出手机壳、标出中心点坐标);外部程序的编写只涉及到获取手机壳图像坐标位置即图9中标红的部分,其他的位置转换及修正部分属于机器人内置算法,不需要编写;外部程序输出的坐标为二维坐标(X,Y),不涉及Z轴即高度值,该高度值由拍照点决定。(相关原理与知识点参见教学知识资料或自行搜索)图9坐标转换四、实验内容及流程4.2基础视觉算法设计(4)编写完成后,在VisualStudio顶部点击绿色启动按钮,如程序编写无语法错误则会生成一个运行窗口图10,再在运行窗口中点击启动和显示数据。图10运行窗口四、实验内容及流程4.2基础视觉算法设计(5)点开视觉相机设备属性窗口,算法选择菜单中选择外部视觉程序接口;而机器人运动控制仍采用内置算法不变。成功接入外部程序显示“连接服务器成功”;如果出现下图11中“无法连接到服务器端”的情况,请检查外部程序运行窗口是

温馨提示

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

评论

0/150

提交评论