文档库 最新最全的文档下载
当前位置:文档库 › 机器视觉之halcon学习——机器视觉工程应用的开发思路

机器视觉之halcon学习——机器视觉工程应用的开发思路

机器视觉之halcon学习——机器视觉工程应用的开发思路
机器视觉之halcon学习——机器视觉工程应用的开发思路

halcon学习笔记——机器视觉工程应用的开发思路

机器视觉工程应用主要可划分为硬件和软件两大部分。

硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。

软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有Ope nCV.其中NI的labview+vision模块。

机器视觉工程应用的基本开发思路是:

一、图像采集,二、图像分割,三、形态学处理,四、特征提取,五、输出结果。

下面在Halcon下对这四个步骤进行讲解。

一、图像采集:

Halcon通过imageacquisition interfaces对各种图像采集卡及各种工业相机进行支持。其中包括:模拟视频信号,数字视频信号Camera Link,数字视频信号IEEE 1394,数字视频信号USB2.0,数字视频信号Gigabit Ethernet等。

Halcon通过统一的接口封装上述不同相机的image acquisition interfaces,从而达到算子统一化。不同的相机只需更改几个参数就可变更使用。

Halcon图像获取的思路:1、打开设备,获得该设备的句柄。2、调用采集算子,获取图像。

1、打开设备,获得该设备的句柄。

2、调用采集算子,获取图像。

图像采集其他相关算子:

grab_image_start,该算子开始命令相机进行异步采集。只能与grab_image_async (异步采集)一起使用。

例子:

3、相机参数读写

读取相机参数:

info_framegrabber( : : Name, Query : Information, ValueList)

写相机参数:

set_framegrabber_param( : : AcqHandle, Param, Value : )

二、图像分割:

图像分割的定义:

所谓图像分割是指将图像中具有特殊含义的不同区域分割开来,这些区域是互相不交叉的,每个区域都满足特定区域的一致性。

1、基于阈值的图像分割

threshold —采用全局阈值分割图像。

格式:threshold(Image : Region : MinGray, MaxGray : )

自动全局阈值分割的方法:

(1)计算灰度直方图

(2)寻找出现频率最多的灰度值(最大值)

(3)在threshold中使用与最大值有一定距离的值作为阈值

代码:

bin_threshold —使用一个自动确定的阈值分割图像。

格式:bin_threshold(Image : Region : : )

dyn_threshold —使用一个局部阈值分割图像。

格式:dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )

例子:

var_threshold —阈值图像局部均值和标准差的分析。

格式:var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : )

2、基于边缘的图像分割:寻找区域之间的边界

watersheds —从图像中提取分水岭和盆地。

格式:watersheds(Image : Basins, Watersheds : : )

watersheds_threshold —使用阈值从图像中提取分水岭和盆地。

格式:watersheds_threshold(Image : Basins : Threshold : )

3、基于区域的图像分割:直接创建区域

三、形态学处理

形态学处理以集合运算为基础。

腐蚀、膨胀、开操作、闭操作是所有形态学图像处理的基础。

开操作(先腐蚀再膨胀)使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。

闭操作(先膨胀再腐蚀)消弥狭窄的间断和长细的鸿沟,消除小的孔洞,填补轮廓线的断裂。形体学基础算子:

erosion1

dilation1

opening

closing

常用的形态学相关算子connection

select_shape opening_circle closing_circle opening_rectangle1 closing_rectangle1 complement difference intersection

union1

shaps_trans

fill_up

形态学高级算子:boundary skeleton

四、特征提取:

1、区域特征:

area

moments

smallest_rectangle1

smallest_circle

convexity:区域面积与凸包面积的比例contlength:区域边界的长度compactness

2、灰度特征

estimate_noise

select_gray

五、输出结果:

(1)获取满足条件的区域

(2)区域分类,比如OCR

(3)测量

(4)质量检测

Halcon机器视觉实验指导书

机器视觉软件HALCON 实验指导书 目录 实验1 HALCON 概述,应用范例 实验2 HDevelop介绍,操作编程范例 实验3 HALCON编程接口,高级语言编程 实验4 HALCON数据结构,采集硬件接口 实验5 HALCON采集硬件配置,图像采集 实验6 HALCON二维测量,配准测量与识别定位 实验7 HALCON一维测量,尺寸测量 实验8 HALCON三维测量,3D重建测量 实验1 HALCON 概述,应用范例 实验2 HDevelop介绍,操作编程范例 1 邮票分割 文件名: stamps.dev 第一个例子进行文件分析任务。图5.1展示了部分邮票目录页。它描述了两种不同的邮票:以图形描述为主和以文字描述为主。 为了使用这个例子,必须把文字描述转化为计算机所能理解的形式。你可能使用OCR编程方式,你很快发现由于邮票的图形描述会导致大多数的可使用模块产生错误。于是另一项任务必须要进行预处理:对所有的邮票进行转化(例如,把邮票转化为灰色有价值的纸),这样就可以使用OCR处

理邮票的剩余部分了。 当创造一个应用程序来解决这种问题,对要处理的对象进行特征提取是非常有帮助的。这个任务可以为新手提供解决的这类问题一些的经验。 ●一般而言,特征提取有如下步骤:邮票比纸要黑。 ●邮票包含图像的部分不重叠。 ●邮票具有最大最小尺寸。 ●邮票是长方形的。

图 5.1: Mi c he l图表的部分页. 如果直接使用属性清单而非编程,任务会变得很简单。可惜由于语言的含糊,这是不可能的。所以你需要建构具有精确的语法和语义的语言,尽可能接近非正式的描述。使用HDevelop语法,一个通常的程序看起来如下: dev_close_window () read_image (Catalog, ’swiss1.tiff’) get_image_pointer1 (Catalog, Pointer, Type, Width, Height) dev_open_window (0, 0,Width/2, Height/2, ’black’, WindowID) dev_set_part (0, 0,Height-1, Width-1) dev_set_draw (’fill’)

机器视觉技术发展现状文献综述

机器视觉技术发展现状 人类认识外界信息的80%来自于视觉,而机器视觉就是用机器代替人眼来做 测量和判断,机器视觉的最终目标就是使计算机像人一样,通过视觉观察和理解 世界,具有自主适应环境的能力。作为一个新兴学科,同时也是一个交叉学科,取“信息”的人工智能系统,其特点是可提高生产的柔性和自动化程度。目前机器视觉技术已经在很多工业制造领域得到了应用,并逐渐进入我们的日常生活。 机器视觉是通过对相关的理论和技术进行研究,从而建立由图像或多维数据中获机器视觉简介 机器视觉就是用机器代替人眼来做测量和判断。机器视觉主要利用计算机来模拟人的视觉功能,再现于人类视觉有关的某些智能行为,从客观事物的图像中提取信息进行处理,并加以理解,最终用于实际检测和控制。机器视觉是一项综合技术,其包括数字处理、机械工程技术、控制、光源照明技术、光学成像、传感器技术、模拟与数字视频技术、计算机软硬件技术和人机接口技术等,这些技术相互协调才能构成一个完整的工业机器视觉系统[1]。 机器视觉强调实用性,要能适应工业现场恶劣的环境,并要有合理的性价比、通用的通讯接口、较高的容错能力和安全性、较强的通用性和可移植性。其更强调的是实时性,要求高速度和高精度,且具有非接触性、实时性、自动化和智能 高等优点,有着广泛的应用前景[1]。 一个典型的工业机器人视觉应用系统包括光源、光学成像系统、图像捕捉系统、图像采集与数字化模块、智能图像处理与决策模块以及控制执行模块。通过 CCD或CMOS摄像机将被测目标转换为图像信号,然后通过A/D转换成数字信号传送给专用的图像处理系统,并根据像素分布、亮度和颜色等信息,将其转换成数字化信息。图像系统对这些信号进行各种运算来抽取目标的特征,如面积、 数量、位置和长度等,进而根据判别的结果来控制现场的设备动作[1]。 机器视觉一般都包括下面四个过程:

halcon机器视觉试验平台设计方案与研究报告

封面

作者:PanHongliang 仅供个人学习 基于HALCON的机器视觉系统的研究与实现 摘要 近年来,机器视觉系统以其高效率、高可靠、低成本的特点在国外取得了广泛的应用。机器视觉系统适用于众多领域,例如工业自动化、医药业、制造业、农业等,弥补了人类视觉的很多不足。本文采用德国MVTec公司的专业机器视觉软件HALCON来开发机器视觉系统,提出了相关机器视觉实现方法,

并且在机器视觉实验平台上完成了一个弹簧片检测任务。 目前关注较多的是机器视觉系统的硬件部分,而机器视觉软件部分关注较少,一个先进的机器视觉系统除了具有高性能的硬件外,还需要有高性能的软件,虽然说许多常见的开发软件例如Mircosoft的Visual Studio、NI的LabWindows\CVI等等都可以开发机器视觉系统,但是开发周期比较长,针对性较弱,程序的复杂程度较高。而采用HALCON作为机器视觉和图像处理核心软件,不仅大大缩短了开发周期,降低了开发难度,而且可以参考HALCON 提供的众多机器视觉和图像处理例程来针对具体的任务做具体开发。 文章的第一章研究了机器视觉系统的组成、应用现状和发展,并且对机器视觉软件HALCON做了概述。第二章根据相关要求,选择合适的硬件单元,设计和搭建了VS-ZM1200机器视觉实验平台。第三章研究了机器视觉中常用的一些图像处理技术,重点讨论了在弹簧片检测任务中所采用的图像处理技术和算法,如图像的增强,分割,边缘检测等。第四章研究了机器视觉软件,重点研究了HALCON,并且对在Visual C++开发环境下如何使用HALCON编写的程序做了讨论。第五章介绍了在VS-ZM1200机器视觉实验平台上,使用HALCON和Visual C++开发的一套弹簧片检测系统,该系统完成关于弹簧片的尺寸参数测量和外观参数判别的任务。 第一章:绪论 1.1机器视觉概述 人类在征服自然、改造自然和推动社会进步的过程中,为了克服自身能力、能量的局限性,发明和创造了许多机器来辅助或代替人类完成任务。这类机器,我们通常称为智能机器,它能模拟人类的功能,能感知外部世界并有效地解决人所希望解决的问题。人类感知外部世界主要是通过视觉、触觉、听觉和嗅觉等感觉器官,而视觉,是人类最重要的感觉功能。视,就是看。觉,就是感觉、感知。通过看来感知外部世界丰富多采的信息。“百闻不如一见”,这句话生动地说明了视觉对获得客观世界信息的重要性。据统计,人所感知的外界信息有80%以上是由视觉得到的[1],通过视觉,我们可以感受到物体的位置,亮度以及物体之间的相互关系等。因此,对于智能机器来说,赋予机器人类的视觉功能对发展智能机器是极其重要的,由此形成了 一门新的学科———机器视觉。 机器视觉,就是用机器(通常是数字计算机)代替人眼来做测量及判断,对图像进行自动处理并报告“图像中有什么”的过程。美国制造工程师协会(SME Society of Manufacturing Engineers)机器视觉分会和美国机器人工业协会(RIA Robotic Industries Association)的自动化视觉分会对机器视觉下的定义为:“机器视觉是通过光学的装置和非接触的传感器自动地接收和处理一个真实物体的图像,以获得所需信息或用于控制机器人运动的装置”。具体来讲,是指通过镜头将被测目标转化为图像信号,投射至影像接受器件(一般为 CCD 元件)上再通过数字计算机进行分析处理。CCD是英文(Charge Coupling Device)的缩写,其中文含义为电荷耦合组件。当不同强度的光线照射在CCD表面,CCD

基于机器视觉的工件智能抓取技术研究

基于机器视觉的工业机器人工件搬运技术研究 1.1研究背景 自 19 世纪 60 年代问世以来,工业机器人不断发展和完善,现已得到广泛应用,机器人产业也逐渐成熟[]1。目前,全世界已拥有 100 多万台工业机器人广泛应用在焊接、搬运、装配、喷涂、修边、拾料、包装、堆垛和上下料等单调或复杂的作业中,为企业节约了大量的劳动成本,大大提高了劳动生产率。工业机器人是面向工业领域的多关节机械手或多自由度的机器人,它在稳定产品品质、提高生产效率和改善劳动条件等方面有着十分重要的作用,它的应用能够使企业大大缩短新产品的换产周期和节约劳动成本,从而提高了产品的市场竞争力[]23-。 随着当代工业革命深入发展,工业生产日益趋向自动化,工业机器人技术也正朝着智能、柔性的方向发展。许多发达国家对于智能工业机器人的研究都较为重视,我国也早已将其纳入国家高科技发展规划。国家层面的重视也必将给工业机器人技术带来新的跨越式发展,机器人的发展也必将对社会经济和生产力的发产生更加深远的影响 1.2 研究目的和意义 对于工作在自动化生产线上或柔性制造系统中的工业机器人来说,其完成最多的一类操作是“抓取—放置”动作,比如流水线上的工件搬运、装配以及各工位之间的工件转移和上下料。机器人要完成这类操作是经过复杂计算的:首先,机器人必须知道怎么抓,其次机器人应该知道怎么放;同时在这个过程还要伴随着机器人运动学分析的过程。传统的工业机器人完成这类操作,必须经过精确的逐点示教后,才能一步一步的按照固定程序执行。在这个过程中,工件相对于机器人的初始位姿(位置和姿态)和终止位姿是事先规定的,但很多情况下,特别是流水线场合,工件的位姿常常是不固定的。这就导致实际目标工件的位姿与理想工件位姿总是有偏差的,这种偏差哪怕很小都会导致机器人操作任务的失败。这种由于环境的变化而导致机器人不能很好地完成任务的情况极大地限制了机器人的实际应用。这就要求工业机器人具备一定的环境适应能力,即工业机器人智能化。智能工业机器人的智能特征在于它具有与外部世界、对象、环境和人相互协调的工作机能,具体表现在机器视觉、接近

机器视觉文献综述

一、机器视觉与图像采集的研究的意义 “作为一项关键性的自动化技术,机器视觉在发展中国家中对经济的现代化非常重要。为了在世界市场中进行竞争,发展中经济不能无限期的依赖于廉价劳动力。“AIA市场分析员Kellett说。同样地,现代化必须实现高效率、高生产率以及高质量。这也是机器视觉的作用所在,”对机器视觉长期需求这样的趋势是发展中国家实现经济现代化的基础。因此,机器视觉对于世界经济的发展将越来越重要。” 二、机器视觉与图像采集的研究的现状 国外机器视觉发展的起点难以准确考证,其大致的发展历程是:在机器视觉发展的历程中,有3个明显的标志点,一是机器视觉最先的应用来自“机器人”的研制,也就是说,机器视觉首先是在机器人的研究中发展起来的;二是20世纪70年代CCD图像传感器的出现,CCD摄像机替代硅靶摄像是机器视觉发展历程中的一个重要转折点;三是20世纪80年代CPU、DSP等图像处理硬件技术的飞速进步,为机器视觉飞速发展提供了基础条件。 国内机器视觉发展的大致历程:中国正在成为世界机器视觉发展最活跃的地区之一,其中最主要的原因是中国已经成为全球的加工中心,许许多多先进生产线己经或正在迁移至中国,伴随这些先进生产线的迁移,许多具有国际先进水平的机器视觉系统也进入中国。对这些机器视觉系统的维护和提升而产生的市场需求也将国际机器视觉企业吸引而至,国内的机器视觉企业在与国际机器视觉企业的学习与竞争中不断成长。 三、机器视觉与图像采集技术在各个领域的应用 视觉技术的最大优点是与被观测对象无接触,因此,对观测与被观测者都不会产生任何损伤,十分安全可靠,这是其它感觉方式无法比拟的. 理论上,人眼观察不到的范围机器视觉也可以观察,例如红外线、微波、超声波等,而机器视觉则可以利用这方面的传感器件形成红外线、微波、超声波等图像. 另外,人无法长时间地观察对象,机器视觉则无时间限制,而且具有很高的分辨精度和速度. 所以,机器视觉应用领域十分广泛,可分为工业、科学研究、军事和民用4 大领域. 3. 1 工业领域 工业领域是机器视觉应用中比重最大的领域,按照功能又可以分成4 类:产品质量检测、产品分类、产品包装、机器人定位. 其应用行业包括印刷包装、汽车工业、半导体材料/ 元器件/ 连接器生产、药品/ 食品生产、烟草行业、纺织行业等.下面以纺织行业为例具体阐述机器视觉在工业领域的应用[9 ] .在纺织企业中,视觉检测是工业应用中质量控制的主要组成部分,用机器视觉代替人的视觉可以克服人工检测所造成的各种误差,大大提高检测精度和效率. 正是由于视觉系统的高效率和非接触性,机器视觉在纺织检测中的应用越来越广泛[10 - 12 ] ,在许多方面已取得了成效.机器视觉可用于检测与纺织材料表面有关的性能指标见表4. 目前主要的研究内容可分为3 大类: 纤维、纱线、织物. 由于织物疵点检测(在线检测) 需要很高的计算速度,因此,设备费用比较昂贵. 目前国内在线检测的应用比较少,主要应用是离线检主要的检测有纺织布料识别与质量评定、织物表面绒毛鉴定、织物的反射特性、合成纱线横截面分析、纱线结构分析等. 此外还可用于织物组织设计、花型纹板、棉粒检测、分析纱线表面摩擦。 3. 2 民用领域 机器视觉技术可用在智能交通、安全防范、文字识别、身份验证、医疗设备等方面. 在医学领域,机器视觉用于辅助医生进行医学影像的分析,主要利用数字图像处理技术、信息融合技术对x 射线透视图、核磁共振图像、CT 图像进行适当叠加,然后进行综合分析,以及对其它医学影像数据进行统计和分析。 3. 3 科学研究领域 在科学研究领域可以利用机器视觉进行材料分析、生物分析、化学分析和生命科学,如

机器视觉算法开发软件----HALCON

机器视觉算法开发软件----HALCON HALCON是世界范围内广泛使用的机器视觉软件,用户可以利用其开放式结构快速开发图像处理和机器视觉软件。 HALCON提供交互式的编程环境HDevelop。可在Windows,Linux,Unix下使用,使用HDevelop可使用户快速有效的解决图像处理问题。HDevelop含有多个对话框工具,实时交互检查图像的性质,比如灰度直方图,区域特征直方图,放大缩小等,并能用颜色标识动态显示任意特征阈值分割的效果,快速准确的为程序找到合适的参数设置。HDevelop程序提供进程,语法检查,建议参数值设置,可在任意位置开始或结束,动态跟踪所有控制变量和图标变量,以便查看每一步的处理效果。当用户对于机器视觉编程代码完成后,HDevelop可将此部分代码直接转化为C++,C或VB源代码,以方便将其集成到应用系统中。 HALCON提供交互式的模板描述文件生成工具HmatchIt,。可交互式地为一个模型定义一个任意形状的感性趣区域,HmatchIt优化给出此创建模型的合适参数, 自动生成模板描述文件以供程序调用,快速为基于形状匹配和结构匹配的用户找到实现目标识别和匹配应用的合适的参数设置。 HALCON提供支持多CPU处理器的交互式并行编程环境Paralell Develop, 其继承了单处理器板HDevelop的所有特点,在多处理器计算机上会自动将数据比如图像分配给多个线程,每一个线程对应一个处理器,用户无需改动已有的HALCON程序,就立即获得显

著的速度提升。 HALCON中HDevelop Demo中包含680个应用案例,根据不同的工业领域,不同的用法和算法分类列出,用户可以根据自己的需求方便的找到相对应的类似案例,快速掌握其函数用法。 HALCON提供的函数使用说明文档,详细介绍每个函数的功能和参数用法,提供在不用开发语言(VC,VB,.NET等)下的开发手册,而且提供一些算法(例如3D)的原理性介绍,给用户的学习提供帮助。 特点:原型化的开发平台,自动语法检查; 动态察看控制和图标变量; 支持多种操作系统; 支持多CPU; 支持多种文件格式; 自动语言转化功能; 与硬件无关,可支持各种硬件; 应用领域:医学图像分析; 2D/3D测量; 立体视觉; 匹配定位; 光学字符识别; Blob分析;

基于机器视觉的产品检测技术研究

基于机器视觉的产品检测技术研究 1、机器视觉 1.1机器视觉的概念 机器视觉被定义为用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。一个典型的工业机器视觉应用系统包括光源、光学系统、图像采集系统、数字图像处理与智能判断决策模块和机械控制执行模块。系统首先通过CCD相机或其它图像拍摄装置将目标转换成图像信号,然后转变成数字化信号传送给专用的图像处理系统,根据像素分布!亮度和颜色等信息,进行各种运算来抽取目标的特征,根据预设的容许度和其他条件输出判断结果。 值得一提的是,广义的机器视觉的概念与计算机视觉没有多大区别,泛指使用计算机和数字图像处理技术达到对客观事物图像的识别、理解。而工业应用中的机器视觉概念与普通计算机视觉、模式识别、数字图像处理有着明显区别,其特点是: 1、机器视觉是一项综合技术,其中包括数字图像处理技术、机械工程技术、控制技术、电光源照明技术,光学成像技术、传感器技术、模拟与数字视频技术、计算机软硬件技术、人机接口技术等。这些技术在机器视觉中是并列关系。相互协调应用才能构成一个成功的工业机器视觉应用系统。 2、机器视觉更强调实用性,要求能够适应工业生产中恶劣的环境,要有合理的性价比,要有通用的工业接口,能够由普通工作者来操作,有较高的容错能力和安全性,不会破坏工业产品,必须有较强的通用性和可移植性。 3、对机器视觉工程师来说,不仅要具有研究数学理论和编制计算机软件的能力,更需要光、机、电一体化的综合能力。 4、机器视觉更强调实时性,要求高速度和高精度,因而计算机视觉和数字图像处理中的许多技术目前还难以应用于机器视觉,它们的发展速度远远超过其在工业生产中的实际应用速度。 1.2机器视觉的研究范畴 从应用的层面看,机器视觉研究包括工件的自动检测与识别、产品质量的自动检测、食品的自动分类、智能车的自主导航与辅助驾驶、签字的自动验证、目标跟踪与制导、交通流的监测、关键地域的保安监视等等。从处理过程看,机器视觉分为低层视觉和高层视觉两阶段。低层视觉包括边缘检测、特征提取、图像分割等,高层视觉包括特征匹配、三维建模、形状分析与识别、景物分析与理解等。从方法层面看,有被动视觉与主动视觉之,又有基于特征的方法与基于模型的方法之分。从总体上来看,也称作计算机视觉。可以说,计算机视觉侧重于学术研究方面,而机器视觉则侧重于应用方面。 机器人视觉是机器视觉研究的一个重要方向,它的任务是为机器人建立视觉系统,使得机器人能更灵活、更自主地适应所处的环境,以满足诸如航天、军事、工业生产中日益增长的需要(例如,在航天及军事领域对于局部自主性的需要,在柔性生产方式中对于自动定位与装配的需要,在微电子工业中对于显微结构的检测及精密加工的需要等)。机器视觉作为一门工程学科,正如其它工程学科一样,是建立在对基本过程的科学理解之上的。机器视觉系统的设计依赖于具体的问题,必须考虑一系列诸如噪声、照明、遮掩、背景等复杂因素,折中地处理信噪比、分辨率、精度、计算量等关键问题。 1.3机器视觉的研究现状 机器视觉研究出现于60年代初期,电视摄像技术的成熟与计算机技术的发展使得机器视觉研究成为可能。它作为早期人工智能研究的一部分,由于技术条件的限制,进展缓慢。80年代初,在D·Marr提出的计算视觉理论指导下,机器视觉研究得到了迅速发展,成为

Halcon机器视觉二维码实例及分步注解

Halcon机器视觉二维码实例及分步注解 [plain]view plaincopy 1.*2D Code generated by Image Acquisition01 2.*QR Code 3.dev_close_window() 4.dev_open_window(0,0,400,400,'black',WindowHandle) 5.*先关闭活动图形窗口,再打开这个窗口,标识符为WindowHandle; 6.*相对于界面左上角第0行、第0列,大小为400×400像素,颜色为黑色。 7.open_framegrabber('DirectShow',1,1,0,0,0,0,'default',8,'rgb',-1,'false','defa ult','Gsou USB2.0Camera',0,-1,AcqHandle) 8.*打开帧接收器(图像采集设备,如摄像头,工业相机等),参数(Parameter)详见这个算子 9.*注意摄像头的名称,可以用工具栏中的“助手”——打开新的Image Acquisition获取摄像头及插入代码 10.grab_image_start(AcqHandle,-1) 11.while(true) 12.grab_image_async(Image,AcqHandle,-1) 13.create_data_code_2d_model('QR Code',[],[],DataCodeHandle) 14.*二维码的创建开头的算子,clear为结束清除的算子,见下。 15.set_display_font(WindowHandle,16,'mono','true','false') 16.dev_set_color('forest green') 17.dev_set_draw('margin') 18.dev_set_line_width(3) 19.set_data_code_2d_param(DataCodeHandle,'default_parameters','enhanced_recognition') 20.*设置选定参数的二维数据模型,参数详见这个算子 21.find_data_code_2d(Image,SymbolXLDs,DataCodeHandle,[],[],ResultHandles,DecodedDa taStrings) 22.*检测和读取二维代码符号,也支持读取二维数据模型的序列,参数详见这个算子 23.for i:=0to|ResultHandles|-1by1 24.select_obj(SymbolXLDs,SymbolXLD,i+1) 25.get_contour_xld(SymbolXLD,Row,Col) 26.get_string_extents(WindowHandle,DecodedDataStrings[i],Ascent,Descent,TxtWidth ,TxtHeight) 27.disp_message(WindowHandle,DecodedDataStrings[i],'image',max(Row-50),max([min( Col+30)-TxtWidth/2,1]),'black','true') 28.endfor 29.*这段for循环语句的目的是让解码到的字符串(二维码的内容)显示到二维码深绿色(forest green上 面定义)的解码区域框的行列位置。 30.*disp_message(WindowHandle,DecodedDataStrings,'window',12,12,'black','true') 31.*如果不需要设置显示到区域框中间的位置,而是显示到窗体的上方或其他位置,那么不需要上面那段for 语句,只需这段信息显示的语句即可显示到窗体相应位置。 32.if(|DecodedDataStrings|>0) 33.disp_continue_message(WindowHandle,'black','true')

跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码

跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码 第一步:插入QQ摄像头,安装好驱动(有的可能免驱动) 第二步:打开HDevelop,点击助手—打开新的Image Acquisition—选中图像获取接口(I),然后点击检测,找到摄像头。如下图: 第三步:点击连接,将颜色空间设置为gray,然后点击实时,此时图像窗口中将显示采集到的图像,将物体放置到摄像头前,位置调至条码清晰。如下图:

集,点击插入代码,此时程序编辑器中将自动生成代码,如下图:

这时单击下运行按钮,将会采集一副图像并显示到图形窗口中。接下来我们将开始条码读取的工作。 第五步:在Do Something后插入如下代码: create_bar_code_model ([ ], [ ], BarCodeHandle) *由于不知道条码是何类型,因此条码类型设置为auto。CodeTypes := ['auto'] find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeTypes, DecodedDataStrings) get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', DecodedDataTypes) 这时再重新运行程序,只要图像清晰,此时就可以读到条码了。条码区域会变成红色,而且在变量窗口中可以查到读取的条码类型和内容。如下图:

第六步:我们再添加代码,将读取结果直接显示在图像窗口中。 disp_message (WindowHandle, DecodedDataTypes[0]+': '+DecodedDataStrings[0], 'image', 100, 160, 'forest green', 'true') 此时会提示错误WindowHandle未被初始化。 *获取更多课程请Q智达工控学院:1613985351 因为图像采集助手会自动打开一个窗口,因此我们先将它关闭,然后自己创建一个窗口。在程序最开始加上这两句代码: dev_close_window () dev_open_window (0, 0, 512, 512, 'black', WindowHandle) 再重新运行程序,此时在读取到的条码在图像中写出来了。如下图:

halcon 机器视觉 基础应用

? 2003-2009 MVTec Software GmbH Descriptor-based Matching Choose between calibrated and uncalibrated matching uncalibrated returns perspective map calibrated returns pose Descriptor-based matching is done in four steps 1. Train interest points 2. Detect points 3. Match points Offline Online 4. Calculate map offline online First, create a descriptor model Create model Find model Clear model 1. detect points To create a model, choose a point detector and a point descriptor 2. describe points

create_[un]calib_descriptor_model create_calib_descriptor_model(?Image::?CamParam, ?ReferencePose, ?DetectorType, ?DetectorParamName,?DetectorParamValue,?DescriptorParamName,?DescriptorParamValue,?Seed, ?DescriptorHandle) 1. detector parameters 2. descriptor parameters 1. detect points for descriptor-based matching points_harris points_harris_binomial points_lepetit fast robust Points are described by randomized ferns 2. describe points Ferns compare random pixels to learn interest point descriptions After the training, every fern contains probability distributions at every leaf 1

机器视觉系统(研究生)

机器视觉系统

1、机器视觉系统综述 机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术。正是由于机器视觉系统可以快速获取大量信息,而且易于自动处理,也易于同设计信息以及加工控制信息集成,因此,在现代自动化生产过程中,人们将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。 2、机器视觉系统的原理 机器视觉系统的目的就是给机器或自动生产线添加一套视觉系统,其原理是由计算机或图像处理器以及相关设备来模拟人的视觉行为,完成得到人的视觉系统所得到的信息。人的视觉系统是由眼球、神经系统及大脑的视觉中枢构成,计算机视觉系统则是由图像采集系统、图像处理系统及信息综合分析处理系统构成。 机器视觉需要用到1、图像处理技术,2、彩色图像转换技术,3、图像分割技术,4、模式识别技术,5、数学形态学方法,6、专家系统及人工智能技术,7、视觉神经网络技术,8、小波分析技术,9、分形学方法等技术方法。 3、机器视觉系统的构成 典型的机器视觉技术一般用到以下设备 1.照明光源。 2.镜头 3.摄像机 4.图像采集/处理卡 5.图像处理系统

基于机器视觉的非接触尺寸测量技术研究

基于机器视觉的非接触尺寸测量技术研究 摘要 伴随着科学的快速腾飞,以机器视觉为基础的非接触性尺寸测量发法在工业领域里实现了十分普遍的运用用,该方法非接触、时效性强、效率高、受外界影响小,并且精确性特别好。机械零件的尺寸测量在工业生产的过程里属于十分重要的部分,测定结果的迅速程度和可信度直接关系到产品的效果以及工作的进度。但是先前的测量技术早就无法达到工业生产中对产品规格检测的迅速程度和可信度的规定,因此作者提出了以机器视觉为基础的非接触尺寸测定的方法,从而达到产品规格的快速及准确的测定。 首先,通过研究各个硬件的性能参数,选择了合适的硬件,并搭建了测量系统的硬件平台。这个测定系统的基础设施一般包括图像收集设备、实验操作区、CCD摄影仪、镜头、和电脑等部件。 然后,灰度转变、图像滤波、二值化、边缘测定等预先处理方法也被用于这种测定技术。图片的预先处理部分,对比剖析了多种多样的滤波方法,总结出以小波转变为基础的模极大值去噪方式,同时还一一描述介绍了多种的图片边缘测定方法,总结出以小波转变为基础的多尺度边缘测定方式。此外,作者还详细描述和剖析Hough方式,同时还给出了自己的优化建议。作者通过Matlab里所带有的GUIDE界面编辑功能,以GUI 为基础构造出该检测系统的软件设施,使其具备了处理图片所用到的多个计算方式以及规格鉴定的能力。 之后,作者通过对该系统的多次实践检验,研究了具体的调查数据,剖析了测定结果的误差原因,进而总结出尽量消除误差的策略。研究结果显示,以机器视觉为依据的非接触尺寸测的方法完全达到了理想的效果,在工业领域可以做到对产品规格测定的高效性和可信度的规定。 关键词:机器视觉,非接触测定,尺寸测定,图像处理

基于HALCON的机器视觉系统的研究与实现

基于HALCON的机器视觉系统的研究与实现 近年来,机器视觉系统以其高效率、高可靠、低成本的特点在国外取得了广泛的应用。机器视觉系统适用于众多领域,例如工业自动化、医药业、制造业、农业等,弥补了人类视觉的很多不足。本文采用德国MVTec公司的专业机器视觉软件HALCON来开发机器视觉系统,提出了相关机器视觉实现方法,并且在机器视觉实验平台上完成了一个弹簧片检测任务。 目前关注较多的是机器视觉系统的硬件部分,而机器视觉软件部分关注较少,一个先进的机器视觉系统除了具有高性能的硬件外,还需要有高性能的软件,虽然说许多常见的开发软件例如Mircosoft的Visual Studio、NI的LabWindows\CVI等等都可以开发机器视觉系统,但是开发周期比较长,针对性较弱,程序的复杂程度较高。而采用HALCON作为机器视觉和图像处理核心软件,不仅大大缩短了开发周期,降低了开发难度,而且可以参考HALCON提供的众多机器视觉和图像处理例程来针对具体的任务做具体开发。 文章的第一章研究了机器视觉系统的组成、应用现状和发展,并且对机器视觉软件HALCON做了概述。第二章根据相关要求,选择合适的硬件单元,设计和搭建了VS-ZM1200机器视觉实验平台。第三章研究了机器视觉中常用的一些图像处理技术,重点讨论了在弹簧片检测任务中所采用的图像处理技术和算法,如图像的增强,分割,边缘检测等。第四章研究了机器视觉软件,重点研究了HALCON,并且对在Visual C++开发环境下如何使用HALCON编写的程序做了讨论。第五章介绍了在VS-ZM1200机器视觉实验平台上,使用HALCON和Visual C++开发的一套弹簧片检测系统,该系统完成关于弹簧片的尺寸参数测量和外观参数判别的任务。

HALCON图像处理在机器视觉中的应用

2019.01科技论坛 HALCON 图像处理在机器视觉中的应用 耿立明,杨威,王迪 (沈阳城市建设学院信息与控制工程系,辽宁沈阳,110167 ) 摘要:本文针对柔性智能制造生产线为控制对象进行研究,分析柔性智造生产线的组成,搭配思科工业交换机和发那科 LR Mate200I d 型六自由度工业机器人,完成复杂的产品智能制造和组装加工过程,采用康耐视工业相机C C D 图像传感 器构成机器视觉系统,基于HALCON基类H X L D 算法进行图像处理、特征提取,应用在机器视觉中进行产品的在线检测,发现产品的缺陷,并及时加以处理,防止不必要的损失。 关键词:生产线;机器视觉;HALCON ; HXLD ;检测;智能制造 Application of machine vision based on HALCON image processing Geng Liming, Yang W e i , Wang Di (Shenyang Urban Construction University Department of information and control engineering, Shenyang Liaoning, 110167) Abstract: This paper studies the flexible intelligent manufacturing production line for the control object, analyzes the composition of the flexible intelligent production line, and cooperates with Cisco Industrial Switch and FANUC LR Mate200Id six-degree-of-freedom industrial robot to complete the complex product intelligent manufacturing and assembly process. CCD image sensor of Vision Industrial Camera constitutes machine vision system. Based on HALCON based HXLD algorithm for image processing and feature extraction, it is applied in machine vision for on-line detection of products, and discovers defects of products and processes them in time to prevent unnecessary loss. Key words : Production line; machine vision; HALCON; HXLD; inspection; intelligent manufacturing 0引言 如图1所示。柔性智能制造生产线由自动供料单元、物 料转运机构、模拟加工单元、工件组装单元、产品分拣单元、 产品搬运机构及立体仓库单元组成。设备整体为桌面台式模 块化设计,可形成各单元独立控制和整体流程控制。本设计 研宄对象以智能制造生产线作为技术根本,搭配思科工业交 换机和发那科LR Mate200I d 型六自由度工业机器人,完成复 杂的产品智能制造和组装加工过程。图1柔性智能制造生产线鉴于在生产线上人眼无法连续、稳定地完成完成这些 带有高度重复性和智能性的工作。由此考虑机器视觉判别方 法:利用光电成像系统采集被控目标的图像,然后经图像处 理模块进行数字化处理,根据图像的像素分布、亮度和颜色 等信息,来进行尺寸、形状、颜色等的判别。1机器视觉判别1.1机器视觉系统的构成 机器视觉系统可以实现非接触测量,从而提高了系统的 可靠性。 机器视觉技术用计算机来分析一个图像,并根据分析 得出结论。机器视觉系统可以探测部件,也可以用来创造一 个部件,即运用复杂光学器件和软件相结合直接指导制造过 程。典型的视觉系统一般包括:光源、光学系统,相机、图像处 理单元、图像分析处理软件、通讯/输入输出单元等。尽管机 器视觉应用各异,但都包括以下几个过程。 (1)图像采集 光学系统采集图像,图像转换成模拟格式并传入计算机 存储器。一般利用光源、光学系统,相机、图像处理单元获取 被测物体的图像。本设计相机选择康耐视工业相机C C D 图像 传感器300万像素。 基金项目:校科学研宄发展基金项目“机器视觉在工业机器人智能分拣识别中的应用研宄” (XKJ2018003)。

机器视觉的研究内容及发展趋势

机器视觉的研究内容和发展趋势 1.1研究内容: 机器视觉是用机器代替人眼进行目标对象的识别、判断和测量,主要研究用计算机来模拟人的视觉功能。机器视觉技术涉及目标对象的图像获取技术、对图像信息的处理技术以及对目标对象的测量和识别技术。 1.2发展趋势: 机器视觉是人类视觉的扩展和延伸。随着研究的不断深入,新的描述方式、求解手段的不断探索和创新以及微处理器性能的快速提高,机器视觉的研究必将会迎来一个更加繁荣的时代,机器视觉技术与产品将会被广泛地应用于更为复杂的场合。机器视觉的未来发展趋势主要包含以下几方面: (1)多传感器信息融合方法研究 在机器视觉研究中,仅仅利用理想环境下获取的静止或瞬时视觉信息作为输入远不能满足认识复杂客观世界的要求。如果能将机器视觉、机器听觉、机器嗅觉、机器触觉等有机地结合起来,将多种信息相互融合,则有可能突破单一视觉信息的局限性。这里的融合不仅包括多传感器融合,还包括系统内部各信息通道的融合、系统模块的融合和各类信息处理方法的融合。 (2)深层初级视觉理论和方法研究 初级视觉是光学成像的逆问题,它研究从二维光强度阵列恢复三维可见表面物理性质的方法,包含一系列复杂的处理过程。因为各过程的输入数据及计算目的都是能够明确描述的,所以人们在这方面已研究了一些专用方法,如边缘检测、立体匹配、由运动恢复结构等。但由于三维世界投影成二维图像的过程中损失了很多信息,导致病态问题的产生,因此进一步加强对初级视觉过程及其约束条件的研究是十分重要的。 (3)主动视觉的研究 主动视觉是指观察者以确定的或不确定的方式运动,或通过转动视线来跟踪目标物体的技术和方法。在主动视觉中,观察者和目标物体也可同时运动。观察者的运动为研究目标的形状、距离和运动提供了附加条件。同时,主动视觉还可以在已知摄像机运动参数时,把一些原来的非线性问题转化成线性问题。主动视觉是

基于机器视觉的产品检测技术研究报告详述

机器视觉概念/研究现状/应用/检测 内容来源网络,由“XX机械展(11万㎡,1100多家展商,超10万观众)”收集整理! 更多c加工中心、车铣磨钻床、线切割、数控刀具工具、工业机器人、非标自动化、数字化无人工厂、精密测量、3D打印、激光切割、钣金冲压折弯、精密零件加工等展示,就在XX 机械展. 1、机器视觉 1.1机器视觉的概念 机器视觉被定义为用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。一个典型的工业机器视觉应用系统包括光源、光学系统、图像采集系统、数字图像处理与智能判断决策模块和机械控制执行模块。系统首先通过CCD相机或其它图像拍摄装置将目标转换成图像信号,然后转变成数字化信号传送给专用的图像处理系统,根据像素分布!亮度和颜色等信息,进行各种运算来抽取目标的特征,根据预设的容许度和其他条件输出判断结果。 值得一提的是,广义的机器视觉的概念与计算机视觉没有多大区别,泛指使用计算机和数字图像处理技术达到对客观事物图像的识别、理解。而工业应用中的机器视觉概念与普通计算机视觉、模式识别、数字图像处理有着明显区别,其特点是: 1、机器视觉是一项综合技术,其中包括数字图像处理技术、机械工程技术、控制技术、电光源照明技术,光学成像技术、传感器技术、模拟与数字视频技术、计算机软硬件技术、人机接口技术等。这些技术在机器视觉中是并列关系。相互协调应用才能构成一个成功的工业机器视觉应用系统。 2、机器视觉更强调实用性,要求能够适应工业生产中恶劣的环境,要有合理的性价比,要有通用的工业接口,能够由普通工作者来操作,有较高的容错能力和安全性,不会破坏工业产品,必须有较强的通用性和可移植性。 3、对机器视觉工程师来说,不仅要具有研究数学理论和编制计算机软件的能力,更需要光、机、电一体化的综合能力。 4、机器视觉更强调实时性,要求高速度和高精度,因而计算机视觉和数字图像处理中的许多技术目前还难以应用于机器视觉,它们的发展速度远远超过其在工业生产中的实际应用速度。 1.2机器视觉的研究X畴 从应用的层面看,机器视觉研究包括工件的自动检测与识别、产品质量的自动检测、食品的自动分类、智能车的自主导航与辅助驾驶、签字的自动验证、目标跟踪与制导、交通流的监测、关键地域的保安监视等等。从处理过程看,机器视觉分为低层视觉和高层视觉两阶段。低层视觉包括边缘检测、特征提取、图像分割等,高层视觉包括特征匹配、三维建模、形状分析与识别、景物分析与理解等。从方法层面看,有被动视觉与主动视觉之,又有基于特征的方法与基于模型的方法之分。从总体上来看,也称作计算机视觉。可以说,计算机视觉侧重于学术研究方面,而机器视觉则侧重于应用方面。

相关文档
相关文档 最新文档