搜档网
当前位置:搜档网 › 基于halcon的机器视觉试验平台的设计与研究

基于halcon的机器视觉试验平台的设计与研究

基于halcon的机器视觉试验平台的设计与研究
基于halcon的机器视觉试验平台的设计与研究

基于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即发生光电效应,产生对应分布的电荷量。通过模数转换即可得到对应的数字量。由于一般均采用8位模数转换,则最低强度光线(黑)到最高强度光线(白)分成256等分(0~255),专业术语称之为灰阶或灰度

随着信息时代的到来,用计算机处理各种信息的需求越来越多。多媒体信息处理技术已经成为日常生活各个领域的迫切需要,而人们就更希望能用计算机来处理视觉问题,例如利用人脸、虹膜、指纹等识别技术来处理与个人有关的一切事务。利用自动识别技术帮助盲人,利用视觉自动监控系统监视环境中发生的非常事件,如陌生人的侵入、老年人的异常行动等。在如智能交通管理系统、视频检索、用于军事目的的自动目标检测等,都需要应用机器视觉技术来解决问题。正如视觉是人类在自然环境与社会环境生存不可缺少的最重要感知器官,机器视觉技术也是信息技术中一门不可缺少的技术,因此它成为计算机学科中不可或缺的一们学科。

1.1.1 机器视觉组成

图1-1 机器视觉系统的组成框图

图1-1用图的方式表示了一个机器视觉系统在最基本层次上的组成。首先对未知物体进行度量,并确定一组特征的度量值。在工业应用中,这些特征包括被度量零件在图像中的长,宽和面积。一旦特征经过度量后,其数值就被送到一个实现决策规则的过程中去。这种决策的规则一般用一个子程序实现。它对度量值进行计算,并根据所度量的值确定物体最可能属于的类别。

典型的机器视觉系统一般包括:光源,光学镜头,摄像机,传感器,图像分析处理软件,通讯接口等组成的。

图1-2:机器视觉基本结构

如图1-2所示

光源:在目前的机器视觉应用系统中,好的光源与照明方案往往是整个系统成败的关键,光源与照明方案的配合应尽可能地突出物体特征量,在物体需要检测的部分与那些不重要部份之间应尽可能地产生明显的区别。其中LED 光源凭借其诸多的优点在现代机器视觉系统中得到越来越多的应用

光学镜头:光学镜头相当于人眼的晶状体,在机器视觉系统中非常重要。镜头的主要性能指标有焦距、光阑系数、倍率、接口等。

相机:相机是机器视觉系统获取原始信息的最主要部分,目前主要使用的CMOS 相机和CCD相机。目前CCD 摄像机以其小巧、可靠、清晰度高等特点在商用与工业领域都得到了广泛地使用。

图像采集卡:在基于PC 机的机器视觉系统中,图像采集卡是控制摄像机拍照,完成图像采集与数字化,协调整个系统的重要设备。

视觉传感器:基于PC 机的机器视觉系统结构没有模块化,安装不方便,可移植性差,特别是与工业广泛使用的PLC 接口比较麻烦。从软件和硬件开发两个方面来考虑,都需要一种更适合工业需求的机器视觉组件。目前国外已经开发出了一种叫做视觉传感器的模块化部件,图 2 为实物图。这种视觉传感器集成了

光源、摄像头、图像处理器、标准的控制与通讯接口,自成为一个智能图像采集与处理单元,内部程序存储器可存储图像处理算法,并能使用PC 机,利用专用组态软件编制各种算法下载到视觉传感器的程序存储器中。视觉传感器将PC 的灵活性,PLC 的可靠性、分布式网络技术结合在一起。用这样的视觉传感器和PLC 可以更容易地构成机器视觉系统

1.1.2 机器视觉应用

机器视觉被称为自动化的眼睛,在国民经济、科学研究及国防建设等领域都有着广泛的应用。视觉的最大优点是与被观测的对象无接触,因此对观测与被观测者都不会产生任何损伤,十分安全可靠,这是其他感觉方式无法比拟的。另外,视觉方式所能检测的对象十分广泛,可以说对对象是不加选择的。理论上,人眼观察不到的范围计算机视觉也可以观察。例如红外线、微波、超声波等人类就观察不到,而机器视觉则可以利用这方面的敏感器件形成红外线、微波、超声波等图像。因此可以说机器视觉扩展了人类的视觉范围。另外,人无法长时间地观察对象,计算机视觉则不知疲劳,始终如一地观测,所以机器视觉可以广泛地用于长时间恶劣的工作环境。下面列举一些已取得的应用成果[10-14]:检测技术是现代制造业的基础技术之一,是保证产品质量的关键。近年来,随着市场竞争的不断加剧,对产品质量的要求几乎近于苛刻,产品在线100%检测、控制和管理已成为企业不可缺少的技术装备,并可通过网络与制造业信息化系统连接,实现产品质量管理。随着现代制造业的发展,许多传统的检测技术已不能满足其需要,表现在:现代制造产品种类有很大的扩充,现代制造强调实时、在线、非接触检测,现代产品的制造精度大大提高;现代制造业的进步需要研究新型的产品检测技术,视觉检测技术具有非接触、速度快、精度合适、现场抗干扰能力强等突出的优点,能很好地满足现代制造业的需求,在实际中显示出广阔的应用前景。机器视觉检测系统正是适应以上要求而发展起来的一门学科。机器视觉检测系统是建立在计算机视觉研究基础上的一门新兴检测技术,可用于工业领域的很多方面,如零件检验与尺寸测量、零件的缺陷检查、零件装配、机器人的引导和零件的识别等。

在现代制造业自动化生产中,涉及到各种各样的检查、测量和零件识别应用。这类加工生产的共同特点是连续大批量生产、对尺寸精确度的要求非常高。这种带有高度重复性和智能性判断的工作一般只能靠人手工检测来完成,我们经常在一些工厂的现代化流水线后面看到数以百计甚至逾千的检测工人来执行这道工序,在给工厂增加巨大的人工成本和管理成本的同时,仍然不能保证100%的检验合格率,而当今企业之间的竞争,已经不允许哪怕是0.1%的缺陷存在。有些时候,如微小尺寸的精确快速测量,形状匹配,颜色辨识等,用人眼根本无法连续稳定地进行,其它物理量传感器也难有用武之地。以铸件而言,它的形状不规则导致难以测量,而钣金件也是千变万化。这时,计算机的快速性、可靠性、结果的可重复性,与人类视觉的高度智能化和抽象能力相结合,使机器视觉在工业检测中的应用越来越广泛。机器视觉的特点是自动化、客观、非接触和高精度,与一般意义上的图像处理系统相比,机器视觉强调的是精度和速度,以及工业现场环境下的可靠性。

机器视觉系统形式多样,在不同的场景中应用所采用摄像装置也是不同的。主要区分为,线阵和面阵两类。工业视觉大多数使用线阵系统。下面列出部分使

用线阵和面阵视觉系统的应用。

(1)纺织与服装

断纱检测;

织染检测;

布料、皮革形状检测。

(2)食品与粮食

粮食异物检测、分拣与色选;

饮料液位检测;

生产日期、保质期字符识别;

灌装线上空瓶的破损、洁净检测。

(3)特种检验

缆绳磨损与破损检测;

容器与管道探伤;

游乐设施速度检测;

危险装备的在线状态检测。

(4)包装

外观完整性检测;

条码识别;

唆头、密封性检测。

(5)机械制造

零部件外形尺寸检测;

装配完整性检测;

部件的定位与姿态识别;

零件、发动机、底盘等编号的同色凹字符识别。

(6)邮政分拣

邮政编码识别;

包裹物品检测。

(7)海关与口岸

指纹、掌纹、虹膜与人脸识别;

货物识别;

安检危险物品检测。

此外,机器视觉还广泛应用于集成电路检测、航空航天、军事国防、消防和公路交通等。

1.1.3 机器视觉的现状和发展

机器视觉自七步发展到现在,已有接近15年的历史。应该说机器视觉作为一个应用系统,其功能特点是随着工业自动化的发展而逐渐完善和发展的。

据不完全统计,目前全球整个视觉市场总量大概在70亿美元这个规模,并且按照每年8.8%的速度在增长。而在中国,由于工业自动化成都还没有达到国外的先进水平,所以机器视觉在中国的应用还处于起步阶段,但是随着制造业对自动化的需求以及对生产质量和管理水平的不断提高,中国对机器视觉的需求将会不断上升。

目前机器视觉朝着两个大方向在发展,一个是嵌入式,如传感器和智能相机,

另一个是基于PC的采集板卡和SDK的解决方案。两者不能说孰优孰劣,他们都有各自的适用场合和适用时期。

基于PC的采用板卡和SDK的产品有比较悠久的历史,它是机器视觉在作为一个产业发展之前以图像处理的概念在工业控制领域萌芽时期就存在的,一直延续到今日。她需要用户有比较好的编程基础和对现场应用有比较丰富的经验。按照国外的发展经验,这类产品加上开发费用一般价格都比较昂贵,所以一般只在一些要求高速度、高精度的场合如半导体行业等应用。

随着IC产业的发展以及图像处理算法技术的不断成熟,过去很多需要定制开发的软件应用现在都可以做成嵌入式的固定模块化产品。这类产品适用于被检测产品大多具有比较规则的形状、简单的检测项目等一类的常规应用。

目前,在很多中低端的应用场合,传感器和智能相机得到了很大的发展。因为其易于使用,容易学习,特别对于系统集成商来说,对于其快速进行系统集成项目非常有利。

然而,随着终端客户对产品从外观、内部结构、产品质量到功能的多样化等需求的不断增长,给生产制造环节提出了更高的要求,使得生产制造环节从制造到管理都必须符合新形式的需求。客户需要更多的灵活应用的产品。嵌入式系统以及基于PC的系统都在向前发展。

嵌入式系统产品在应用高速器件之后的处理速度和精度越来越高,基本上可以满足高端应用场合,这使得嵌入式产品已经可以覆盖高中低端的需求,从而不断的抢占原来基于PC的采用板卡和SDK的产品市场。

而基于PC的采用板卡和SDK的产品,其SDK也变得越来越易用和开放。他们把机器视觉的底层算法进行模块化封装,对机器视觉的处理过程进行流程化的设计,使得整个机器视觉设计犹如“搭积木”一样,在易用性和灵活性方面取得平衡,既方便非专业用户进行设计,又不会使得机器视觉只局限于某集中特定的应用。

它除了含有最一般的图像处理常用方法如滤波、图像增强等外,还还有机器视觉领域很多处理模块如尺寸测量肌酸、边缘检测、Blob分析等,同时配合系统仿真处理环境,利用这些处理模块,配合不同的行业应用面而是用相应的处理流程,是可以在很短的时间内为用户开发出性价比很高的行业解决方案。硬件方面,新的系统都整合有图像采集、图像处理、在线显示、标准的I/O包括串口、并口、鼠标键盘、网络接口等。同时还集成有与外部工业控制设备连接的数据I/O、运动控制、PLC等接口。

因为机器视觉必须与工业自动化设备配合使用,所以这些扩展接口被整合到图像处理装置里,同时配合模块化的图像处理软件,为用户提供一体化的图像解决方案,并能与外部的工业控制设备实现无缝对接。

同时,随着制造行业对管理的要求越来越高,信息管理系统在制造过程越来越重要,而机器视觉系统本质上是属于一个质量检测环节,它需要与制造环节的MES系统以及上层管理环节的ERP系统进行数据交换,故此,图像处理装置的用户二次开发应用环境和外部接口就显得更为重要。

显然,中国的工业自动化的发展较欧美日等工业发达的国家相差不少距离。在中国目前的机器视觉的产业环境中,终端用户和系统集成商都比较偏好于使用嵌入式的视觉系统如传感器和智能相机。这类系统只需要经过一段短时间的培训即可让用户应用,比较快速地解决问题。

然而随着实际应用的深入,不少用户开始觉得固定式的嵌入式应用灵活性不足,

于是,基于PC的产品依然有存在市场的合理性。

按照国外的发展经验,一般来说,嵌入式传感器类的视觉产品大多定位于中低端的应用,基于PC的这类开放式的产品因为其需要一定量的二次开发,能够灵活地适应多种需求,因此大多定位于中高端的产品应用基于PC的机器视觉系统。当然,在中国的产业发展环境,由于人力成本的差异等因素,不一定会完全按照国外的发展路线和模式。例如,在本土市场,有系统集成商采用各种低廉的产品组件可以开发出性能与嵌入式产品一致但价格较为低廉的视觉系统。

随着工业自动化应用在中国各行各业的纵深发展,按照未来产业的发展趋势,嵌入式的产品与基于PC的产品会在市场上长期并存,嵌入式的产品会集成更多的功能和更加灵活的应用,市场份额会越来越大,而基于PC的产品其开发难度也会随着软件包的易用性的不断增强而减少,其应用会在一些高速和高精度场合得到保留。

机器视觉的研究、发展和应用还远没有达到成熟的程度。机器视觉从诞生到今天才只有短短的三十多年时间,在机器视觉中承担“大脑”作用的图像分析处理、图像理解和模式识别理论和技术基础还非常不完善4[]。甚至,机器视觉的图像获取系统也存在许多局限,比如高速图像采集实现困难、价格过高,图像分辨率、灵敏度等不高,敏感元件的制造困难,视觉系统的体积较大,自适应的图像获取无法实现等。本文从这几个方面介绍机器视觉的最新发展情况:图像获取、图像处理与模式识别理论。

1,图像获取技术的最新发展

图像获取技术的发展迅猛,CCD、CMOS等固体器件已经变成成熟应用的技术。首先来看,线阵图像敏感器件,像元尺寸不断减小,阵列像元数量不断增加,像元电荷传输速率得到极大提高。如表1所示,为一种高性能线阵CCD器件的参数5[。]从中可以看到,目前的线阵器件的性能和参数发生了根本的变化,主要表现在像元数和数据率得极大提高,而且器件设计集成了新的功能,具有可编程能力,如增益调整、曝光时间选择、速率调节,以及维护等。在机器视觉中,高速器件应用的场合在不断拓展,如高速扫描图像获取,在集成电路检查、零件姿态识别、快速原型中的逆向工程、纺织、色选等,都是高速器件的用武之地在线阵器件性能提高的同时,高速面阵图像器件性能也在快速提高。某种超高速面阵CCD器件,允许的最大分辨率达1280×1024像素,最大帧率1MHz时可采集4帧图像,且像素灵敏度达1 2bits。在提高诸如分辨率、速率、灵敏度等性能的同时,也在发展一些用途和使用场合特殊的器件,如对红外敏感的或微光摄像机,对其他射线和超声波敏感的器件等。

此外,其他类型的图像获取器件的研究也展露头角,比如,光纤视觉传感器,结合其他光电技术,以及构成阵列器件已经有报道。作为图像获取装置的组成部分,嵌入式系统、DSP对图像获取起着图像采集与时序控制的作用。大量的工业图像处理系统中采用嵌入式系统或DSP,也有部分系统采用工业PC机作为主控机器,完成图像采集、处理和识别,并完成控制的功能。嵌入式系统或嵌入式微控制器(Embedded MCU)芯片技术发展迅速,主要的工业应用采用8位、16位芯片,高端应用已经采用32位芯片。在高精度的运动检测和控制领域,32位嵌入式微控制器应用报道也不鲜见。在机器视觉系统中,对嵌入式系统性能的要求比一般的工业控制、机器人控制等场合要高。如,某种32位嵌入式微控制器芯片,内嵌大容量的Flash ROM和SRAM,其主频达到700MHz,带丰富的DSP指令系统,高速并行接口、通信接口齐备,提供可视化编程,支持汇编、ANSIC以

及V isua lC++等语言编程,支持在线仿真和调试等,使得开发应用的周期大大缩短。

2.,图像处理、图像理解与模式识别理论研究及最新发展

前面已经述及,机器视觉是针对工业应用领域。但作为视觉系统,所采用的图像处理、图像理解与模式识别的基础理论和技术是相同的。数字图像处理、图像理解与模式识别,这是当今计算机视觉研究的热点。这既表明,图像处理与模式识别在现代信息技术中的重要作用,同时也说明,该研究领域仍然存在大量没有解决的研究难题。

图像的增强、图像的平滑、图像的数据编码和传输、边缘锐化、图像的分割等在不同的研究目标和应用中会采取不同的方法,也在不断出现新的研究成果,本文不述及。作为机

器视觉能否得到应用,关键在于图像的识别。图像的模式识别过程实际上可以看作是一个标记过程,即利用识别算法来辨别景物中已分割好的各个物体,给这些物体赋予特定的标记,它是机器视觉系统必须完成的一个任务。什么是模式和模式识别?广义地说,存在于时间和空间中可观察的事物,如果可以区别它们是否相同或相似,都可以称之为模式;狭义地说,模式是通过对具体的个别事物进行观测所得到的具有时间和空间分布的信息;把模式所属的类别或同一类中模式的总体称为模式类(或简称为类)。而“模式识别”则是在某些一定量度或观测基础上把待识模式划分到各自的模式类中去6[。]模式识别的方法,即数据聚类、神经网络、统计分类和结构(句法)模式识别方法。用于图像识别的方法主要分为决策理论和结构方法。决策理论方法的基础是决策函数,利用它对模式向量进行分类识别,是以定时描述(如统计纹理)为基础的;结构方法的核心是将物体分解成了模式或模式基元,而

不同的物体结构有不同的基元串(或称字符串),通过对未知物体利用给定的模式基元求出编码边界,得到字符串,再根据字符串判断它的属类。这是一种依赖于符号描述被测物体之

间关系的方法。广泛应用于统计模式识别中密度估计的方法之一是基于混合密度模型的。根据期望最大(EM)算法得到了这些模型中有效的训练过程。按照共享核函数可以得出条件密度估计的更一般的模型,类条件密度可以用一些对所有类的条件密度估计产生作用的核函数表示。提出了一个模型,该模型对经典径向基函数(RBF)网络进行了修改,其输出表示类条件密度。与其相反的是独二混合模型的万法,其中每个类的密度采用独二混合密度进行估计。提出了一个更一般的模型,共享核函数模型是这个模型的特殊情况。

在20世纪70年代,波兰学者Pawlak Z和一些波兰的逻辑学家们一起从事关于信息系统逻辑特性的研究。粗糙集理论就是在这些研究的基础上产生的。1982年,Pawlak Z发表了经典论又Rough Sets,宣告了粗糙集理论的诞生。此后,粗糙集理论引起了许多科学家、逻辑学家和计算机研究人员的兴趣,他们在粗糙集的理论和应用万面作了大量的研究工作。1991年,Pawlak Z的专著和1992年应用专集的出版,对这一段时期理论和实践工作的成果作了较好的总结,同时促进了粗糙集在各个领域的应用。此后召开的与粗糙集有关的国际会议进一步推动了粗糙集的发展。越来越多的科技人员开始了解并准备从事该领域的研究。目前,粗糙集已成为人工智能领域中一个较新的学术热点,在模式识别、机器学习、知识获取、决策分析、过程控制等许多领域得到了广泛的应用。

参考又献f71提出了一种模式识别理论的新模型,它是基于“认识”事物而

不是基于“区分”事物为目的。与传统以“最佳划分”为目标的统计模式识别相比,它更接近于人类“认识”事物的特性,故称为“仿生模式识别”。它的数学万法在于研究特征空间中同类样本的连续性(不能分裂成两个彼此不邻接的部分)特性。又中用“仿生模式识别”理论及其“高维空间复杂几何形体覆盖神经网络”识别万法,对地平面刚性目标全万位识别问题作了实验。对各种形状相像的动物及车辆模型作全万位8 800次识别,结果正确识别率为99.75,错误识别率与拒识率分别为0与0.25%。

在特征生成上,发展出许多新的技术,包括基于小波、小波包、分形的特征,以及独二分量分析。其他研究,也都取得了长足的进展,诸如关子支持向量机,变形模板匹配,线性以及非线性分类器的设计,包括贝叶斯分类器、多层感知器,决策树和RBF网络,独二于上下又的分类,包括动态规划和隐马尔科夫建模技术。

2.3 机器视觅领域应用的拓展

机器视觉的应用研究,已经拓展到几乎每个可能的工业领域。最主要的应用行业,为汽车、制药、电子与电气、制造、包装/食品/饮料、医学等。在现代工业自动化生产中,涉及到各种各样的检查、测量和零件识别应用,例如汽车零配件尺寸检查和自动装配的完整性检查、电子装配线的元件自动定位、饮料瓶盖的印刷质量检查、产品包装上的条码和字符识别等。这类应用的共同特点是连续大批量生产、对外观质量的要求非常高。这种带有高度重复性和智能性的工作,过去是靠人工检测来完成。人工执行这些工序,在给工厂增加巨大的人工成本和管理成本的同时,仍然不能保证100%的检验合格率(即“零缺陷" )0 0.1%的缺陷的存在,对企业在币场上的竞争也是极为不利的。有些时候,如微小尺寸的精确快速测量、形状匹配、颜色辨识等,用人眼根本无法连续稳定地进行。机器视觉的引入,代替传统的人工检测万法,避免了人眼的视觉疲劳。由于机器视觉系统可以快速获取大量信息,而且易于自动处理,也易于同设计信息以及加工控制信息集成,因此,在现代自动化生产过程中,机器视觉系统广泛地应用于工况监视、成品检验和质量控制等领域。机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合人工作业的危险工作环境或人工视

觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术,极大地提高了投放币场的产品质量,提高了生产效率。典型的线径的在线检测与控制,如被加工工件的直径测量、铜线的拉线线径测量与控制,传统的接触式测量方法存在缺陷,人工在线测量是不可能的。采用线阵CCD线径测量方法,是较早期机器视觉成功应用的例证。机器视觉的特点是自动化、客观、非接触和高精度,与一般意义上的图像处理系统相比,机器视觉强调的是精度和速度,以及工业现场环境下的可靠性。机器视觉极适用于大批量生产过程中的测量、检查和辨识。线阵CCD在连续、扫描在线测量中的应用非常具有优势,如面积测量‘”,,不仅得到的结果准确,而且实时、快捷。再如,零件装配完整性、装配尺寸精度、零件加工精度、位置/角度测量、零件识别、特性/字符识别等。在零售业界,POS的终端设备,如条码识读机,也是线阵CCD在机器视觉上的典型应用。连续流动流体测量,如,透明管道水的澄清度、异物测量,为自来水、工业污水水质测量与控制,江河污染监测;此外,如在线食用油品油质监测,为保证生产出合格的油品提供保障。

随着图像处理和模式识别理论研究的进展,采用二维图像的机器视觉系统在最近几年得到了成功应用。如指纹、掌纹、虹膜和人脸等食物特征识别的机器视觉系统,已经在机场、车

站安检、考勤、门禁认证、海关通关等场合使用;在恐怖主义威胁下,不仅对人的识别更加重视,货物运输中也逐步考虑使用更加先进的机器视觉系统,如,采用计算机断层扫描技术的货物安检和成分识别研究正在开展。

在医学诊疗过程中,病症的识别离不开机器视觉系统的使用。如,超声波、CT.磁共振、基于CCD的内窥镜等装备,在大、中型医院已经获得普遍推广。目前,国际上视觉系统的应用方兴未艾,国内,机器视觉系统也进入应用的快速发展期,主要的视觉系统采用进口,不同类型的应用,均可以采取购买成熟系统的方法。国内形成产品的视觉系统主要有,用于粮食的色选机、线径测量系统等。

1.2 HALCON概述

德国MVtec公司的图像处理软件HALCON,是世界公认具有最佳效能的机器视觉软件。它发源自学术界,有别于市面一些商用软件包。事实上,这是一套图像处理库,由一千多个各自独立的函数,以及底层的数据管理核心构成。其中包含了各类滤波、色彩分析以及几何、数学变换、形态学计算分析、校正、分类、辨识、形状搜索等等基本的几何以及图像计算功能,由于这些功能大多并非针对特定工作设计的,因此只要用得到图像处理的地方,就可以用HALCON强大的计算分析能力来完成工作。应用范围几乎没有限制,涵盖医学、遥感探测、监拎、及工业上的各类自动化检测。近年来,由于机器视觉技术的发展,这种可以”取代人眼”,对重复工作不会疲劳,精度高且稳定的特质,促进了高科技业的发展,例如电子业产量的大幅提升。而MVTec公司更是不断的与学术界合作,并且将最新的学术研究成果纳入其中,不但使自己的技术处于业界领导地位,同时也将机器视觉技术推向更高的境界。

机器视觉软件HALCON在世界范围内被广泛的使用,用户可以利用其开放式结构快速开发图像处理和机器视觉应用。

一个专业的图像处理工具不只包含一个图像处理函数库。图像处理任务的解决只是整个机器视觉解决方案的一部分,还包括处理控件和或者数据库连接等软件部分,图像获取及其照明等硬件部分。因此,图像处理系统简单易用,并且能活嵌入到开发项目中是非常重要的。Halcon充分考虑到这些方面,它有如下的特点:

1. HALCON包含了一套交互式的程序设计接口HDevelop,可在其中以HALCON 程序代码直接编写、修改、执行程序,并且可以查看计算过程中的所有变量,设计完成后,可以直接输出C/ C++,或是COM(visual basic)程序代码,嵌入到应用程序程序中。

2, HALCON不限制取像设备,可以自行挑选合适的设备。原厂己提供了4 0余种相机的驱动,即使是尚未支持的相机,除了可以透过指针(pointer)轻易的抓取影像,还可以利用HALOCN开放性的架构,自行编写DLL文件和系统连接。

3、使用HALCON有最好的投资效益。这套软件支持的操作系统除了微软的NT/XP/2000,还有Linux, Solaris7, 181X6. 5, "1'ru64 UN1X5. 1等等,当需要开发出一套系统,就可以轻易转换作业平台,以符合需求。为了加快速度,还可以

使用多处理器的计算机,所编写的程序不必更动。

4.使用HALOCN,在设计人机接口时没有特别的限制,也不需要特别的可视化组件,可以完全使用开发环境下的程序语言,例如Mircosoft Visual Studio等等,架构自己的接口,最终用户看不到开发工具,而且在执行软件的机器上,只需要很少的资源。

1.3论文主要工作及结构

本文在分析机器视觉发展和应用现状,从教学实验,工业机器视觉检测等方面的需要上进行考虑,搭建了一个机器视觉实验平台,该平台核心为机器视觉软件HALCON。该实验平台可以进行多种机器视觉相关实验的设计和研究,并在该实验平台上设计完成了一个弹簧片检测任务,本论文完成了以下主要内容

据项目要求和实验要求选择机器视觉系统的硬件,设计集成方案,组建一个实验平台。

采用德国MVTec公司的机器视觉软件HALCON作为系统软件的处理核心,降低了机器视觉任务软件设计的难度和开发周期。

针对弹簧片工件,选择相关算法,对其进行尺寸测量和合格判断。

对IC芯片表面字符进行识别

基于字符全局特征和局部特征,设计了利用多级分类器并且基于特征点特征识别字符的特征匹配法,完成大写英文字母和阿拉伯数字的混和识别。

利用上述结果对IC表面标识进行识别应用。

第二章:ZM-VS1200机器视觉实验平台硬件设计

典型的机器视觉系统从组成结构来分,可以分为个人计算机(PC)式机器视觉系统和嵌入式机器视觉系统。嵌入式机器视觉系统也称为智能相机,具有易学、易用、易维护、易安装等特点。嵌入式机器视觉使用厂家提供的软件开发工具和函数来编制需要的机器视觉系统程序,通过相机中嵌入的处理系统来执行程序判别、被检测目标的特征,并输出结果。使用嵌入式机器视觉系统可以在短时期内构建机器视觉系统,但是这类系统成本高,提供的函数也有限,同时其功能也受到限制,很难满足多种机器视觉实验和测量的需求。基于PC的机器视觉系统相对来讲较大、结构复杂,开发周期也比较长,但是可以使用的通用软件也比较多,编制其软件平台的选择性也多,本系统采用的是德国MVTec公司提供的HALCON机器视觉软件作为其核心处理程序,同时用Mircosoft Visual Studio来完成整体软件系统集成。该机器视觉平台软件算法更加灵活多样,而且能够完成功能复杂和智能化程序高的任务。

2.1系统功能及技术要求

根据目前机器视觉教学和相关项目的需求,设计一套整体的系统解决方案,考虑到能够具有以下的功能和要求:

1,高性能处理功能,可满足复杂处理过程和实时在线监测功能;

2,多路视频输入功能,多路I/O,满足多路测控任务;

3,支持USB数字相机,满足高分辨率问题的处理要求;

4,支持Mircosoft Windows XP Embedded专业嵌入式操作系统;

5,适用各种有形物体的视觉检测问题;

6,可编程内部隔离输入输出端口,更贴近工业现场;

7,固态存储,外观优美,安装方便,完全模拟工业现场的测控环境;

8,USB2.0接口,千兆以太网接口,RS232串行接口,适用联网数据采集;

2.2系统硬件组成

本文根据系统要求进行分析,选择硬件选型,包括光源,相机,图像采集卡等。并且独立设计机器视觉系统的主机部分,将其连接成一个完整机器视觉平台。该机器视觉平台如下图所示

图2-1 VS-ZM1200机器视觉实验平台

2.2.1光源

照明的主要目的是通过一定方式把光源发出的光投射到被测物体上,突出被测特征的对比度,使采集到的图像质量得到改善从而满足机器视觉软件对图像处理与分析的要求。照明方式的选择主要考虑被测物体的特性、工作距离、视场大小等因素。当前还没有任何一种照明方式可以适用于所有的机器视觉工程中,要针对每一个机器视觉工程选择合适的照明系统。表2-2是常用照明方式的特点、应用场合及其原理。

在目前的机器视觉应用系统中,好的光源与照明方案往往是整个系统成败的关键。光源与照明方案的配合应尽可能地突出物体特征量,在物体需要检测的部分与那些不重要部分之间应尽可能地产生明显的区别,增加对比度,同时还应保证足够的整体亮度,尽可能突出所要提取的特征。

机器视觉工程中使用的光源除了要适合被测量目标的特性以外,还要求光能稳定。光源的分类方法也很多,目前没有一种统一的分类方法。通常根据发光器件

过不同的组合方式可以制造成环形、条形、矩形等不同形状的光源来满足不同工程的需要。因此,LED光源以其优异的特性在机器视觉工程中得到了广泛的应用。

本文选择的是白色LED环形光源,同时有一个可调亮度的亮度控制器。

型号:UT-70-99-W

规格:外径99mm,内径70mm

光色:纯白色

UT-70-99-W LED灯带有螺旋接口,专为单筒CCD显微镜设计的,OD42MM,外径70MM,保用三年

优力特LED无影冷光源是新世纪照明科研成果,用户可以根据需要加装滤光片,减少光线干扰从而显著提高图像质量,彻底解决了自身存在的先天缺陷,是环形节能灯的升级换代产品。目前LED无影冷光源的优越性逐渐被显微镜等使用厂商所了解和接受,使用成本亦较环形节能灯低,减少了每1-2个月就需更换环形灯管的麻烦。

具体特点:

1.没有频闪:因为LED无影冷光源为纯直流供电,无频闪,不易使眼睛产生疲劳感,

亦不会对工作区域的其他设备(如示波器)产生谐波干扰。

2.光照均匀:LED无影冷光源是360度均匀照射,在被观察物体上无虚影产生,清晰度

高。

3.超长寿命:LED无影冷光源由于发热量极低(没有辐射)、不影响观测物的质量,耗

电量小(低电压、低电流起动)平均寿命大于35000小时,远大于普通环形灯的

1500-2500小时,寿命为普通环形荧光的十倍以上。

4.消除隐患:大多数环形灯工作电压为:AC110V或AC220V,由于使用不当烧坏电源和

灯管现象屡见不鲜,LED无影冷光源使用AC100-240V开关电源,彻底消除上述隐患。

5.亮度可调:配有专用的亮度控制器(亮度控制器具有短路、过载、温度保护功能),

操作者可根据自身对亮度的适应性随意调节亮度,使之达到最为理想的舒适度,使

长时间工作的眼睛不易产生疲劳感。

6.环保安全:较荧光环形比较耐震、耐冲击不易破、废弃物可回收,没有汞污染,是

真正的环保、节能产品。

2.2.2 相机

相机是机器视觉系统中的一个关键组件,其最本质的功能就是将光信号转变成有序的电信号。选择何时的相机也是机器视觉系统设计中的重要环节,相机的选择不仅直接决定所采集的图像的分辨率、图像质量等,同时也与整个系统的运行模式直接相关。

2.3.2.1 机器视觉中相机的分类

根据不同的感光芯片可以将相机分为CCD相机和CMOS相机两种,CMOS 相机起步较晚,所摄取的画面质量也不是很好,所以主要用在图像品质要求不是很高的产品上,而工业上应用较为普遍的是CCD相机:

CCD相机:CCD称为电荷耦合器件,CCD实际只是一个把从图像半导体中出来的垫子有组织地存储起来的方法;

CMOS相机:CMOS称为“互补金属氧化物半导体“,CMOS实际上只是将晶体管放在硅块上的技术。

人眼能看到1Lux照度(满月的夜晚)一下的目标,CCD传感器通常能看到的照度范围在0.1~3Lux,是CMOS传感器感光度的3到10倍,所以目前一般CCD相机的图像质量要优于CMOS相机。

按照输出图像的格式可以分为模拟相机和数字相机:

模拟相机:模拟相机所输出信号形式为标准的模拟量视频信号,需要配专用的图像采集卡才能转换成计算机可以处理的数字信号。模拟相机一般用于电视摄像

和监控领域,具有通用性好,成本低的特点。但是一般分辨率较低,采集速度慢,而且在图像传输中容易受到干扰,导致图像质量下降,所以只能用于对图像质量要求不高的机器视觉系统。

常见的模拟相机输出信号格式有:

PAL (黑白为CCIR ),中国电视标准,625行,50场;

NTSC (黑白为EIA ),日本电视标准,525行,60场;

SECAM ;

S-VIDEO ;

分量传输;

CCD 相机成像示意图:

透镜CCD CCD摄像机LED光源对象

数字相机:数字相机是在内部集成A/D 转换电路,可以直接将模拟量的图像信号转换成数字信号,不仅有效避免了传输线路的干扰问题,而且优于摆脱了标准视频信号格式的制约,对外的信号输出使用更加高速和灵活的数字信号传输协议,可以做成各种分辨率的形式。

常见的数字相机图像输出标准有:IEEE1394,USB2.0,DCOM3,RS-644LVDS ,Channel Link LVDS ,Camera Link LVDS ,千兆网。

按照像素元排列方式划分可以分为面阵相机和线阵相机:

面阵相机:面阵相机是最常见的形式,其像素元是按行列整齐排列的,每个像素元对应图像上的一个像素点。

线阵相机:是一种比较特殊的相机,其像素元是一堆线状排列的,即只有一行像素元,每次只能采集一行的图像数据,只有当摄像机与被摄物体在纵向相对运动时才能得到我们平常看到的二维图像。所以适用于被测物体连续运动的场合,尤其适用于运动速度较快,分辨率要求较高的情况。

根据相机采集图像色彩不同,可以分为黑白相机和彩色相机。彩色相机适用于需要提取场景中的颜色信息进行检测和识别的场合,黑白相机只能生成灰度图像。相对于相同精度的彩色相机来讲黑白相机价格低、数据量小、速度快、也能够体现场景中的亮度信息。

2.3.2.2相机的分类

相机的选择要根据系统的要求综合考虑镜头和图像采集卡的情况来选择相机的参数。通常相机根据其参数的不同进行分类,下面是常用的分类方法:

根据相机采集图像色彩不同,可以分为黑白相机和彩色相机。彩色相机适用于需要提取场景中的颜色信息进行检测和识别的场合,黑白相机只能生成灰度图像。相对于相同精度的彩色相机来讲黑白相机价格低、数据量小、速度快、也能够体现场景中的亮度信息。

根据信号传输方式的不同相机分为模拟信号相机和数字信号相机,模拟信号

相机成本低,在成像质量、速度、分辨率方面不如数字相机性能好。

根据图像传感器的不同相机可以分为CCD相机和CMOS相机。其中,CCD 是目前比较成熟的成像器件,已经广泛的被应用于各种成像和光学探测领域中,CCD相机也成为图像传感器的主流产品。

对于CCD相机来说,按照传感器的像素几何排列不同可分为线阵和面阵两种。面阵相机的像素几何排列是二维平面,一般为矩形;线阵相机的像素按一维直线排列。面阵相机一次可以采集到一定视野范围内的全部图像信息;线阵相机一次只能观察物体的一个条状部分,摄像头和物体必须有相对运动来完成扫描,把每次采集的图像进行拼接得到图像。线阵相机的成像质量不如面阵相机,但是线阵相机分辨率高,速度快,对于运动物体的连续检测(例如:连续运动的纸张)有着自身的优势。

相机的选择除了考虑选择黑白/彩色、数字/模拟、面陶线阵、精度、速度外,还要考虑的因素有:相机与图像采集卡之间的数据输出接口、相机与镜头之间的联接接口等。数据输出接口主要有视频制式模拟信号、CameraLink, LIDS ,IEEE1394. USB等。在系统的硬件选择时要注意相机和图像采集卡之间的接口的类型,尽量选用相同接口,如果接口不同要考虑相机和图像采集卡之间的接口转换问题;根据相机和镜头间的联接支座的螺纹的不同可以分为C接口和CS 接口。

目前工业用相机主要有CCD和CMOS两种。CMOS相机起步较晚,所摄取的画面质量也不是很好,所以主要用在图像品质要求不是很高的产品上,而工业上应用较为普遍的是CCD相机。CCD( Charge Coupled Device)是美国人Boyle 发明的一种半导体光学器件。该器件具有光电转换、信息存储和延时等功能,并且集成度高、能耗小,故一出现就在固体图像传感、信息存储和处理等方面得到广泛应用iii。在选择相机时,主要有以下几个方面的问题要考虑

(1)相机的扫描方式相机按照扫描方式可以分为面扫描和线扫描相机。顾名思义,线扫描相机是指对物体进行行扫描的相机,线扫描相机又可分为隔行扫描和逐行扫描。线扫描相机适用于以下情况①对固定的物体做一维的测量②对象物体处于运动状态;③需处理可旋转圆柱体的边缘图像濡要对象物体的高分辨率图像,而又要考虑价格因素等,其他情况下可以考虑使用面扫描相机‘“’。线扫描相机的特点是运动平稳、速度跟踪精度高、光源强度要求高。目前,线扫描相机的分辨率已经达到几千,检测速率也达到61秒甚至更高。面扫描相机一次只能拍摄一副图像。由于面扫描相机的自身局限性,使其不适于动态目标连续无遗漏的高精度检测。但是,针对其工作原理,采用以下技术:①选用祯传送或行间传送CC}②采用高速快门(电子快门}③采用单场技术;④选用高频光源等,是完全可以进行动态图像的实时采集的,完全可以满足工业在线检测的要求‘3,。

(2)相机的颜色标准相机按颜色可以分为黑白和彩色相机。其中,黑白相机比彩色相机的分辨率高,而且数据采集速度快。随着相机制造技术的不断发展,现在,彩色相机也越来越多的得到了应用。这是因为过去的彩色相机系统要由三台相机组成,这三台相机分别对应R(红色).G(绿色).B(蓝色)波长,而现在则出现了单((O彩色相机。彩色相机可以提供更强的观察和区别能力,因此在医学、生物学以及一些工业过程控制方面发挥了重要作用。

(3)相机的输出接口形式相机输出接口形式有RS422.RS644. USB. IEEE1394以及Cameralink等,在选择图像处理卡时应注意其是否支持所选用相机的输出形式。

现在世界上有很多公司都在生产CCD相机,这其中比较者名的有德国的B asler公司、丹麦的7AI公司、加拿大的Da1sa公司等

本文采用的模拟相机为WAT-902B型高清晰超低照度黑白CCD摄像机,其参数

2.2.3 镜头

镜头选择要根据相机的传感器尺寸、支座接口形式以及被测量的零件尺寸等进行综合考虑。镜头的成像应能够完全覆盖镜头的传感器表面;镜头和相机的联接接口形式应该尽量相同;镜头的视场和景深应该满足被测量的零件的尺寸要求。

下面是镜头几个主要参数的解释:

视场:视场就是整个系统能够观察的物体的尺寸范围,也就是与图像传感器上所成图像对应的场景的大小。

工作距离:工作距离就是物距,即:物体到镜头的距离。

分辨率:分辨率描述的是光学系统能够分辨的最小物体的距离一般用成对的黑白相间线来标定镜头的分辨率,即:每毫米多少线对(lp/mm ) 。

景深:沿光轴方向上物体的尺寸或运动在一定范围内所成的图像是清晰的,也就是说,这个范围称为景深。

光圈:光学系统中光线经过折射、反射等最后到达像面,在这个传输过程中,并不是所有进入系统的光线最后都能通过,而是有一部分被阻挡。为了能够调节透过的光强度,一般镜头中都设置了光圈,也就是一个多叶片的机械装置组成的直径可变的圆孔,调整时这个孔的直径可以连续变化,从而改变镜头的有效孔径。

镜头光圈的大小一般用F数来表示。

F数:假定光学系统的有效孔径是d,焦距是f,那么,F=f/d。这个参数描述了光学系统的采光能力。有效孔径越大,能收集到和通过的光线越多,而焦距越短,这些光线能到达像面的可能性越大。

本文选用了性价比较高的COMPUTAR公司的M2514-MP百万像素固定焦距镜头(如图2-5所示),其主要性能参数见表2-3所示。该镜头采用C型接口与可以相机配套使用。成像尺寸满足相机的CCD传感器尺寸要求。另外,该镜头分辨率较高,适合高精度的尺寸检测。手动的光圈和焦距调节可以满足本课题的要求。

相机的镜头相当于人眼的晶状体。如果没有晶状体,人眼看不到任何物体;如果没有镜头,相机就无法输出图像。在机器视觉系统中,镜头的主要作用是将成像目标聚焦在图像传感器的光敏面上。镜头的质量直接影响到机器视觉系统的整体性能,合理选择并安装镜头,是机器视觉系统设计的重要环节。

一般情况下,机器视觉系统中的镜头可进行如下分类:

按焦距分类:广角镜头、标准镜头、长焦镜头等;

按调焦方式分类:手动调焦、自动调焦等;

按光圈分类:手动光圈、自动光圈。

2. 4. 1镜头的基本结构

机器视觉系统中采用的镜头一般由一组透镜和光阑组成。

透镜一般分为凸透镜和凹透镜。其中,凸透镜对光线具有汇聚作用,也称为汇聚透镜或正透镜;凹透镜对光线具有发散作用,也称为发散透镜或负透镜。由于正负透镜具有相反的特性,所以镜头设计中常常将两者配合使用,以校正像差和其他各类失真。由于变焦镜头既要使镜头的焦距在较大范围内可调,又要保证将成像目标聚焦在图像传感器的光敏面上,因而变焦镜头一般由多组正、负透镜组成。

进入镜头的光束大小一般由透镜框及其它机械结构决定。通常,在镜头中设置带孔的金属薄片以限制光束的大小,称为光阑。

2. 4. 2镜头的接口

在机器视觉中,光学镜头常用的接口为C型和CS型。C型和CS型接口均是国际标

准接口,其旋合长度、制造精度、靠面尺寸及后截距(即安装基准面至像面的空气光程)

公差均应符合相关要求。

C型和CS型接口均为1英寸一32LJN英制螺纹连接口。具有CS接口的相机可以与具有C型或CS型接口的镜头连接。但C型接口镜头需加装一个接圈才能与具有CS接口的相机连接。具有C型接口的相机只能与具有C型接口的镜头连接,而不能与具有CS接口的镜头连接,否则不但不能良好聚焦,还有可能损坏图像传感器。

2. 4. 3镜头的性能指标

镜头主要有以下几个性能指标:[39]

1、焦距

焦距是光学镜头的重要参数,通常用f来表示。镜头的焦距决定了成像目标在图像传感器上图像的大小。当采用不同焦距的光学镜头对同一目标成像时,镜头的焦距越大,所得到的像也就越大;另一方面,焦距直接与镜头的视场角相关。一般短焦距镜头具有较大的视场角,长焦距镜头的视场角较小。

2、分辨率

镜头的分辨率一般用镜头对黑白相间的线条密度的分辨极限来描述,即:以单位长度内可以分辨的线条数N来表示。

3、视场角

镜头的视场角决定了图像传感器成像的空间范围,它与光学镜头的焦距有关。当CCD 器件尺寸一定时,焦距越长,其视场角越小。

4、光谱特性

光学镜头的光谱特性主要指镜头对各波段光线的透过率特性。在部分机器视觉应用系统中,要求图像的颜色应与成像目标的颜色具有较高的一致性。因此希望各波段透过光学镜头时,除总强度有一定损失外,其光谱组成并不发生改变。

影响光学镜头光谱特性的主要因素为:膜层的干涉特性和玻璃材料的吸收特性。在机器视觉系统中,为了充分利用镜头的分辨率,镜头的光谱特性应与使用条件相匹配。即:要求镜头最高分辨率的光线应与照明波长、CCD器件接受波长相匹配,并使光学镜头对该波长的光线透过率尽可能的提高。

USB相机采用的镜头为:

日本精工A VENIR CCTV LNES 16mm F1.6

型号:SE1616

手动光圈定焦镜头,适合CCD尺寸为2/3"或1/2"或1/3"的摄像机

功能特性:

焦距:16.0mm

光圈孔径:F1.6-C

接口类型:C

Φ38.0mm×26.5mm

净重:63.0g

2.2.4 主机

系统主机部分如下图所示:

系统主机由:PC板卡、硬盘、电源、可调速直流电机,电机调速器,系统开关,光源亮度调节器,转盘,光电开关组成

其中主要设备参数如下:

光电开关:

产品详细信息:

产品名称光电开关,产品介绍布线/调整方便?,在细长的机体内凝集功能,且经济型,产品类别AC/DC自由电源。分类内置放大器继电器输出使用寿命长,偏振反射型可检测发光或闪光物体,预绕线型。

应用范围:

用于半导体,电子产品包装业,汽车运输,家电药业,保健金属加工,食品等行业。

技术说明:

●检测方法/检测距离透射型5米后向反射型205,3,4米扩散反射型300 ●电流/能源消耗3,2,1.5,2W 40毫安

●供应电压24,24--240V AC 10-24 10-30 24,12--240VDC

●控制输出继电器输出:3A,250V AC 晶体管输出:100mA,48VD

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’)

机器视觉简介

机器视觉概述 机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分CMOS 和CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。 【应用领域】 机器视觉广泛应用于各个方面,广泛应用于微电子、PCB生产、自动驾驶、印刷、科学研究和军事等领域。 【基本构造】 一个典型的工业机器视觉系统包括:光源、镜头、CCD 照相机、图像处理单元(或图像捕获卡)、图像处理软件、监视器、通讯/ 输入输出单元等。系统可再分为、主端电脑(Host Computer)、影像获取卡(Frame Grabber)与影像处理器、影像摄影机、CCTV镜头、显微镜头、照明设备、Halogen光源、LED光源高周波萤光灯源、闪光灯源、其他特殊光源、影像显示器、LCD、机构及控制系统、PLC、PC-Base控制器、精密桌台、伺服运动机台。 以上涵盖大部分的机器视觉系统组成部分,在本实验室中机器视觉的主要系统组成为:光源、工控机、工业相机、镜头;其中在进行算法设计时尽量的减少对于光源条件的依赖(实验室的光源性能一般,光照条件良好)。 图1 典型的机器视觉系统

图2 本实验室的机器视觉的主要组成 尽量以本实验室现有的实验条件为主,其他需要的部分按实际要求也可以添加。 【工作原理】 机器视觉检测系统采用CCD照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统对这些信号进行各种运算来抽取目标的特征,如面积、数量、位置、长度,再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格/ 不合格、有/ 无等,实现自动识别功能。 【机器视觉系统的典型结构】 一个典型的机器视觉系统包括以下五大块: 1.照明 照明是影响机器视觉系统输入的重要因素,它直接影响输入数据的质量和应用效果。由于没有通用的机器视觉照明设备,所以针对每个特定的应用实例,要选择相应的照明装置,以达到最佳效果。光源可分为可见光和不可见光。常用的几种可见光源是白帜灯、日光灯、水银灯和钠光灯。可见光的缺点是光能不能保持稳定。如何使光能在一定的程度上保持稳定,是实用化过程中急需要解决的问题。另一方面,环境光有可能影响图像的质量,所以可采用加防护屏的方法来减少环境光的影响。照明系统按其照射方法可分为:背向照明、前向照明、结构光和频闪光照明等。其中,背向照明是被测物放在光源和摄像机之间,它的优点是能获得高对比度的图像。前向照明是光源和摄像机位于被测物的同侧,这种方式便于安装。结构光照明是将光栅或线光源等投射到被测物上,根据它们产生的畸变,解调出被测物的三维信息。频闪光照明是将高频率的光脉冲照射到物体上,摄像机拍摄要求与光源同步。

Halcon表面划伤检测实例

Halcon表面划伤检测实例 *关闭活动图形窗口 dev_close_window () * 在程序执行中指定输出行为为off。 dev_update_window ('off') * **** * step: acquire image 步骤:获取图像 * ****读入文件名为'surface_scratch' 的图像到Image read_image (Image, 'surface_scratch') get_image_size (Image, Width, Height) *打开一个和Image宽高比一致的图像窗口 dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID) *设置窗口字体大小为12,字体类型为Courier,粗体不倾斜字体。 set_display_font (WindowID, 12, 'Courier', 'true', 'false') *设置填充模式为'margin' dev_set_draw ('margin') *定义输出轮廓线宽为4

dev_set_line_width (4) *显示Image到窗口 dev_display (Image) *WindowID窗口使用黑色字体在一个方框内显示按"F5"继续运行字体,并注册F5消息处理disp_continue_message (WindowID, 'black', 'true') stop () * **** * step: segment image 步骤:图像分割 * **** * -> using a local threshold 使用局部阈值 * 对Image进行7*7均值滤波 mean_image (Image, ImageMean, 7, 7) ********************************************************************* *得到的图像为: * * * *用均值滤波图像作为二值化阈值图像,返回小于灰度值小于该点阈值-5的图像。 dyn_threshold (Image, ImageMean, DarkPixels, 5, 'dark') *************************************** ****得到的区域为:

机器视觉在线检测详解

广东省东莞市莞城区莞太路34号东莞市创意产业中心园区8座502 Unit 502, Building 8, Creative Industry Center Park, No. 34 Guantai Road, Guancheng District, Dong Guan 523000, P.R.China 机器视觉在线检测详解 机器视觉的一个重要应用就是进行在线检测。这个与物体静止时的视觉检测系统不同,最起码图像摄取的速度要足够快才行,不然就不可能在被测物体运动时获取足够清晰的图像,再一个就是机器视觉软件的图像处理能力也要足够强,分析判断周期要够短,不然等反应过来了,产品可能都已经走出次品剔除系统的工作范围了。这样的机器视觉在线检测就是不合格的。 1 机器视觉在线检测的基本原理 基于机器视觉的在线检测系统的基本原理:首先通过视觉传感器获取高速流水线上运动待检测物体图像,图像传送到计算机后,计算机调用专用的图像处理软件来对检测物体进行检测、测量、分析、判断。多功能检测实验平台的硬件结构如图1所示,机器视觉在线检测系统的基本模块包括:传动装置、专用LED光源、图像采集模块、电气控制模块。 2 多功能检测实验平台运动控制部分设计 在这套系统中,运动控制部分选用工业PC+运动控制卡+步进电机的控制模式。运动控制卡是步进电机公司的MPC01。它配备了许多功能强大、内容丰富的运动控制软件工具和函数库。MPC01运动函数库用于二次开发,用户只要用C/C++或Visual Basic等编制所需的用户界面程序,并把它与MPC01

运动库链接起来,就可以开发出自己的控制系统。 3 专用LED光源 光源对图像质量的影响是至关重要的,考虑到本套试验平台将要进行各种物品的检测实验,开发设计了多种专用LED照明方案以适应各种不同的待检物体。直环型用于各种具有稳定照度和清晰图像的工件;狭角型用于各种透明工件或低对比度工件;棒型用于透明、光滑、镀金表面;圆顶型用于不平整或弯曲的表面检测,金属包片上的印刷字体或弯曲表面的孔穴;背光型用于透明材料或液体的检测;同轴型用于光滑、电镀、低反射表面。 4 高速图像采集系统 图像采集部分将完成流水线上的运动图像获取,采集图像质量的好坏将直接影响整个检测效率。图像采集部分主要由CCD摄像机完成。CCD摄像机摄取图像信号,由图像采集卡将图像信号采集进来。本套实验装置选用两个方位的摄像机对待检测物体进行检测,一个俯拍位一个侧拍位,对有些待检测物体可以进行多方位的检测。摄像机采用的是Pulnix公司的TM6703,采集卡选用Matrox 公司的Comora2。 4.1 图像采集卡 Matrox Corona Ⅱ是Matrox Graphics Inc.生产的图像控制器,可采集隔行扫描/逐行扫描的分量RGB信号和单/双路黑白模拟视频信号;3路10bit A/D转换器;24-bit RS-422/LVDS数字接口;模拟情况下采集率达到30MHz,RS-422数字模式下达25MHz,LVDS数字模式下达40MHz;连接2个RGB 或6个模拟黑白视频信号;32-bit/33MHz PCI总线主模式;扩展板上实时采

人工智能课程大纲课程体系:《机器视觉技术》课程产品白皮书(2019V1.0)

《机器视觉技术》产品白皮书

目录 1引言........................................................................ - 3 -2产品概述.................................................................... - 4 - 2.1产品体系............................................................ - 4 - 2.2产品资源............................................................ - 5 -3产品介绍.................................................................... - 8 - 3.1机器视觉技术........................................................ - 8 - 3.1.1课程说明........................................................ - 8 - 3.1.2教学大纲....................................................... - 12 - 3.1.3教学指导....................................................... - 16 -4配套产品................................................................... - 19 - 4.1实验设备........................................................... - 19 - 4.2软件平台........................................................... - 24 -5技术支持................................................................... - 28 - 5.1.1升级服务....................................................... - 28 - 5.1.2师资培训....................................................... - 28 -

halcon学习笔记——实例篇 长度和角度测量+

halcon学习笔记——实例篇长度和角度测量实例二:长度和角度测量 素材图片: halcon代码: 1: *读取并截取图片 2: dev_close_window() 3: read_image (Image, 'D:/MyFile/halcon/长度和角度测量/图.png') 4: crop_rectangle1 (Image, ImagePart, 75, 0, 400, 400) 5: get_image_size (ImagePart, Width, Height) 6: dev_open_window (0, 0, Width, Height, 'black', WindowHandle) 7: dev_display (ImagePart) 8: 9: *获取图形的边界 10: threshold (ImagePart, Regions, 0, 112) 11: 12: *分离三角形和圆形

13: connection(Regions,ConnectedRegions) 14: sort_region(ConnectedRegions,SortedRegions,'upper_left','true','column') 15: select_obj(SortedRegions,Circle,1) 16: select_obj(SortedRegions,Triangle,2) 17: 18: *获取三角形各边的信息 19: skeleton(Triangle,TriangleSkeleton) 20: gen_contours_skeleton_xld(TriangleSkeleton,TriangleContours,1,'filter') 21: segment_contours_xld(TriangleContours,ContoursSplit,'lines_circles', 5, 4, 2) 22:select_contours_xld(ContoursSplit,SelectedContours, 'contour_length',100, 999, -0.5, 0.5) 23: fit_line_contour_xld (SelectedContours, 'tukey', -1, 10, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist) 24: 25: *计算三角形角度 26:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], Angle1) 27:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle2) 28:angle_ll (RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle3) 29: Angle1:=abs(deg(Angle1)) 30: Angle2:=abs(deg(Angle2)) 31: Angle3:=abs(deg(Angle3)) 32: 33: *获取圆的信息 34: area_center(Circle,AreaCircle, RowCircle, ColumnCircle) 35: 36: *计算圆心到三角形各边的距离 37: Distance := [] 38:for Index := 0 to 2 by 1 39:distance_pl (RowCircle, ColumnCircle, RowBegin[Index], ColBegin[Index], RowEnd[Index], ColEnd[Index], ThisDistance) 40: Distance := [Distance,ThisDistance] 41: endfor

数字图像处理角点检测方法研究毕业论文

数字图像角点特征检测方法研究

目录 引言 (3) 1 研究背景与发展 (6) 1.1研究背景 (6) 1.2研究现状和发展概述 (6) 1.3应用软件M ATLAB (7) 2 角点检测概念与原理 (9) 2.1角点的定义 (9) 2.2角点概念及特征 (9) 2.3角点检测意义 (9) 2.4角点检测原理 (10) 2.5角点检测技术的基本方法 (10) 2.5.1 基于模板的角点检测 (10) 2.5.2 基于边缘的角点检测 (11) 2.5.3 基于灰度变化的角点检测 (13) 3 角点算法概述 (14) 3.1角点检测的标准 (14) 3.2H ARRIS角点检测算子 (14) 3.2.1 Harris角点检测算子流程图 (19) 3.2.2 Harris角点检测算子的特点 (20) 3.2.3 Harris角点检测性质 (20) 3.2.4 Harris和Moravec算子角点检测实验结果 (21) 3.3一种改进的H ARRIS的算法 (23) 3.3.1试验结果 (24) 3.4S USAN角点检测算子 (25) 3.3.1 SUSAN角点检测一般步骤 (27) 3.3.2 Susan角点检测算子特点 (29) 3.3.3 Susan角点检测试验结果 (29) 4 其他算子简介 (33) 4.1小波变换算子 (33) 4.2F ORSTNER算子 (33) 4.3CSS角点检测算法 (35) 4.4ACSS角点检测算法 (36) 4.5各种角点检测算法的比较 (36) 结论 (39) 致谢 (41)

参考文献 (42) 附录1 HARRIS算法程序 (44) 附录2 MORA VEC算法程序 (46) 附录3 改进的HARRIS算法 (48) 附录4 SUSAN算法程序 (50)

实训一 机器视觉技术

实训一机器视觉技术 (一)机器视觉技术 1.目标→图像摄取装置(CMOS和CCD)→图像信号→图像处理系统→数字化信号 2.机器视觉系统组成部分:光源、镜头、相机、图像处理单元、图 象处理软件、监视器、输入/输出控制单元。 3.特点:提高生产的柔性和自动化程度。 4.应用:生产流水线的检测系统(汽车零件、纸币印刷质量)、智能 交通管理系统、金相分析、医疗图象分析、无人机、机器人等。 (二)机器视觉实训系统 大恒DHLAB-BASE-PY-AF型平移式机器视觉教学实验平台 组成部分:相机安装模块、光源安装模块、平台方形载板、运动控制面板 由组成部分可推测,在机器视觉系统识别物体时,相机的焦距、光源的种类、光圈的大小、曝光时间的长短、载板移动速度的大小都将会对获取图像产生不同的影响。 平台:速度可调;手动或自动运动模式; 摄像头:紧凑型数字摄像机 感光元件:1/1.8”CCD;分辨率为1628(H)x 1236(V);像素尺寸4.4um x 4.4um。

(三)实训内容 【1】一维条码检测 1. 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符,在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。 2. 摄像机位置离检测平面大概47cm,光源离检测平面约36cm。 3. 实验步骤如下: ①放置条形码在载物平台上,使其处于镜头正下方; ②调整焦距、改变光圈大小,使物体清晰,对比度高、明暗适中; ③利用计算机软件控制相机对物体成像; ④通过改变曝光量、增益、光源、载物台移动速度,观察成像结果并加以比较。 ⑤结果如下: 条形码A 不开光圈、无速度曝光量增益识别结果 1000 0 没有图像 2500 0 不能识别 60000 0 正确识别 60000 5 正确识别 60000 6.4 错误识别 60000 7 没有图像条形码B 不开光圈、无速度曝光量增益识别结果 60000 2 没有图像 60000 6.4 正确识别 60000 20 错误识别 35000 6.4 不能识别 40000 6.4 正确识别 开光圈曝光量增益识别结果 60000 6.4 没有图像 2000 6.4 正确识别 速度曝光量增益识别结果 小60000 6.4 正确识别

基于机器视觉的表面缺陷检测系统设计

编号 本科生毕业设计 基于机器视觉的表面缺陷检测系统设计 Surface defect detection system design based on machine vision 学生姓名 专业电子信息工程 学号 指导教师 学院电子信息工程学院 二〇一三年六月

毕业设计(论文)原创承诺书 1.本人承诺:所呈交的毕业设计(论文)《基于机器视觉的表面缺陷检测系统设计》,是认真学习理解学校的《长春理工大学本科毕业设计(论文)工作条例》后,在教师的指导下,保质保量独立地完成了任务书中规定容,不弄虚作假,不抄袭别人的工作内容。 2.本人在毕业设计(论文)中引用他人的观点和研究成果,均在文中加以注释或以参考文献形式列出,对本文的研究工作做出重要贡献的个人和集体均已在文中注明。 3.在毕业设计(论文)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。 4.本人完全了解学校关于保存、使用毕业设计(论文)的规定,即:按照学校要求提交论文和相关材料的印刷本和电子版本;同意学校保留毕业设计(论文)的复印件和电子版本,允许被查阅和借阅;学校可以采用影印、缩印或其他复制手段保存毕业设计(论文),可以公布其中的全部或部分内容。 以上承诺的法律结果将完全由本人承担! 作者签名:年月日

中文摘要 为了不断提高产品质量和生产效率,金属工件表面缺陷在线自动检测技术在生产过程中显得日益重要。针对金属工件表面的多种缺陷,本文设计了一套基于机器视觉能够实现对金属工件表面缺陷进行实时在线、无损伤的自动检测系统。该系统采用面阵CCD和多通道图像采集卡作为图像采集部分,提高了检测系统的速度并降低了对CCD的性能要求,使系统在现有的条件下比较容易实现实时在线检测;采用自动选取图像分割阈值,根据实际应用的阈值把工件信息从图像中提取出来并扫描工件图像中的信息,实现了系统的自动测量;根据扫描得到的工件信息去除掉工件边缘的光圈,利用自动选取的阈值对金属工件表面的图像进行二值化分割,从而实现各种缺陷的自动提取及识别。 关键词:机器视觉表面缺陷CCD 图像处理缺陷检测

机器视觉算法开发软件----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分析;

机器视觉与智能检测创新实践

《机器视觉与智能检测创新实践》课程设计报告 题目:基于可见光红外光图像的处理 班级: 姓名: 学号: 指导老师: 日期:

一、实验目的 机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。本实验的目的就是通过学生自身动手实验,使学生对机器视觉系统及图像处理有一定的认识。同时加深学生的动手能力和培养学生的创新能力。 二、实验设备 机器视觉实验平台,计算机,Matlab软件等 三、实验任务 (1)对采集的近红外图像进行增强、分割和细化(自己挑选成像效果较好的手背或手掌的近红外图像) 1、了解增强、分割和细化等处理的概念和效果并编程实现增强、分割和细化; 2、分别比较不同增强、分割和细化方法的优劣 (2)对采集到的可见光手掌图像进行分割得到手掌及手指的轮廓。

四、相关概念介绍 1、光谱 光谱是复色光经过色散系统(如棱镜、光栅)分光后,被色散开的单色光按波长(或频率)大小而依次排列的图案,如图1所示。 光波是由原子内部运动的电子产生的。各种物质的原子内部电子的运动情况不同,所以它们发射的光波也不同。研究不同物质的发光和吸收光的情况,有重要的理论和实际意义,已成为一门专门的学科——光谱学。 图1 可见光的光谱图 种类:发射光谱物体发光直接产生的光谱叫做发射光谱。发射光谱有两种类型:连续光谱和明线光谱。 连续分布的包含有从红光到紫光各种色光的光谱叫做连续光谱。炽热的固体、液体和高压气体的发射光谱是连续光谱。例如电灯丝发出的光、炽热的钢水发出的光都形成连续光谱。 只含有一些不连续的亮线的光谱叫做明线光谱。明线光谱中的亮线叫做谱线,各条谱线对应于不同波长的光。稀薄气体或金属的蒸气的发射光谱是明线光谱。明线光谱是由游离状态的原子发射的,所以也叫原子光谱。

Harris角点检测算法编程步骤及示例演示

Harris角点检测算法编程步骤及示例演示 也不说那么多废话了,要介绍啥背景意义之类的,角点检测,顾名思义,就是检测角点,最简单的就是两条线的交点了,还有比如下国际象棋的棋盘格子的交点之类的,反正就是检测这些点。 简单将Harris角点检测算法的思想说下,就是拿一个小窗在图像中移动,通过考察这个小窗口内图像灰度的平均变换值来确定角点。(1)如果窗口内区域图像的灰度值恒定,那么所有不同方向的偏移几乎不发生变化; (2)如果窗口跨越一条边,那么沿着这条边的偏移几乎不发生变化,但是与边垂直的偏移会发生很大的变化; (3)如果窗口包含一个孤立的点或者角点,那么所有不同方向的偏移会发生很大的变化。 下面给出具体数学推导: 设图像窗口平移量为(u,v),产生的灰度变化为E(u,v), 有E(u,v)=sum[w(x,y)[I(x+u,y+v)-I(x,y)]^2],其中w(x,y)为窗口函数, I(x+u,y+v)为平移后的灰度值,I(x,y)为平移前的灰度值。 有泰勒公式展开可得: I(x+u,y+v)=I(x,y)+Ix*u+Iy*v+O(u^2,v^2); Ix,Iy分别为偏微分,在图像中为图像的方向导数. 因此E(u,v)=sum[w(x,y) [Ix*u+Iy*v+O(u^2,v^2)]^2], 可以近似得到E(u,v)=sum[w(x,y) [Ix*u+Iy*v]^2],即 E(u,v)=[u,v][Ix^2,Ix*Iy;Ix*Iy,Iy^2][u,v]T

令M=[Ix^2,Ix*Iy;Ix*Iy,Iy^2],因此最后对角点的检测成了对矩阵M的特征值的分析了,令M其特征值为x1,x2; 当x1>>x2或者x2>>x1,则检测到的是边缘部分; 当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化. 当X1,X2都很大时且相当,检测到的是角点。 编程时用x1,x2不方便,因此定义角点响应函数; R=det(M)-k(trace(M))^2; 其中det(M)为矩阵M的行列式,trace(M)为矩阵M的迹。 下面给出更具数学公式实际编程的步骤: 1.利用水平,竖直差分算子对图像的每个像素进行滤波以求得 Ix,Iy,进而求得M中的四个元素的值。 M=[Ix^2,Ix*Iy;Ix*Iy,Iy^2] 2.对M的四个元素进行高斯平滑滤波,为的是消除一些不必要 的孤立点和凸起,得到新的矩阵M。 3.接下来利用M计算对应每个像素的角点响应函数R,即: R=det(M)-k(trace(M))^2; 也可以使用改进的R: R=[Ix^2*Iy^2-(Ix*Iy)^2]/(Ix^2+Iy^2);里面没有随意给定的参数k,取值应当比第一个令人满意。 4.在矩阵R中,同时满足R(i,j)大于一定阈值threshold和R(i,j)

机器视觉测量实验报告

《机器视觉应用实验报告》 姓 名 黄柱汉 学 号 201341304523 院 系 机械与汽车工程学院 专 业 仪器仪表工程 指导教师 全燕鸣 教授 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和IEEE 1394驱动的采集设备,用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件,具有良好的跨平台移植性和较快的执行速度。 本实验包括对被测工件进行尺寸测量和表面缺陷检测。尺寸测量是通过使用机器视觉来对考察对象的尺寸、形状等信息进行度量;缺陷检测是通过机器视觉手段来分析零部件信息,从而判断其是否存在缺陷。

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机器视觉试验平台设计方案与研究报告

封面

作者: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

跟我学机器视觉-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) 再重新运行程序,此时在读取到的条码在图像中写出来了。如下图:

相关主题