《机器视觉应用实验报告》姓名黄柱汉学号201341304523院系机械与汽车工程学院专业仪器仪表工程指导教师全燕鸣教授2015年04月16日华南理工大学实验报告课程名称:机器视觉应用机械与汽车工程学院系仪器仪表工程专业姓名黄柱汉实验名称机器视觉应用实验日期2015.4.16指导老师全燕鸣一、实验目的主要目的有以下几点:1.实际搭建工业相机、光源、被摄物体图像获取系统,自选Labview或Matlab、Halcon、NiVision软件平台,用打印标定板求解相机内外参数以及进行现场系统标定;2.进行一个具体实物体的摄像实验,经图像预处理和后处理,获得其主要形状尺寸的测量(二维)3.进行一个具体实物体的摄像实验,经图像预处理和后处理,识别出其表面缺陷和定位。二、实验原理“机器视觉”是用机器代替人眼来进行识别、测量、判断等。机器视觉系统是通过摄像头将拍摄对象转换成图像信号,然后再交由图像分析系统进行分析、测量等。一个典型的机器视觉系统包括照明、镜头、相机、图像采集卡和视觉处理器5个部分。HALCON是在世界范围内广泛使用的机器视觉软件,拥有满足各类机器视觉应用的完善开发库。HALCON也包含Blob分析、形态学、模式识别、测量、三维摄像机定标、双目立体视觉等杰出的高级算法。HALCON支持Linux和Windows,并且可以通过C、C++、C#、VisualBasic和Delphi语言访问。另外HALCON与硬件无关,支持大多数图像采集卡及带有DirectShow和IEEE1394驱动的采集设备,用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件,具有良好的跨平台移植性和较快的执行速度。本实验包括对被测工件进行尺寸测量和表面缺陷检测。尺寸测量是通过使用机器视觉来对考察对象的尺寸、形状等信息进行度量;缺陷检测是通过机器视觉手段来分析零部件信息,从而判断其是否存在缺陷。尺寸测量和表面缺陷检测均可以通过边缘检测来实现。图像边缘是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。它具有方向和幅度两个特征。沿边缘走向,像素变化比较平缓;而垂直于边缘走向,像素变化比较剧烈,而这种剧烈可能呈现阶跃状,也可能呈现斜坡状。如图1所示,边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。不同的是,一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。a)图像灰度变化b)图像灰度一阶导数c)图像灰度二阶导数图1图像灰度变化与导数在传统边缘检测方法里,基于一阶导数的边缘检测算子有Robert算子、Sobel算子、Prewitt算子等。三、实验器材MER-500-7UM彩色数字相机,镜头位computar8mm,单个像素尺寸2.2x2.2um;三脚架;3030mmmm标定板,厚度3.8mm;计算机;被测工件;游标卡尺。四、实验内容与步骤1.实验内容:(1)搭建视觉测量系统;(2)采集标定板与被测工件图像;(3)利用HALCON软件进行相机标定,同时分别对被测工件进行尺寸测量与缺陷检测。2.待测对象描述:尺寸测量与缺陷检测的对象是一块有五个开孔的小型面板,如图2所示,面板表面较粗糙,对于光源系统及其背景选择有较高要求。在使用中,开孔的作用是或者定位,若孔的尺寸过大(或过小),会导致外接接口安装不稳定(或定位不准确)。同样,若存在不规则缺陷使得开孔过大(或过小),亦会导致上述结果,故对此面板在使用前进行尺寸测量与缺陷检测是非常必要的。图2被测工件图像3.实验步骤:(1)根据现场环境,选择合适的机架安放地点——光照强度适合、稳定,安装位置平坦。(2)利用扳手等工具,将三脚架、相机和镜头组装好。其中尽量保持相机镜头的中心线与测量平面的法线平行;(3)启动计算机,打开大恒图像采集软件。将相机与计算机连接。(4)在测量平面上放置白色背景(白纸),将标定板放在白色背景上,调整标定板的位置,使得标定板完全落在相机视场内部,对标定板进行图像采集。(5)通过平移、旋转或改变其与成像平面的夹角改变标定板的位置,直至完成15次标定板图像采集工作,得到部分标定板图像如图3所示。abcdef图3部分标定板图片(6)保持相机所有状态不变,放置好被测工件,根据被测工件材质选择合适的背景色调,调整光源强度与打光方式。对被测工件进行图像采集,视觉测量平台如图4所示。图4视觉测量平台(7)利用HALCON软件编写工件的尺寸测量程序,面板尺寸测量的流程如图5所示。图5尺寸测量流程图(8)测量缺陷几何参数:利用HALCON软件编写测量程序,流程如图6所示:摄像机标定读取原始图像提取感兴趣区域(RIO)阈值分割提取边缘轮廓选用合适方法拟合计算几何参数图6尺寸测量与确定缺陷几何参数流程图摄像机标定读取原始图像图像灰度化选定感兴趣区域(RIO)阈值分割边缘轮廓提取选用合适方法拟合计算几何参数五、数据记录1.摄像机标定:使用标定板图像进行标定1)打开HALCON软件,出现界面如图7所示;图7HALCON软件界面2)点击“助手”—“打开新的Calibration”创建新的Calibration,加载描述文件(注意文件路径不能够包含中文字符),标定板厚度是3.8mm,单个像元的宽和高都是2.2um,焦距默认值即可,如图8a)所示;a)Calibration界面1b)Calibration界面2图8标定界面3)加载标定板图像(注意文件路径不能够包含中文字符),如图8b)所示,标定过程中提示某图像“检测出品质问题”不用移除,若提示某图像“提取标志点失败”,则必须移除,否则无法进行标定操作,这里将“确定”的图像设为参考位姿;4)点击“标定”,得到对应的摄像机内外参数,如图9a)所示;5)在标定助手代码生成界面点击“插入代码”,将代码插入到程序窗口的结果,如图9b)所示;6)利用算子校正位姿,排除相机没有严格垂直安装对后续测量尺寸带来的干扰。代码:set_origin_pose(CameraPose,0,0,0.00246,PoseNewOrigin)2.尺寸测量:1)加载面板图像,直接将图像拖放到HALCON软件中(图像是灰度图像),如图10所示;代码:read_image(Hhm2,'C:/Users/Administrator/Desktop/hhm2.bmp')图10面板灰度图像2)提取感兴趣区域(RIO),点击“编辑ROI:ROI”—“绘制感兴趣区域”a)摄像机标定结果1b)摄像机标定结果2图9摄像机标定结果—“插入代码”,如图11所示;代码:gen_rectangle2(ROI_1_0,794.269,1017.31,rad(59.3003),485.18,248.842)dev_set_draw('margin')reduce_domain(GrayImage,ROI_0,ImageReduced)a)感兴趣区域图1b)感兴趣区域图1c)感兴趣区域图2图11感兴趣区域图3)阈值分割,点击“灰度直方图”—“改变输出颜色”—“改变阈值”—“插入代码”获得被测区域,如图12a)所示;代码:threshold(ImageReduced,Regions,74,255)4)提取边缘轮廓,点击“特征直方图”—“改变输出颜色”—“改变所需特征”—“改变阈值”—“插入代码”获得符合特征的区域,如图12b)和c)所示;代码:connection(Regions,ConnectedRegions)select_shape(ConnectedRegions,SelectedRegions,'area','and',1753.22,12516.9)图12被测区域图5)选用合适方法拟合,获得被测区域最小外接圆形,同时获得与圆的圆心和半径,如图感兴趣区域感兴趣区域13所示;代码:smallest_circle(SelectedRegions,Row,Column,Radius)gen_circle(Circle,Row,Column,Radius)a)被测区域最小圆形b)被测区域最小圆形参数图13被测区域最小圆形将像素坐标转换为世界坐标:image_points_to_world_plane(CameraParameters,PoseNewOrigin,Row,Column,'mm',X,Y)三个圆心之间的距离6)实验数据记录:图14被测区域最小圆形图表1面板尺寸表单位:mm面板圆心1和2面板圆心1和3面板圆心2和3实测距离17.6826.8012.62HALCON计算距离18.706332.938414.71973.缺陷检测缺陷标定的主要思路:以图中缺陷与圆形孔所成图像就是椭圆,所以利用椭圆面积减去原先圆的面积就是缺陷的面积,从而得到缺陷图像。缺陷标定流程步骤命令得到图像1读取图像(灰度图)read_image(Hhm2,'C:/Users/Administrator/Desktop/hhm2.bmp')面板圆形1面板圆形2面板圆形形32选取感兴趣区域(预测未存在缺陷时孔的形态)gen_region_runs(ROI_“area”);”area为数集,由于数集较长故不列出”reduce_domain(Image000,ROI_0,ImageReduced)3阈值分割threshold(Hhm2,Region,90,255)connection(Region,ConnectedRegions)4最小外接圆形get_image_size(ImagePart,Width,Height)edges_sub_pix(ImageWorld,Edges,'canny',1,20,40)5把线条拟合成椭圆fit_ellipse_contour_xld(Edges,'fitzgibbon',-1,0,0,200,3,2,Row,Column,Phi,Radius1,Radius2,StartPhi,EndPhi,PointOrder)6缺陷轮廓的区域就是椭圆的面积减去小圆(椭圆短径为半径的圆)RT:=3.14*Radius1*Radius2RT1:=3.14*Radius2*Radius2QueXian:=RT-RT12.实验结果表2仪表面板缺陷尺寸实测/mmHALCON计算/mm长径4.114.98534短径3.223.65419六、数据分析处理1.游标卡尺实测面板圆形圆心1和2的距离L1=16.68mm;面板圆心1和3的距离L2=26.80mm;面板圆心2和3的距离L3=12.62mm;利用HALCON软件标定后,测面板圆形圆心1和2的距离L1’=18.7063mm;面板圆心1和3的距离L2’=32.9384mm;面板圆心2和3的距离L3’=14.7197mm;HALCON软件测得值与游标卡尺测得值的绝对误差:mmlll0263.27063.1868.161'11mmlll6.138432.938426.802'22mmlll2.099714.719712.623'33相对误差:%1481.12%10068.160263.211ll%9045.22%10080.261384.622ll%6379.16%10062.120997.233ll2.缺陷几何参数测量与误差游标卡尺实测长径mmr11.41;游标卡尺实测短径mmr22.32HALCON软件标定后,测得长径mmr98534.4'1,短径mmr65419.3'2;HALCON软件测得值与卡尺长径绝对误差:mmrrre0.87534)('111长径相对误差:%2978.21%10011.487534.0)()(11rrerel短径绝对误差:mmrrre0.43419)('222短径相对误差:%4842.13%10022.30.43419)()(22rrerel误差分析:(1)图像采集时,工件未放置于相机的成像中心,选用物距太大,相机中心线并没有垂直测量平面;(2)被测工件开孔尺寸小