机器视觉测量实验报告
机器视觉应用实验报告
机器视觉应用实验报告
1. 实验背景
机器视觉是一种利用摄像头及图像处理技术进行实时观测和分析的
技术。
在工业、医疗、军事等领域有着广泛的应用。
本实验旨在探究
机器视觉在智能识别中的应用及效果。
2. 实验目的
通过实验验证机器视觉在智能识别中的应用效果,评估其准确性和
稳定性。
3. 实验内容
本次实验选择了人脸识别作为研究对象,使用机器视觉技术进行实
时人脸检测和识别。
首先,通过编写程序实现摄像头的拍摄和图像数
据的输入。
然后,利用机器学习算法对图像数据进行处理,提取人脸
特征并建立人脸数据库。
最后,实现对实时摄像头捕获的人脸进行识
别并输出结果。
4. 实验步骤
第一步:搭建实验环境,连接摄像头并测试摄像头的正常工作状态。
第二步:编写程序,调用机器视觉库进行人脸检测并显示检测结果。
第三步:准备人脸数据库,包含多个人脸图像及其对应的标签信息。
第四步:使用机器学习算法对人脸数据库进行训练,构建人脸识别
模型。
第五步:实现实时人脸识别功能,将识别结果显示在界面上。
5. 实验结果
经过实验,我们成功实现了实时人脸检测和识别功能。
机器视觉技
术能够准确地检测到摄像头捕获的人脸,并根据数据库信息进行识别。
在不同光照和姿态条件下,系统依然能够保持较高的准确性和稳定性。
6. 实验总结
本实验证明了机器视觉在人脸识别领域的强大应用潜力。
未来,机
器视觉技术将在更广泛的场景中得到应用,为人类社会带来更多的便
利和安全保障。
机器视觉课内实验
机器视觉课内实验报告(4次)学院:自动化班级:智能姓名:学号:目录实验一:一种摄像机标定算法的编程实现 (1)实验二:图像预处理算法的编程实现 (8)实验三:基于一阶微分算子的边缘检测 (14)实验四:基于二阶微分算子的边缘检测 (17)《机器视觉》课内实验报告(1)摄像机标定算法的编程实现智能科学与技术专业:班级:学号:姓名:实验时间:实验一MATLAB 编程实现基于直接线性变换的摄像机标定方法一、实验目的掌握摄像机标定方法的原理,采用直接线性变换方法,通过MATLAB 编程实现摄像机内参数和外参数的估计。
二、实验原理摄像机标定是指建立摄像机图像像素位置与场景点位置之间的关系,其途径是根据摄像机模型,由已知特征点的图像坐标求解摄像机的模型参数。
直接线性变换是将像点和物点的成像几何关系在齐次坐标下写成透视投影矩阵的形式:其中(u ,v ,1)为图像坐标系下的点的齐次坐标,(X,Y,Z)为世界坐标系下的空间点的欧氏坐标,P 为3*4的透视投影矩阵,s 为未知尺度因子。
消去s ,可以得到方程组:当已知N 个空间点和对应的图像上的点时,可以得到一个含有2*N 个方程的方程组: 三、实验步骤1 读取一幅图像并显示;2 检查内存(数组)中的图像;3 实现图像直方图均衡化;4 读取图像中像素点的坐标值;5 保存图像;6 检查新生成文件的信息;7 使用阈值操作将图像转换为二值图像; 8 根据RGB 图像创建一幅灰度图像; 9 调节图像的对比度;10 在同一个窗口内显示两幅图像;11 掌握Matlab 命令及函数,获取标定块图像的特征点坐标;12 根据DLT 摄像机标定方法原理编写Matlab 程序,估计摄像机内参数和外参数;⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⨯1143w w w Z Y X P v u s 0034333231142322213433323114131211=----+++=----+++u p uZ p uY p uX p p Z p Y p X p u p uZ p uY p uX p p Z p Y p X p w w w w w w w w w w w w 0=AL四、程序代码及实验结果显示代码:I=imread('C:\Users\w\12.jpg');imshow(I);whosfigure,I1=rgb2gray(I);figure,imshow(I1)imhist(I1);I2=histeq(I1);figure,imshow(I2)figure,imhist(I2)a=imread('C:\Users\w\12.jpg');imwrite(I1,'DSgray.jpg');imwrite(I2,'DSgrayeq.jpg');inf=imfinfo('C:\Users\w\12.jpg');level=graythresh(I2);bw=im2bw(I2,level);figure,imshow(bw)whosI3=imadjust(I2,stretchlim(I2),[0 1]); figure,imshow(I3);a=imread('C:\Users\w\12.jpg');b=imread('DSgray.jpg');subplot(1,2,1),imshow(a);subplot(1,2,2),imshow(b);clear;xpot=[];ypot=[];imshow('C:\Users\w\12.jpg');hold on;n=input('Please input the number of pot:'); for i=1:n[x,y]=ginput(1);plot(x,y,'or');text(x+1,y+1,num2str(i));xpot=[xpot,x];ypot=[ypot,y];end[xpot;ypot][xw;yw;zw]a=[xw',yw',zw',ones([100 1]),zeros([100 4]),(-1)*xpot'.*xw',(-1)*xpot'.*yw',(-1)*xpot'.*zw',-1*xpot';zeros([1004]),xw',yw',zw',ones([100 1]),(-1)*ypot'.*xw',(-1)*ypot'.*yw',(-1)*ypot'.*zw',-1*ypot'];c=a(:,1:11);b=a(:,12);l=(-1)*(c'*c)^(-1)*c'*b;显示两幅图对比度调节均衡化直方图灰度图直方图二进制图图片信息:名称:12.jpg项目类型:JPG图像文件夹路径:C:\Users\w创建日期:2017年11月6日, 星期一 13:16修改日期:2017年11月6日, 星期一 13:16 大小:111KB分辨率:1024 x 638宽度:1024像素高度:638像素水平分辨率:72dpi垂直分辨率:72dpi位深度:24检查内存中的图像:Name Size Bytes Class AttributesI 638x1024x3 1959936 uint8 ans 2x15 240 doublei 1x1 8 doublen 1x1 8 doublex 1x1 8 doublexpot 1x15 120 doubley 1x1 8 doubleypot 1x15 120 doubleName Size Bytes Class AttributesI 638x1024x3 1959936 uint8 I1 638x1024 653312 uint8I2 638x1024 653312 uint8a 638x1024x3 1959936 uint8ans 2x15 240 doublebw 638x1024 653312 logicali 1x1 8 doubleinf 1x1 42720 structlevel 1x1 8 doublen 1x1 8 doublex 1x1 8 doublexpot 1x15 120 doubley 1x1 8 doubleypot 1x15 120 doublePlease input the number of pot:10ans =550.3592 391.7113 261.9085 521.5141 838.8099 921.7394 211.4296 117.6831 770.3028 957.7958463.7254 308.6831 146.4296 160.8521 283.4437 492.5704 460.1197 247.3873 113.9789 157.2465五、实验心得《机器视觉》课内实验报告(2)图像预处理算法的编程实现智能科学与技术专业:班级:学号:姓名:实验时间:实验二:图像预处理算法的编程实现一、实验目的掌握图像预处理的基本方法及其主要思想,编程实现直方图均衡化、直方图规定化和图像的锐化处理。
机器视觉实验报告
机器视觉实验报告
一、实验目的
本实验旨在探究机器视觉在图像识别和分析方面的应用,通过实际操作和数据分析,验证机器视觉技术的准确性和可行性。
二、实验装置与方法
1. 实验装置:使用具备机器视觉功能的摄像头和计算机软件。
2. 实验方法:
a. 首先,搜集一定数量的图像数据作为实验样本。
b. 接着,利用机器视觉软件对图像数据进行处理和分析。
c. 最后,对机器视觉技术的准确性和稳定性进行评估。
三、实验结果分析
通过实验数据的分析和比对,我们得出以下结论:
1. 机器视觉在图像识别方面具有较高的准确率,能够准确辨识不同物体和场景。
2. 机器视觉在图像分析方面具有较强的处理能力,能够提取图像特征和进行数据分析。
3. 机器视觉技术的稳定性较高,能够在复杂环境下正常工作并保持较高的准确性。
四、实验结论与展望
通过本次实验,我们验证了机器视觉技术在图像识别和分析方面的有效性和可靠性。
未来,随着技术的不断进步和应用领域的拓展,机器视觉将会在更多领域展示出其强大的功能和潜力,为人类生活和工作带来更多便利和效益。
以上为机器视觉实验报告的内容,希望能够对您有所帮助。
视觉检测实训报告
一、实训背景随着工业自动化程度的不断提高,机器视觉检测技术在工业生产中的应用越来越广泛。
为了提高产品质量和生产效率,降低人工成本,我国各大企业纷纷引进视觉检测设备。
本实训旨在通过实际操作,使学生了解视觉检测的基本原理、设备配置及应用,掌握视觉检测系统的设计、调试和优化方法。
二、实训目标1. 理解视觉检测的基本原理和流程;2. 掌握视觉检测系统的硬件配置和软件应用;3. 学会使用视觉检测设备进行产品检测;4. 提高实际操作能力,为今后从事相关工作打下基础。
三、实训内容1. 视觉检测基本原理视觉检测系统主要由光源、相机、图像采集卡、图像处理软件和执行机构组成。
系统通过光源照亮被检测物体,相机捕捉图像,图像采集卡将图像传输到计算机,计算机通过图像处理软件对图像进行分析和处理,最后由执行机构进行相应动作。
2. 视觉检测设备配置(1)光源:根据被检测物体的表面特性和检测要求选择合适的光源,如白光、红外光、紫外光等。
(2)相机:根据检测精度和分辨率要求选择合适的相机,如CCD相机、CMOS相机等。
(3)图像采集卡:用于将相机捕捉的图像传输到计算机。
(4)图像处理软件:对图像进行预处理、特征提取、目标识别、定位和跟踪等操作。
(5)执行机构:根据检测结果进行相应动作,如剔除不良品、标记缺陷等。
3. 视觉检测系统设计(1)确定检测任务:根据产品特性和质量要求,明确检测任务,如尺寸测量、缺陷检测、外观检测等。
(2)选择检测方法:根据检测任务选择合适的检测方法,如基于模板匹配、基于特征匹配、基于机器学习等。
(3)搭建检测系统:根据检测方法和要求,搭建视觉检测系统,包括硬件配置和软件编程。
(4)系统调试与优化:对系统进行调试,确保检测精度和稳定性。
根据实际检测效果,对系统进行优化,提高检测效率和准确性。
4. 实训案例以某电子元件外观检测为例,具体步骤如下:(1)确定检测任务:检测电子元件的外观缺陷,如划痕、气泡、变形等。
机器视觉测量综合实验
机器视觉测量综合实验——OCR识别一、实验目的1、了解机器视觉系统的组成。
2、掌握相机标定、分辨率测量等系统参数测量方法。
3、掌握机器视觉基本应用原理和方法。
二、实验原理OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。
OCR识别的原理是计算机对图像进行版面分析、处理和模式识别。
图像版面分析是指通过对图像文字的预处理,文字图像的分割和坐标定位;文字模式识别是通过检测暗、亮的模式,放大图像确定其形状特征并进行提取和判断,最终通过图像黑白点二进制与字符编码进行匹配,根据最相近的匹配度将文字图像特征进行文字的转换。
通过扫描仪设备将纸质的期刊、学位等文献数据进行扫描,再人工通过鼠标在图像文字区域进行画框,选择特定区域进行文字识别,然后对版面字切分、归一化等。
文字识别主要使用了黑白二值法,将文字颜色取反,也就是白变成黑,黑变成白,以单字图像区域分为上下两部分,这种方式将每个字都可以划分为不同区域,将不同区域的反选区域用二进制的方式进行转换,将每个文字区域划分后生成一个二进制编码,我们预先对每个标准的文字进行二进制编码存放到数据库中,用OCR文字识别完的结果与标准数据库中的二进制编码进行比对,从而选择最接近的二进制编码文字,最终得到文字识别结果。
三、实验仪器CMOS相机,远心成像镜头,机器视觉创新综合实验测试板,机器视觉实验平台及相关软件,相关机械调整部件等。
四、实验内容1.装配平台各器件,其中光源只打开条形光源,镜头选择物象双方远心镜头GCO-230205。
打开实验软件程序,选择“采集模块”,单击“采集图像”,在软件中观察COMS相机采集图像的效果,调整COMS相机参数以获得最佳图像效果。
2.将机器视觉创新综合实验测试板水平地放在机器视觉平台上。
面向工业的机器视觉检测实验报告
面向工业的机器视觉检测实验报告一、实验背景在现代工业生产中,产品质量的检测和控制是至关重要的环节。
传统的人工检测方法不仅效率低下,而且容易受到人为因素的影响,导致检测结果的准确性和稳定性难以保证。
随着机器视觉技术的不断发展,其在工业检测领域的应用越来越广泛。
机器视觉检测系统具有非接触、高精度、高速度、自动化等优点,能够有效地提高生产效率和产品质量。
本次实验旨在研究机器视觉检测技术在工业生产中的应用,评估其检测效果和性能,并为实际应用提供参考依据。
二、实验目的1、了解机器视觉检测系统的组成和工作原理。
2、掌握机器视觉检测系统的搭建和调试方法。
3、研究机器视觉检测技术在工业产品检测中的应用,包括缺陷检测、尺寸测量、形状识别等。
4、评估机器视觉检测系统的检测精度、速度和稳定性。
5、分析机器视觉检测技术在工业应用中存在的问题和挑战,并提出改进措施和建议。
三、实验设备和材料1、机器视觉检测系统:包括相机、镜头、光源、图像采集卡、计算机等。
2、实验样品:选择了一批具有代表性的工业产品,如电子元件、机械零件、塑料制品等。
3、检测工具:如卡尺、千分尺等,用于对比和验证机器视觉检测结果。
四、实验原理机器视觉检测技术是通过相机获取被测物体的图像,然后利用图像处理算法对图像进行分析和处理,提取出有用的信息,如物体的形状、尺寸、颜色、纹理等,从而实现对物体的检测和识别。
其基本流程包括图像采集、图像预处理、特征提取、目标识别和检测结果输出等。
五、实验步骤1、系统搭建(1)根据实验需求选择合适的相机、镜头和光源,并进行安装和调试,确保能够获取清晰、高质量的图像。
(2)将相机通过图像采集卡与计算机连接,安装好驱动程序和图像处理软件。
2、图像采集(1)将实验样品放置在检测平台上,调整相机的位置和角度,使样品能够完整地出现在相机的视野中。
(2)设置合适的曝光时间、增益和帧率等参数,采集多幅图像。
3、图像预处理(1)对采集到的图像进行去噪、增强、二值化等预处理操作,提高图像的质量和对比度。
机器视觉测量实验报告
《机器视觉应用实验报告》姓名黄柱汉学号 3院系机械与汽车工程学院专业仪器仪表工程指导教师全燕鸣教授2015年04月16日华南理工大学实验报告课程名称:机器视觉应用机械与汽车工程学院系仪器仪表工程专业黄柱汉实验名称机器视觉应用实验日期2015.4.16 指导老师全燕鸣一、实验目的主要目的有以下几点:1.实际搭建工业相机、光源、被摄物体图像获取系统,自选Labview或Matlab、Halcon、Ni Vision软件平台,用打印标定板求解相机外参数以及进行现场系统标定;2.进行一个具体实物体的摄像实验,经图像预处理和后处理,获得其主要形状尺寸的测量(二维)3.进行一个具体实物体的摄像实验,经图像预处理和后处理,识别出其表面缺陷和定位。
二、实验原理“机器视觉”是用机器代替人眼来进行识别、测量、判断等。
机器视觉系统是通过摄像头将拍摄对象转换成图像信号,然后再交由图像分析系统进行分析、测量等。
一个典型的机器视觉系统包括照明、镜头、相机、图像采集卡和视觉处理器5个部分。
HALCON是在世界围广泛使用的机器视觉软件,拥有满足各类机器视觉应用的完善开发库。
HALCON也包含Blob分析、形态学、模式识别、测量、三维摄像机定标、双目立体视觉等杰出的高级算法。
HALCON支持Linux和Windows,并且可以通过C、C++、C#、Visual Basic和Delphi语言访问。
另外HALCON与硬件无关,支持大多数图像采集卡及带有DirectShow和IEEE1394驱动的采集设备,用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件,具有良好的跨平台移植性和较快的执行速度。
本实验包括对被测工件进行尺寸测量和表面缺陷检测。
尺寸测量是通过使用机器视觉来对考察对象的尺寸、形状等信息进行度量;缺陷检测是通过机器视觉手段来分析零部件信息,从而判断其是否存在缺陷。
尺寸测量和表面缺陷检测均可以通过边缘检测来实现。
图像边缘是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。
机器视觉测量实验报告
机器视觉测量实验报告
实验名称:机器视觉测量实验
实验组织:大学机械学院
实验时间:2024年6月5日
实验目的:本次实验旨在探究如何使用机器视觉技术来准确地测量物体的尺寸及形状。
实验步骤:
1、实验准备:首先在实验室准备机器视觉测量系统,包括一台摄像机、一台显示器、一台运动控制器和一台定位台,实验参数的设置,比如检测区域、检测方法、测量时间等;
2、样本准备:用于测量的物体以及所需要的校准器;
3、编写程序:编写测量程序,根据实验参数设置检测区域以及检测方法;
4、测试:运行测试程序,输出测量数据,并分析显示结果;
5、数据分析:将测量结果进行评价和分析,结果说明机器视觉技术对准确测量物体尺寸及形状有较好的效果。
实验结果:本次实验测量的物体均是圆柱体,大部分尺寸充分符合要求,最大偏差仅在0.02毫米以内,表明机器视觉技术在这方面的准确性很好。
结论:本次实验证明,采用机器视觉技术进行物体尺寸及形状测量是一种可行的方法,机器视觉测量系统的测量精度可满足大部分应用需要。
建议:本次实验仅局限于圆柱体测量。
机器视觉实验报告
机器视觉实验报告目录一实验名称 (2)二试验设备 (2)三实验目的 (2)四实验内容及工作原理 (2)(一)kinect for windows (2)(二)手持式自定位三维激光扫描仪 (3)(三)柔性三坐标测量仪 (9)(四)双面结构光 (10)总结与展望 (14)参考文献 (16)《机器视觉》实验报告一、实验名称对kinect for windows、三维激光扫描仪、柔性三坐标测量仪和双面结构光等设备结构功能的认识。
二、实验设备kinect for windows、三维激光扫描仪、柔性三坐标测量仪、双面结构光。
三、实验目的让同学们对机器视觉平时所使用的仪器设备以及机器视觉在实际运用中的具体实现过程有一定的了解。
熟悉各种设备的结构功能和操作方法,以便于进行二次开发。
其次,深化同学们对机器视觉系统的认识,拓宽同学们的知识面,以便于同学们后续的学习。
四、实验内容及工作原理(一)kinect for windows1.Kinect简介Kinectfor Xbox 360,简称Kinect,是由微软开发,应用于Xbox 360 主机的周边设备。
它让玩家不需要手持或踩踏控制器,而是使用语音指令或手势来操作Xbox360 的系统界面。
它也能捕捉玩家全身上下的动作,用身体来进行游戏,带给玩家“免控制器的游戏与娱乐体验”。
2012年2月1日,微软正式发布面向Windows系统的Kinect版本“Kinect for Windows”。
2.硬件组成Kinect有三个镜头[1],如图1-1所示。
中间的镜头是RGB 彩色摄影机,用来采集彩色图像。
左右两边镜头则分别为红外线发射器和红外线CMOS 摄影机所构成的3D结构光深度感应器,用来采集深度数据(场景中物体到摄像头的距离)。
彩色摄像头最大支持1280*960分辨率成像,红外摄像头最大支持640*480成像。
Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。
机器视觉实验实训总结报告
一、实验背景随着科技的发展,机器视觉技术已经广泛应用于工业、医疗、农业、交通等多个领域。
为了更好地掌握这一技术,我们开展了为期一个月的机器视觉实验实训。
本次实训旨在通过理论学习和实际操作,深入了解机器视觉的基本原理、应用领域及实验方法,提高我们的实践操作能力和创新能力。
二、实验目的1. 理解机器视觉的基本原理,包括图像采集、图像处理、图像分析和模式识别等环节。
2. 掌握常用的机器视觉软件和硬件,如MATLAB、OpenCV、Halcon等。
3. 通过实际操作,提高对机器视觉系统的搭建、调试和优化能力。
4. 培养团队协作精神,提高创新思维和解决问题的能力。
三、实验内容本次实训主要包括以下内容:1. 理论课程:介绍了机器视觉的基本概念、发展历程、应用领域及常用算法等。
2. 实验课程:- 图像采集:学习如何搭建机器视觉系统,包括光源、镜头、相机等硬件设备的选型和配置。
- 图像处理:掌握图像预处理、图像增强、图像分割、特征提取等基本操作。
- 图像分析:学习图像分类、目标检测、物体跟踪等算法。
- 模式识别:了解机器学习、深度学习等在机器视觉领域的应用。
四、实验过程1. 前期准备:查阅相关资料,了解机器视觉的基本原理和应用领域,熟悉实验设备。
2. 理论学习:参加理论课程,学习机器视觉的基本知识,为实验操作打下基础。
3. 实验操作:- 图像采集:搭建实验平台,进行图像采集,观察图像质量,调整设备参数。
- 图像处理:运用MATLAB、OpenCV等软件,对采集到的图像进行处理,提取特征。
- 图像分析:实现图像分类、目标检测、物体跟踪等功能,验证算法效果。
- 模式识别:尝试使用机器学习、深度学习等方法,提高图像识别的准确率。
五、实验成果1. 成功搭建了多个机器视觉实验平台,包括图像采集、图像处理、图像分析和模式识别等环节。
2. 掌握了MATLAB、OpenCV等常用软件的使用方法,能够独立完成图像处理和分析任务。
机器视觉测量实验报告
机器视觉测量实验报告
一、实验背景
本次实验是实验机器视觉测量系统的性能,可以通过测量产品特征来确定产品的质量。
二、实验原理
机器视觉测量系统是自动化测量技术,其实验原理是利用机器视觉及其控制系统精准地获取产品表面形状及相关特征,并通过视觉软件的运算算法完成特征量的测量和判定工作,采用机器视觉测量系统可比传统的测量准确性和精准度提高许多。
三、实验设备
本次实验中用到的设备包括:
1)机器视觉测量系统:由光源、CCD成像模组、照明电源、控制卡和相关软件组成的机器视觉测量系统,可以精准地检测出产品表面形状及相关特征。
2)视觉软件:视觉软件是控制系统的核心部分,提供了检测算法,按照相应的检测算法完成对特征值的量测和判定,获得更加准确的测量结果。
3)实物样品:用于机器视觉测量系统检测的实物样品,根据具体情况定义不同的产品特征来检测实物样品的质量。
四、实验步骤
1.根据检测要求,选取实物样品,放置在视觉测量系统的检测位置:
2.确定检测算法,设置照明电源,找出最佳的检测条件:。
机器视觉检测实习报告
一、实习背景随着我国智能制造的快速发展,机器视觉检测技术作为自动化检测的重要手段,得到了广泛的应用。
为了更好地了解机器视觉检测技术,提高自己的实际操作能力,我于2023年7月至9月在XX科技有限公司进行了为期两个月的实习。
二、实习单位及岗位实习单位:XX科技有限公司实习岗位:机器视觉检测工程师三、实习内容1. 了解机器视觉检测技术的基本原理实习期间,我首先学习了机器视觉检测技术的基本原理,包括图像采集、图像处理、特征提取、目标识别等。
通过学习,我掌握了机器视觉检测系统的基本构成和各个模块的功能。
2. 参与项目实施在实习期间,我参与了公司某项目的实施,该项目主要针对手机屏幕的缺陷检测。
我负责以下工作:(1)协助工程师搭建机器视觉检测系统,包括硬件设备的选择和调试;(2)编写图像处理程序,对采集到的图像进行处理,提取特征;(3)设计目标识别算法,实现对手机屏幕缺陷的自动检测;(4)对检测结果进行分析,提出优化建议。
3. 参与日常维护实习期间,我还参与了机器视觉检测系统的日常维护工作,包括设备保养、软件升级等。
四、实习收获1. 提高了实际操作能力通过实习,我熟练掌握了机器视觉检测技术的实际操作,提高了自己的动手能力。
2. 丰富了专业知识实习期间,我学习了机器视觉检测技术的基本原理和应用,丰富了自身的专业知识。
3. 培养了团队协作精神在实习过程中,我与其他同事共同完成了项目实施,培养了良好的团队协作精神。
4. 提升了沟通能力实习期间,我需要与工程师、技术人员等进行沟通,提高了自己的沟通能力。
五、实习总结1. 机器视觉检测技术在制造业中的应用越来越广泛,具有很高的应用价值。
2. 机器视觉检测系统的搭建和实施需要具备一定的专业知识和技术能力。
3. 团队协作和沟通能力在机器视觉检测项目中至关重要。
4. 持续学习和实践是提高自己专业能力的关键。
六、建议1. 企业应加强对机器视觉检测技术的宣传和培训,提高员工的专业素养。
机器视觉测量实验报告(3篇)
第1篇一、实验目的本次实验旨在通过机器视觉技术,了解和掌握机器视觉测量系统的基本原理和操作方法,掌握图像采集、图像处理、特征提取和尺寸测量的过程。
通过实验,加深对机器视觉技术在工业生产中的应用的理解。
二、实验设备1. 机器视觉测量系统:包括工业相机、光源、图像采集卡、控制计算机等。
2. 实验样品:不同尺寸和形状的工件。
3. 图像处理软件:如MATLAB、OpenCV等。
三、实验原理机器视觉测量系统通过图像采集设备获取物体的图像,然后利用图像处理技术对图像进行处理,提取出物体的特征信息,进而实现对物体尺寸的测量。
实验中主要涉及以下原理:1. 图像采集:通过工业相机获取物体的图像,图像采集过程中需要注意曝光时间、分辨率等因素。
2. 图像处理:对采集到的图像进行预处理,如灰度化、滤波、二值化等,以去除噪声和干扰。
3. 特征提取:从处理后的图像中提取出物体的特征信息,如边缘、角点、形状等。
4. 尺寸测量:根据提取的特征信息,利用几何关系计算出物体的尺寸。
四、实验步骤1. 样品准备:将不同尺寸和形状的工件放置在实验平台上,确保样品与相机平行。
2. 光源设置:根据样品的特性选择合适的光源,如背光、侧光等,以提高图像质量。
3. 图像采集:通过工业相机获取样品的图像,并将图像传输到控制计算机。
4. 图像处理:对采集到的图像进行预处理,如灰度化、滤波、二值化等。
5. 特征提取:从处理后的图像中提取出物体的特征信息,如边缘、角点、形状等。
6. 尺寸测量:根据提取的特征信息,利用几何关系计算出物体的尺寸。
7. 结果分析:对测量结果进行分析,评估机器视觉测量系统的精度和稳定性。
五、实验结果与分析1. 图像采集:实验中使用了不同曝光时间的图像,通过对比发现,曝光时间适中时,图像质量较好,噪声较少。
2. 图像处理:通过灰度化、滤波、二值化等处理,可以有效去除噪声和干扰,提高图像质量。
3. 特征提取:通过边缘检测、角点检测等算法,可以提取出物体的特征信息,为尺寸测量提供依据。
关于机器视觉实验报告
一、实验背景随着计算机技术的发展,机器视觉技术已经成为人工智能领域的一个重要分支。
机器视觉通过模拟人类视觉感知,利用计算机对图像或视频进行分析、处理和理解,从而实现对物体、场景的识别和检测。
本实验旨在通过实际操作,了解机器视觉的基本原理、技术方法和应用领域,并掌握相关软件的使用。
二、实验目的1. 理解机器视觉的基本概念和原理;2. 掌握图像采集、处理、特征提取和识别的基本方法;3. 学习并运用相关软件进行图像分析和处理;4. 了解机器视觉在各个领域的应用。
三、实验内容1. 实验一:图像采集与预处理(1)实验目的:掌握图像采集方法和预处理技术。
(2)实验步骤:1)使用摄像头采集图像;2)对采集到的图像进行灰度化、滤波、边缘检测等预处理操作;3)观察预处理效果,分析预处理对图像质量的影响。
2. 实验二:图像特征提取(1)实验目的:学习并掌握图像特征提取方法。
(2)实验步骤:1)选择合适的特征提取方法,如HOG(Histogram of Oriented Gradients)、SIFT(Scale-Invariant Feature Transform)等;2)对预处理后的图像进行特征提取;3)观察提取到的特征,分析特征对识别效果的影响。
3. 实验三:图像识别与分类(1)实验目的:学习并掌握图像识别与分类方法。
(2)实验步骤:1)选择合适的分类器,如支持向量机(SVM)、K近邻(KNN)等;2)对提取到的特征进行分类;3)观察分类结果,分析分类器的性能。
4. 实验四:机器视觉在人脸识别中的应用(1)实验目的:了解机器视觉在人脸识别领域的应用。
(2)实验步骤:1)采集人脸图像;2)对人脸图像进行预处理、特征提取和识别;3)观察识别结果,分析人脸识别系统的性能。
四、实验结果与分析1. 实验一:图像预处理通过对图像进行灰度化、滤波和边缘检测等预处理操作,可以有效提高图像质量,减少噪声对后续处理的影响。
实验结果表明,预处理后的图像质量得到了明显改善。
机器视觉实验报告
机器视觉实验报告机器视觉实验报告引言机器视觉是一种模拟人类视觉系统的技术,通过计算机视觉算法和图像处理技术,使计算机能够识别和理解图像。
本实验旨在探索机器视觉在不同场景下的应用,并评估其性能和准确性。
实验一:物体识别在第一个实验中,我们使用了一个经典的物体识别算法——卷积神经网络(Convolutional Neural Network,CNN)。
我们为该网络提供了一组包含不同物体的图像样本,训练它来识别这些物体。
经过多次训练和调优后,我们得到了一个准确率达到90%以上的物体识别模型。
实验二:人脸识别人脸识别是机器视觉领域的一个重要应用。
在本实验中,我们使用了一种基于深度学习的人脸识别算法。
我们收集了一组包含不同人的人脸图像,并将其用于训练模型。
经过反复的训练和验证,我们的人脸识别模型在准确率方面取得了令人满意的结果。
实验三:图像分割图像分割是指将图像划分为若干个区域的过程。
在本实验中,我们使用了一种基于深度学习的图像分割算法。
我们提供了一组包含不同对象的图像样本,并训练模型来识别和分割这些对象。
通过与手动标注的结果进行比较,我们发现该算法在图像分割任务上表现出色。
实验四:运动检测运动检测是机器视觉中的一个重要任务,它可以用于安防监控、行为分析等领域。
在本实验中,我们使用了一种基于光流法的运动检测算法。
我们提供了一组包含运动和静止场景的视频样本,并训练模型来检测和跟踪运动目标。
实验结果显示,该算法在运动检测方面具有较高的准确率和鲁棒性。
实验五:场景理解场景理解是机器视觉中的一个挑战性任务,它要求计算机能够对图像进行语义分析和推理。
在本实验中,我们使用了一种基于深度学习的场景理解算法。
我们提供了一组包含不同场景的图像样本,并训练模型来理解和描述这些场景。
实验结果表明,该算法在场景理解方面取得了显著的进展。
结论通过本次实验,我们深入了解了机器视觉技术的应用和发展。
从物体识别到场景理解,机器视觉在各个领域都展现出了巨大的潜力和前景。
视觉机器应用实验报告(3篇)
第1篇一、实验目的本次实验旨在通过实际操作,了解并掌握视觉机器的基本原理和应用,提高对视觉机器处理技术的认识。
实验内容包括边缘检测、显著性检测、特征点检测和直线检测等,通过对比不同算法的优缺点,分析其在实际图像处理中的应用和局限性。
二、实验内容与步骤1. 边缘检测(1)选择图像数据:选取一张包含明显边缘结构的图像作为实验对象。
(2)Sobel边缘检测:使用Sobel算子对图像进行边缘检测,记录结果。
(3)Canny边缘检测:使用Canny算子对图像进行边缘检测,记录结果。
(4)比较两种方法的边缘检测效果,分析其差异。
2. 显著性检测(1)选择图像数据:选取一张包含不同显著性区域的图像作为实验对象。
(2)HC显著性检测:使用Python和OpenCV实现HC显著性检测算法,调整参数,比较检测效果。
(3)基于最小方向对比度显著性检测:使用Python和OpenCV实现基于最小方向对比度显著性检测算法,调整参数,比较检测效果。
(4)基于最稳定区域显著性检测:使用Python和OpenCV实现基于最稳定区域显著性检测算法,调整参数,比较检测效果。
3. 特征点检测(1)选择图像数据:选取一张包含明显角点的图像作为实验对象。
(2)Harris角点检测:使用Python和OpenCV实现Harris角点检测算法,调整参数,比较检测效果。
(3)分析角点检测结果与实际图像特征之间的关系。
4. 直线检测(1)选择图像数据:选取一张包含直线的图像作为实验对象。
(2)哈夫变换直线检测:使用Python和OpenCV实现哈夫变换直线检测算法,调整参数,比较检测效果。
(3)对图像进行预处理(如边缘检测)以提高直线检测效果。
(4)分析哈夫变换在实际场景中的应用和局限性。
三、实验结果与分析1. 边缘检测通过对比Sobel算子和Canny算子的边缘检测结果,发现Canny算子具有更好的检测效果,能够有效抑制噪声,同时保留边缘信息。
基于机器视觉的工业质量检测实验报告
基于机器视觉的工业质量检测实验报告一、引言在现代工业生产中,产品质量检测是至关重要的环节。
传统的人工检测方法不仅效率低下,而且容易受到主观因素的影响,导致检测结果的准确性和稳定性难以保证。
随着机器视觉技术的不断发展,其在工业质量检测中的应用越来越广泛。
本实验旨在研究基于机器视觉的工业质量检测方法,并对其性能进行评估。
二、实验目的本实验的主要目的是验证机器视觉技术在工业质量检测中的可行性和有效性,具体包括以下几个方面:1、检测产品表面的缺陷,如划痕、裂纹、污渍等。
2、测量产品的尺寸和形状参数,如长度、宽度、高度、圆度等。
3、识别产品的颜色和图案,确保其符合设计要求。
4、比较机器视觉检测与传统人工检测的效率和准确性。
三、实验设备和材料1、机器视觉检测系统工业相机:分辨率为 2000 万像素,帧率为 60fps。
镜头:焦距为 16mm,光圈范围为 F14 F16。
光源:环形白色 LED 光源,亮度可调节。
图像采集卡:支持高速数据传输。
计算机:配置为英特尔酷睿 i7 处理器,16GB 内存,512GB 固态硬盘。
2、被检测产品金属零件:包括螺丝、螺母、垫片等。
塑料制品:如塑料瓶、塑料盖等。
电子元件:如电路板、芯片等。
3、传统检测工具卡尺:精度为 002mm。
放大镜:倍数为 10 倍。
四、实验方法1、图像采集将被检测产品放置在检测平台上,调整相机的位置和角度,确保能够清晰地拍摄到产品的表面。
打开光源,调节亮度和角度,使产品表面的光照均匀。
使用图像采集卡将相机拍摄的图像传输到计算机中。
2、图像处理对采集到的图像进行预处理,包括去噪、增强对比度、灰度化等操作,以提高图像的质量。
采用图像分割算法将产品从背景中分离出来。
运用特征提取算法提取产品表面的缺陷、尺寸、形状、颜色和图案等特征。
3、检测算法基于提取的特征,使用机器学习算法(如支持向量机、决策树等)或深度学习算法(如卷积神经网络)对产品进行分类和识别,判断其是否存在质量问题。
机器视觉-实验二报告-测量正六边形的各边边长
实验二报告测量正六边形的各边边长一、实验目的1.掌握Hariss角点检测的基本原理和步骤。
2.复习VB、VC的基本概念、基本语法和编程方法,并熟练使用VB或VC编写遗传算法程序。
二、实验设备微机三、实验内容及步骤编写程序分别利用哈夫变换方法和Harris角点检测方法测量正六边形的各边边长。
1.上机编写程序。
2.调试程序。
3.根据实验结果,撰写实验报告。
四、实验报告哈夫变换方法#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>using namespace cv;using namespace std;/// Global variablesMat src, edges;Mat src_gray;Mat standard_hough, probabilistic_hough;intmin_threshold = 10;intmax_trackbar = 200;char* standard_name = "Standard Hough Lines Demo";char* probabilistic_name = "Probabilistic Hough Lines Demo";ints_trackbar = max_trackbar;intp_trackbar = max_trackbar;/// Function Headersvoid help();voidStandard_Hough( int, void* );voidProbabilistic_Hough( int, void* );int main( ){/// Read the imagesrc = imread( "images\\building.jpg", 1 );if(src.empty() ){ help();return -1;}/// Pass the image to graycvtColor(src, src_gray, CV_RGB2GRAY );/// Apply Canny edge detectorCanny(src_gray, edges, 50, 200, 3 );namedWindow(standard_name, CV_WINDOW_AUTOSIZE );createTrackbar( "Thresh", standard_name, &s_trackbar, max_trackbar, Standard_Hough);namedWindow(probabilistic_name, CV_WINDOW_AUTOSIZE );createTrackbar( "Thresh", probabilistic_name, &p_trackbar, max_trackbar, Probabilistic_Hough);/// InitializeStandard_Hough(0, 0);Probabilistic_Hough(0, 0);waitKey(0);return 0;}void help(){printf("\t Hough Transform to detect lines \n ");printf("\t---------------------------------\n ");printf(" Usage: ./HoughLines_Demo<image_name> \n");}voidStandard_Hough( int, void* ){vector<Vec2f>s_lines;cvtColor( edges, standard_hough, CV_GRAY2BGR );/// 1. Use Standard Hough TransformHoughLines( edges, s_lines, 1, CV_PI/180, min_threshold + s_trackbar, 0, 0 );/// Show the resultfor(inti = 0; i<s_lines.size(); i++ ){float r = s_lines[i][0], t = s_lines[i][1];doublecos_t = cos(t), sin_t = sin(t);double x0 = r*cos_t, y0 = r*sin_t;double alpha = 1000;Point pt1(cvRound(x0 + alpha*(-sin_t)), cvRound(y0 + alpha*cos_t) );Point pt2(cvRound(x0 - alpha*(-sin_t)), cvRound(y0 - alpha*cos_t) );line(standard_hough, pt1, pt2, Scalar(255,0,0), 1, CV_AA);}imshow(standard_name, standard_hough );imwrite("images\\houghline_stand.png",standard_hough);}voidProbabilistic_Hough( int, void* ){vector<Vec4i>p_lines;cvtColor( edges, probabilistic_hough, CV_GRAY2BGR );/// 2. Use Probabilistic Hough TransformHoughLinesP( edges, p_lines, 1, CV_PI/180, min_threshold + p_trackbar, 30, 10 );/// Show the resultfor(size_ti = 0; i<p_lines.size(); i++ ){Vec4i l = p_lines[i];line( probabilistic_hough, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(255,0,0), 1, CV_AA);}imshow(probabilistic_name, probabilistic_hough );imwrite("images\\houghline_probabilistic.png",probabilistic_hough);Harris角点检测方法/*** @function cornerDemo.cpp* @brief Demo code for detecting corners using Harris-Stephens method and Shi-Tomasi method*/#include <stdio.h>#include <iostream>#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/core/core.hpp"#include "opencv2/legacy/legacy.hpp"#include "opencv2/nonfree/nonfree.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/calib3d/calib3d.hpp"#include <vector>using namespace cv;using namespace std;//Global variablesMat src, src_gray,dst_norm_scaled,src_copy;int thresh = 0;intmax_thresh = 100;intmaxCorners = 0;intmaxTrackbar = 50;char* source_window = "Source image";char* corners_window = "Corners detected";/// Function headervoidcornerHarris_demo( int, void* );//void cornerShiTomasi_demo(int, void* );int main( ){src = imread("images\\corner.png",1);cvtColor(src, src_gray, CV_BGR2GRAY );/// Create a window and a trackbarnamedWindow(source_window, CV_WINDOW_AUTOSIZE );createTrackbar( "Harris", source_window, &thresh, max_thresh, cornerHarris_demo ); createTrackbar( "ShiTomasi", source_window, &maxCorners, maxTrackbar, cornerHarris_demo );namedWindow(corners_window, CV_WINDOW_AUTOSIZE );namedWindow(source_window, CV_WINDOW_AUTOSIZE );cornerHarris_demo( 0, 0 );//cornerShiTomasi_demo( 0, 0 );waitKey(0);return(0);}voidcornerHarris_demo( int, void* ){src.copyTo(src_copy);Mat dst, dst_norm;dst = Mat::zeros( src.size(), CV_32FC1 );/// Detector parametersintblockSize = 2;intapertureSize = 3;double k = 0.04;/// Detecting cornerscornerHarris(src_gray, dst, blockSize, apertureSize, k, BORDER_DEFAULT );/// Normalizingnormalize(dst, dst_norm, 0, 255, NORM_MINMAX, CV_32FC1, Mat() );convertScaleAbs(dst_norm, dst_norm_scaled );/// Drawing a circle around cornersfor(int j = 0; j <dst_norm.rows ; j++ ){ for( inti = 0; i<dst_norm.cols; i++ ){if( (int) dst_norm.at<float>(j,i) > thresh+60 ){circle(dst_norm_scaled, Point( i, j ), 6, Scalar(0), -1, 8, 0 );circle(src_copy,Point( i, j ), 5, Scalar(255,0,0), -1, 8, 0 );}}}if(maxCorners< 1 ) { maxCorners = 1; }/// Parameters for Shi-Tomasi algorithmvector<Point2f> corners;doublequalityLevel = 0.01;doubleminDistance = 10;booluseHarrisDetector = false;/// Copy the source imageMat cormat;/// Apply corner detection :Determines strong corners on an image. goodFeaturesToTrack(src_gray,corners,maxCorners,qualityLevel,minDistance,Mat(),blockSize,useHarrisDetector,k );/// Draw corners detectedfor(inti = 0; i<corners.size(); i++ ){circle(dst_norm_scaled, corners[i], 6, Scalar(255), 2, 8, 0 );circle(src_copy, corners[i], 4, Scalar(0,255,0), 2, 8, 0 );}imshow(corners_window, dst_norm_scaled );imshow(source_window, src_copy );}。
机器视觉测量实验报告
”—“插入代码
”获得符合特征的区域,如图 12 b)和
图 12 被测区域图
5) 选用合适方法拟合,获得被测区域最小外接圆形,同时获得与圆的圆心和半径,如图
13 所示; 代码:smallest_circle(SelectedRegions, Row, Column, Radius) gen_circle (Circle, Row, Column, Radius)
面板圆形 1
面板圆形 2 面板圆形形 3
图 14 被测区域最小圆形图
表 1 面板尺寸表
单位:mm
面板圆心 1 和 2 实测距离 HALCON 计算距离 17.68 18.7063
面板圆心 1 和 3 26.80 32.9384
面板圆心 2 和 3 12.62 14.7197
3. 缺陷检测 缺陷标定的主要思路:以图中缺陷与圆形孔所成图像就是椭圆,所以利用椭圆面积减去原先 圆的面积就是缺陷的面积,从而得到缺陷图像。 缺陷标定流程
六、数据分析处理
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 软件测得值与游标卡尺测得值的绝对误差:
步骤 1 读取图像(灰度图) 命令 read_image (Hhm2, 'C:/Users/Administrator/Des ktop /hhm2.bmp') 得到图像
机器视觉实验报告
研究生课程论文机器视觉应用实验报告《机器视觉应用实验报告》姓名学号院系专业仪器仪表工程指导教师华南理工大学实验报告课程名称:机器视觉应用机械与汽车工程学院系仪器仪表工程专业姓名廖帆实验名称机器视觉应用实验日期指导老师一、实验目的自行搭建机器视觉测量系统,采集标定板、工件图像,利用图像处理软件进行标定、工件尺寸测量、工件缺陷检测。
主要目的有:1、根据被测工件,搭建机器视觉测量系统,选择成像系统软件,进行图像采集等实验。
掌握常规机器视觉测量原理、实验平台搭建、图像采集步骤;2、掌握成像系统软件常用操作,能够对图像进行简单处理,并编写简单相关程序尺寸测量、缺陷检测判定;3、对测量结果进行误差分析,进一步加深理解机器视觉测量过程中的关键因素。
二、实验原理机器视觉主要是利用机器实现代替人眼来做测量和判断等目的,因此机器视觉可以看作是使用计算机及相关设备对生物视觉的一种模拟。
该实验就是通过对选取的工件进行图像采集和图像分析处理以获得所需物体的尺寸、缺陷等信息,一个典型的机器视觉系统包括:相机(包括COMS相机和CCD相机)、光源、镜头、图像获取单元(图像采集卡等)、显示器、图像处理软件、通讯设备、输入输出单元等。
本次实验借助HALCON机器视觉软件,它是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境,在欧洲以及日本的工业界已经是公认具有最佳效能的MachineVision软件。
它源自学术界,是一套图像处理库,由一千多个各自独立的函数,以及底层的数据管理核心构成。
其中包含了各类滤波、色彩分析以及几何、数学变换、形态学计算分析、校正、分类、辨识、形状搜索等等基本的几何以及图像计算功能。
HALCON支持Windows,Linux和MacOS X操作环境,函数库可以用C,C++,C#,Visual Basic 和Delphi等多种普通编程语言开发,为工业检测上提供了高速、高精度、强有力的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 选取感兴趣区域 gen_region_runs (预测未存在缺陷时 (ROI_“area”) ; ”area 为数集, 孔的形态) 由于数集较长故不列出” reduce_domain(Image000, ROI_0, ImageReduced)
3 阈值分割
计算机;被测工件;游标卡尺。
四、 实验内容与步骤
1. 实验内容: (1)搭建视觉测量系统; (2)采集标定板与被测工件图像; (3)利用HALCON 软件进行相机标定,同时分别对被测工件进行尺寸测量与缺陷检测。 2. 待测对象描述: 尺寸测量与缺陷检测的对象是一块有三个开孔的小型服务器面板,如图 2 所示,面板表 面较粗糙,对于光源系统及其背景选择有较高要求。在使用中,开孔的作用是固定服务器外 接接口,若孔的尺寸过大(或过小),会导致外接接口安装不稳定 (或无法安装)。同样,若存在 不规则缺陷使得开孔过大(或过小),亦会导致上述结果,故对服务器面板在使用前进行尺寸测 量与缺陷检测是非常必要的。
9 缺陷外形最小拟 smallest_rectangle2(Selected 合矩形 Regions2, Row1, Column1, Phi1, Length11, Length21) gen_rectangle2(Rectangle1, Row1, Column1, Phi1, Length11, Length21)
图 9 面板灰度图像
2) 提取感兴趣区域( RIO ) ,点击“编辑 ROI : ROI ”
—“绘制感兴趣区域”
—“插入代码”
,如图 10 所示;
代码:gen_rectangle2(ROI_0,496.319,480.011,rad(-97.4051), 475.948, 129.037) dev_set_draw('margin') reduce_domain(GrayImage, ROI_0, ImageReduced)
摄像机标 定
提取边缘 轮廓
计算几何 参数
读取原始 图像
阈值分割
选用合适 方法拟合
图 4
尺寸测量流程图
(8) 测量缺陷几何参数:利用 HALCON 软件编写测量程序,流程如图 5 所示:
摄像机标 定
读取原始 图像
图像灰度 化
选定感兴 趣区域 (RIO)
阈值分割
边缘轮廓 提取
选用合适 方法拟合
计算几何 参数
”—“插入代码
”获得符合特征的区域,如图 11 b)和
a) 被测区域轮廓 1
b) 被测区域轮廓 2 图 11 被测区域图
c) 被测区域轮廓 2
5) 选用合适方法拟合,获得被测区域最小外接矩形,同时获得与水平偏转角度以及矩形 的长半轴和短半轴,如图 12 所示; 代码:smallest_rectangle2(SelectedRegions, Row, Column, Phi, Length1, Length2)
5) 在标定助手代码生成界面点击“插入代码” ,将代码插入到程序窗口的结果,如图 8 b) 所示;
a) 摄像机标定结果 1 图 8 摄像机标定结果
b) 摄像机标定结果 2
6) 利用算子校正位姿,排除相机没有严格垂直安装对后续测量尺寸带来的干扰。 代码:set_origin_pose(CameraPose,0,0,0.00246,PoseNewOrigin) 2.尺寸测量: 1) 加载面板图像, 直接将图像拖放到 HALCON 软件中 (图像是灰度图像) , 如图 9 所示; 代码:read_image (Image002, 'D:/huanglin/Image002.bmp')
姓名 姓名 指导老师
林 佳 黄 坚 全燕鸣
实验名称
一、 实验目的
机器视觉应用
实验日期 2014.1.16
搭建机器视觉测量平台,采集标定板图像和工件图像,通过 HALCON 软件进行标定、 尺寸测量和缺陷检测。主要目的有以下几点: 1.搭建机器视觉测量系统并进行实验,了解和掌握机器视觉测量原理、实验搭建及图像采 集过程; 2.利用 HALCON 软件对图像进行简单的处理, 并编写简单的相关程序进行尺寸测量和缺 陷检测; 3.对测量结果进行误差分析,深入理解机器视觉测量过程中的关键因素;
《机器视觉应用实验报告》
姓 学 院 专
名
林 佳、黄 坚
号 201321002654、201321002647 系 业 机械与汽车工程学院 仪器仪表工程 全燕鸣 教授
指导教师
2014 年 01 月 16 日
华南理工大学实验报告
课程名称:
机器视觉应用 仪器仪表工程 专业 仪器仪表工程 专业
机械与汽车工程学院 系 机械与汽车工程学院 系
8 找出缺陷轮廓
select_shape (ConnectedRegions2, SelectedRegions1, 'area', 'and', 1, 1838.64) select_shape (SelectedRegions1, SelectedRegions2, 'row', 'and', 695.12, 733.17)
a) Calibration 界面 1 图 7 标定界面
b) Calibration 界面 2
3) 加载标定板图像(注意文件路径不能够包含中文字符) ,如图 7 b)所示,标定过程中提 示某图像“检测出品质问题”不用移除,若提示某图像“提取标志点失败” ,则必须 移除,否则无法进行标定操作,这里将“确定”的图像设为参考位姿; 4) 点击“标定”,得到对应的摄像机内外参数,如图 8 a)所示;
a) 图像灰度变化
b) 图像灰度一阶导数 图 1 图像灰度变化与导数
c) 图像灰度二阶导数
在传统边缘检测方法里, 基于一阶导数的边缘检测算子有 Robert 算子、 Sobel 算子、 Prewitt 算子等。
三、 实验器材
30mm 30mm 标定板; DH-HV1351UC USB 彩色数字相机(像素尺寸 5.2 5.2 m ); 三脚架;
感兴趣区域
感兴趣区域
a) 感兴趣区域图 1
b) 感兴趣区域图 2 图 10 感兴趣区域图
c) 感兴趣区域图 3
3) 阈值分割, 点击 “灰度直方图 —“插入代码
” — “改变输出颜色
” — “改变阈值
”
”获得被测区域,如图 11 a)所示;
Байду номын сангаас
代码:threshold (ImageReduced, Regions, 101, 255) 4) 提取边缘轮廓,点击 “特征直方图 ”—“改变阈值 c)所示; 代码:connection(Regions, ConnectedRegions) select_shape (ConnectedRegions,SelectedRegions,'area','and', 5327.2, 38178) ”— “改变输出颜色 ”—“改变所需特征
单位:mm
面板矩形 1 实测长度 HALCON 计算长度 实测宽度 HALCON 计算宽度 12.50 11.5909 9 8.38801
面板矩形 2 17.40 16.3282 6.20 5.88846
面板矩形 3 12.40 11.9095 6.00 5.68633
3. 缺陷检测 缺陷标定的主要思路:以图中缺陷与矩形孔所成图像,减去其最大内接矩形,从而得到 缺陷图像。由于 HALCON 中内接矩形只能以垂直/平行于轴向,故以不考虑缺陷时,矩形孔 的最小外接矩形代替。 缺陷标定流程
gen_rectangle2(Rectangle, Row,Column,Phi,Length1, Length2)
a) 被测区域最小矩形
b) 被测区域最小矩形参数 图 12 被测区域最小矩形图
6) 实验数据记录:
面板矩形 1
面板矩形 2
面板矩形 3
图 13 被测区域最小矩形图
表 1 面板尺寸表
a
b
c
d
e 图 3 部分标定板图片
f
(6) 保持相机所有状态不变,放置好被测工件,根据被测工件材质选择合适的背景色调, 调整光源强度与打光方式。对被测工件进行图像采集,得到被测工件图像如图 2 所示。 (7) 利用 HALCON 软件编写工件的尺寸测量程序,面板尺寸测量的流程如图 4 所示。
提取感兴 趣区域 (RIO)
threshold(ImageReduced, Region, 180, 255) connection(Region, ConnectedRegions)
4 最小外接矩形
smallest_rectangle2(Connect edRegions, Row, Column, Phi, Length1, Length2) gen_rectangle2(Rectangle, Row, Column, Phi, Length1, Length2)
图 2 被测工件图像
3. 实验步骤: (1) 根据现场环境,选择合适的机架安放地点——光照强度适合、稳定,安装位置平坦。 (2) 利用扳手等工具,将三脚架、相机和镜头组装好。其中尽量保持相机镜头的中心线与 测量平面的法线平行; (3) 启动计算机,打开大恒图像采集软件。将相机与计算机连接。 (4) 在测量平面上放置白色背景 (白纸) , 将标定板放在白色背景上, 调整标定板的位置, 使得标定板完全落在相机视场内部,对标定板进行图像采集。 (5) 通过平移、旋转或改变其与成像平面的夹角改变标定板的位置,直至完成 15 次标定 板图像采集工作,得到部分标定板图像如图 3 所示。
图 5
尺寸测量与确定缺陷几何参数流程图
五、 数据记录