机器视觉技术及应用全套课件完整版电子教案最新板_第1页
机器视觉技术及应用全套课件完整版电子教案最新板_第2页
机器视觉技术及应用全套课件完整版电子教案最新板_第3页
机器视觉技术及应用全套课件完整版电子教案最新板_第4页
机器视觉技术及应用全套课件完整版电子教案最新板_第5页
已阅读5页,还剩458页未读 继续免费阅读

下载本文档

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

文档简介

1、 机器视觉技术及应用第1章 绪论主要内容机器视觉技术发展与应用 机器视觉系统组成 机器视觉方法分类 机器视觉发展趋势 机器视觉是用机器代替人眼进行目标对象的识别、判断和测量,主要研究用计算机来模拟人的视觉功能。机器视觉技术涉及目标对象的图像获取技术、对图像信息的处理技术以及对目标对象的测量和识别技术。在工业生产过程中,相对于传统测量检验方法,机器视觉技术的最大优点是快速、准确、可靠与智能化,对提高产品检验的一致性、产品生产的安全性、降低工人劳动强度以及实现企业的高效安全生产和自动化管理具有不可替代的作用。 第1章 绪论1.1 机器视觉技术发展与应用 机器视觉技术是一项综合技术,包括视觉传感器技

2、术、光源照明技术、光学成像技术、数字图像处理技术、模拟与数字视频技术、计算机软硬件技术和自动控制技术等。机器视觉技术的特点不仅在于模拟人眼功能,更重要的是它能完成人眼所不能胜任的某些工作。 51.1.1 机器视觉技术发展现状 人类感知外部世界主要是通过视觉、触觉、听觉和嗅觉等感觉器官,其中约80的信息是通过视觉器官获取的。机器视觉系统就是通过摄像机和计算机来对外部环境进行测量、识别和判断。但是,机器视觉和人类视觉有着本质上的不同,机器视觉系统主要应用于不适合人工作业或者人类视觉无法达到要求、以及高速大批量工业产品制造自动生产流水线的一些场合。 1.1.1 机器视觉技术发展现状20世纪70年代,

3、David Marr提出了视觉计算理论,明确规范了视觉研究体系。计算机视觉以视觉计算理论为基础,为视觉研究提供了统一的理论框架。 上世纪80年代以来,并经历了从实验室走向实际应用的发展阶段,从简单的二值图像处理到高分辨率多灰度的图像处理以至于彩色图像处理,从一般的二维信息处理到三维视觉模型和算法的研究都取得了很大进展。 1.1.1 机器视觉技术发展现状目前,发展最快、使用最多的机器视觉技术主要集中在欧美、日本等发达国家和地区。在国内,机器视觉技术产品普及还不够深入,国内在机器视觉产品与国外先进的机器视觉技术与设备相比还有较大的差距。在科研领域,涌现出大量机器视觉科研机构和学者,对机器视觉算法研

4、究取得了长足进步,但未能将机器视觉应用技术列入教学计划和课程体系。因此加快发展我国自主知识产权的机器视觉产品是当务之急,在高等院校自动化专业、计算机专业、机电一体化专业开设机器视觉应用技术与系统实验也迫在眉睫。 1.1.2 机器视觉技术的应用在工业检测中的应用: 工业检测是指在工业生产中运用一定的测试技术和手段对生产环境、工况、产品等进行测试和检验。随着现代工业的发展和进步,特别是在一些高精度加工产业,传统的检测手段已远远不能满足生产的需要。机器视觉技术在微尺寸、大尺寸、复杂结构尺寸和异型曲面尺寸检测中具有突出的优势和特点,还包括印刷电路板检查、钢板表面自动探伤、大型工件平行度和垂直度测量、容

5、器容积或杂质检测、机器零件的自动识别和分类等。1.1.2 机器视觉技术的应用在医学诊断中的应用 一是对图像进行增强、标记等,帮助医生诊断疾病,协助医生对感兴趣的区域进行测量和比较;二是利用专家知识系统对图像进行分析和解释,给出建议诊断结果。 在智能交通中的应用 机器视觉技术在智能交通中可以完成自动导航、交通状况监测、目标车辆跟踪等任务。1.2 机器视觉系统组成 典型的视觉检测系统的构成:1.2.1 系统硬件 1.2.2 组态软件作为机器视觉系统的重要组成部分,机器视觉软件主要通过对图像的分析和处理,实现对待测目标特定参数的检测和识别。机器视觉软件主要完成图像增强、图像分割、特征抽取、模式识别、

6、图像压缩与传输等算法内容,有些还具有数据存储和网络通信功能。 1.2.2 组态软件目前机器视觉软件主要向高性能与可组态两方面发展。一方面,机器视觉软件的竞争已从过去单纯追求软件多功能化转向对检测算法的准确性、高效性的竞争;另一方面,机器视觉软件正由定制方式朝着通用、可视化组态方式发展。 目前市场上已有的通用组态软件主要是国外的HALCON、IGauge和WiT等,这些软件技术较为成熟、功能丰富,但价格昂贵,不便在国内推广。1.2.2 组态软件西安交通大学自动控制研究所在机器视觉组态软件开发方面进行了大量工作,研发成功具有自主知识产权的机器视觉组态软件XAVIS。它是一款可供机器视觉教学和机器视

7、觉测控系统二次开发的大型视觉组态软件,其功能特点完全可以与HALCON、IGauge等国外大型机器视觉软件相媲美,并配备了完整的学习文档和教学创新实验设备。 尺寸检测 在传统的尺寸测量中,典型的方法是利用卡尺或千分尺在被测工件上针对某个参数进行多次测量后取平均值。这些检测设备或检测手段测量精度低、测试速度慢,测试数据无法及时处理,不适合自动化的生产。基于机器视觉的尺寸测量方法具有成本低、精度高、安装简易等优点,其非接触性、实时性、灵活性和精确性等特点可以有效的解决传统检测方法存在的问题。1.3 机器视觉方法分类1.3 机器视觉方法分类 被测物的尺寸测量通常包括多个参数尺寸,如距离测量、圆测量、

8、角度测量、线弧测量、区域测量等。 (a)工件齿宽与间距测量 (b)荫罩孔径自动检测判定系统缺陷检测 在现代工业连续、大批量自动化生产中,涉及到各种各样的质量检测,如工件表面是否有划痕、印刷品是否有油污或破损、字符印刷正误和电路板线路正误检查等。机器视觉检测法,即利用图像处理和分析对产品可能存在的缺陷进行检测,这种方法采用非接触的工作方式,安装灵活,测量精度和速度都比较高。同一台机器视觉检测设备可以实现不同产品的多参数检测,为企业节约大笔设备开支。 1.3 机器视觉方法分类1.3 机器视觉方法分类利用机器视觉技术完成产品缺陷检测的一些实例,包括陶瓷镯、瓶盖、电池、镜头等。 缺陷检测实例 1.3

9、机器视觉方法分类模式识别 模式识别的应用非常广泛,目前技术比较成熟的有文字识别(手写汉字输入、票据自动识别和处理等 )和语音识别(主要用于语音输入、自动翻译、声音识别等 )、生物特征与生物信息处理(包括指纹识别、声音识别、人脸识别、虹膜识别、笔迹识别、步态识别等个人身份鉴定技术 )、视觉与图像分析(用于农作物估产、资源勘察、气象预报和军事侦察等 )等三大类。 1.3 机器视觉方法分类钥匙识别实例: (a)待测对象 (b)识别结果1 (c)识别结果2 图像融合 基本原理是利用多幅图像间在时间或空间上的冗余或互补信息,依据一定的融合算法合成一幅满足某种需要的新图像。例如,红外传感器可以探测目标的工

10、作状态,可见光图像则包含丰富的细节信息,它们的融合较单一传感器而言,可以大大提高目标的可探测性和识别可靠性。 1.3 机器视觉方法分类 图像融合技术的应用: (a)CT图像 (b)NMR图像 (c)融合结果1.3 机器视觉方法分类视觉跟踪 视觉跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,如位置、速度、加速度和运动轨迹等,进而实现对运动目标的行为理解,以完成更高一级的检测任务。视觉跟踪在很多领域都有非常重要的作用,最常见的是对于民宅、停车场、银行等公共场合的监视。1.3 机器视觉方法分类交通场景中对运动车辆的跟踪结果:(a)目标模型选取 (b)图像序列第18

11、8帧 (c)图像序列第194帧 1.3 机器视觉方法分类 1.3 机器视觉方法分类三维重构 三维重构是通过分析一幅或者多幅图像的灰度信息,结合某些先验知识获得物体三维表面形状的技术。在医疗方面,外科手术时,可以利用器官的三维形状数据协助诊断组织局部的病变状况;在空间技术方面,通过对卫星返回的地表图像进行三维形状恢复,可以获得星球表面山峦河流等地貌分布,进一步建立该地区的全景模型,进行地质结构分析等;在工业检测中,利用工件的三维几何信息进行多维度的特征提取和识别,有助于提高工件识别效率。 下图是利用三维重构技术恢复人体某器官内部三维形状的结果 :1.3 机器视觉方法分类1.4 机器视觉发展趋势机

12、器视觉的未来发展趋势主要包含以下几方面:多传感器信息融合方法研究深层初级视觉理论和方法研究主动视觉的研究完整三维场景重构视觉并行计算结构的研究通用视觉信息系统的研究 随着中国加工制造业的发展,对于机器视觉技术与产品的需求将逐渐增多,机器视觉产品将更加丰富,检测技术水平不断提高,基于机器视觉的自动化检测系统将广泛用于生产生活的各种领域和场合。机器视觉系统将使人们的生产活动朝着更智能、更便捷的方向发展。 1.4 机器视觉发展趋势END第2章 机器视觉硬件技术主要内容镜头技术摄像机技术光源技术 图像采集卡摄像机标定技术ZM-VS1200机器视觉教学实验平台在人类感知外部信息的过程中,通过视觉获得信息

13、占全部获取信息量的75以上。模拟生物宏观视觉功能的图像传感器得到越来越多的关注。随着机器视觉理论的长足进步,给其应用带来千载难逢的机遇。以基于机器视觉的现代测控技术在现代工业、农业、国防以及科学研究等众多领域得到了广泛应用。第2章 机器视觉硬件技术据估计,全球图像处理市场以每年8.8的速度迅速增长。从近两年机器视觉国际博览会上看,机器视觉检测软硬件平台产品主要来自日本、韩国和加拿大等国家,但价格昂贵。国内在此方面研究相对较晚,还未见正式视觉检测平台产品。我们在此方面进行了卓有成效的研究开发工作,推出了ZM-VS1300视觉测控平台,应用于产品尺寸测量判定、缺陷划痕检测以及集成芯片管脚测量等具体

14、项目上,为实施视觉测控系统的国产化奠定了基础。第2章 机器视觉硬件技术光源为视觉系统提供足够的照度,镜头将被测场景中的目标成像到视觉传感器(CCD)的靶面上,将其转变为电信号,图像采集卡将电信号转变为数字图像信息,即把每一点的亮度转变为灰度级数据,并存储为一幅或多幅图像;计算机实现图像存储、处理,并给出测量结果和输出控制信号。视觉检测处理系统框图(微观宏观) 第2章 机器视觉硬件技术第2章 机器视觉硬件技术第2章 机器视觉硬件技术 右图为某机器视觉系统设备实物图。从图中可以看出该机器视觉系统设备由前光源、背光源、数字摄像机、计算机组成。待检测工件放置于背光源上的成像台上,数字相机对其进行图像采

15、集,进而将采集的图像及其处理结果在计算机上显示。2.1 镜头技术 镜头是集聚光线,使成像单元能获得清晰影像的结构。光学镜头目前有监控级和工业级两种,监控级镜头主要适用于图像质量不高、价格较低的应用场合;工业级镜头由于图像质量好、畸变小、价格高,主要应用于工业零件检测和科学研究等应用场合。视场角和焦距是光学镜头最重要的技术参数,滤光镜的使用也是镜头技术的重要组成部分。2.1.1 视场角2.1.2 焦距焦距是从镜片中心到底片或CCD等成像平面的距离。 镜头焦距的长短决定着视场角的大小,焦距越短,视场角就越大,观察范围也越大,但远物体不清楚;焦距越长,视场角就越小,观察范围也越小,很远的物体也能看清

16、楚,短焦距的光学系统比长焦距的光学系统有更佳聚集光的能力。2.1.2 焦距 以CCD为例,计算焦距参考如下公式: 其中d为CCD尺寸,这里注意景物范围和d要保持一致性,即同为高或同为宽。实际选用时还应留有余量,应当选择比计算值略小的焦距。 2.1.3 自动调焦 自动调焦相机的调焦利用电子测距器自动进行,当采集图片时,根据被摄目标的距离,电子测距器可以把前后移动的镜头控制在相应的位置上,或旋转镜头至需要位置,使被摄目标成像达到最清晰。自动调焦有几种不同的方式,目前应用最多的是主动式红外系统。从相机发光元件发射出一束红外线光,照射到被摄物主体后反射回相机,感应器接收到回波。相机根据发光光束与反射光

17、束所形成的角度来测知拍摄距离,实现自动对焦。 2.1.4 滤光镜滤光镜原理能按照规定的需要改变入射光的光谱强度分布或使其偏振状态发生变化。 滤光镜样品 滤光镜对不同波长光波的光通量 2.2 摄像机技术摄像机是获取图像的前端采集设备,它以面阵 CCD 或CMOS图像传感器为核心部件,外加同步信号产生电路、视频信号处理电路及电源等组合而成。它是机器视觉系统中不可或缺的重要组成部分。摄像机采集图像质量的好坏直接影响后期图像处理的速度与效果。所以选取一个各项指标符合要求的摄像机至关重要。 2.2 摄像机技术 图像传感器 CCD电荷耦合器件摄像机(Charge Coupled Device):感光像元在

18、接收输入光后,产生电荷转移,形成输出电压。分为线阵和面阵两种。性价比高,受到广泛应用。CMOS摄像机(Complementary Metal Oxide Semiconductor):互补金属氧化物半导体,体积小、耗电少、价格低,在光学分辨率、感光度、信噪比和高速成像等已超过CCD。2.2.1 数字摄像机数字摄像机主要由感光传感器(CCD或CMOS)、模数转换器(A/D)、图像处理器(DSP)、图像存储器(Memory)、液晶显示器(LCD)、端口、电源和闪光灯等组成;原理:利用光电传感器(CCD或CMOS)的图像感应功能,将物体反射的光转换为数码信号,经压缩后储存于内建的存储器上。优点:具有

19、很强的稳定性和噪声抑制能力,能提供高分辨率的图像信息。2.2.2 分辨率相机分辨率 机器视觉领域的相机分辨率就是其能够拍摄最大图片的面积,通常以像素为单位,分辨率越大,图片的面积越大,文件(容量)也越大。通常,分辨率表示成每一个方向上的像素数量,比如640480,那它的分辨率就达到了307200像素,也就是常说的30万像素。2.2.3 帧速帧速指视频画面每秒钟传播的帧数,用于衡量视频信号传输的速度,单位为帧/秒(fps)。 动态画面实际上是由一帧帧静止画面连续播放而成的,机器视觉系统必须快速采集这些画面并将其显示在屏幕上才能获得连续运动的效果。采集处理时间越长,帧速就越低,如果帧速过低的话画面

20、就会产生停顿、跳跃的现象。 一般对于机器视觉系统来说,每秒60帧较为理想。2.2.4 智能相机 智能相机(Smart Camera)是一种高度集成化的微小型机器视觉系统。它将图像的采集、处理与通信功能集成于单一相机内,从而提供了具有多功能、模块化、高可靠性、易于实现的机器视觉系统。同时,由于应用了最新的DSP、FPGA及大容量存储技术,其智能化程度不断提高,可满足多种机器视觉的应用需求。2.2.4 智能相机智能相机的组成 图像传感单元:CCD/CMOS相机,它将光学图像转换为模拟图像。 图像采集单元:图像采集卡,模拟图像转化为数字图像,并进行实时的存储。 图像处理软件:如几何边缘的提取、图像的

21、滤波和降噪、灰度直方图的计算、简单的定位和搜索等。网络通信装置:完成控制信息、图像数据的通信任务。 2.2.4 智能相机工业智能相机测控装置同时检测工件的五种参数,检测速度达500件/分钟,已成功用于工业产品尺寸、缺陷、形状参数的高速检测、NG判定与分拣控制。工业智能相机测控装置及其应用 2.2.5 相机接口IEEE 1394(FireWire)接口:即插即用串行接口,可同时支持63个像机,每个相距4.5米,最远可达72米。支持800Mbits/s甚至3200Mbits/s的传输速度。 USB 接口:是一种应用非常普遍的串型接口 。传输速率可达480Mbits/s,可供多达127个设备同时使用

22、。每根USB接线长度可达5米,和Hub 配合使用可以使距离达到30米。USB连线上提供了5V、500mA的电源。 2.3 光源技术光源是机器视觉系统中的关键组成部分,在机器视觉系统中十分重要。光源的主要功能是以合适的方式将光线投射到待测物体上,突出待测特征部分对比度。好的光源能够改善整个系统的分辨率,减轻后续图像处理的压力。 对于不同的检测对象,必须采用不同的照明方式才能突出被测对象的特征,有时可能需要采取几种方式的结合,而最佳的照明方法和光源的选择往往需要大量的试验才能找到。2.3.1 前光源前光源是指放置在待测物前方的光源,主要应用于检测反光与不平整表面。印刷式字符采用高角度照明方式效果较

23、好,而刻字式字符采用低角度照明效果俱佳。 2.3.1 前光源轮胎上的数字编号凸出于轮胎侧表面,且与背景颜色相同,因此很难判别。但是采用前光源高角度照明法可以在相片上产生微妙的“凸出”效果,数字编号可清晰的浮现出来。 待测轮胎 高角度照明法下轮胎数字编号的图片 2.3.1 前光源在检测轮盘上的字符时,鉴于文字是刻在涂层表面上,采用低角度照明法,采集的图片中原本凹陷入轮盘里的字符与背景形成了鲜明的对比,十分易于后续图像处理。 待测轮盘 低角度照明法下轮盘字符的图片 2.3.1 前光源在检测生产线上黄油瓶盖上的点式印刷字符是否合格时,通过采用合适的前光源技术,拍摄图像中点阵字符的每个点都清晰可见。

24、前光源照明法下瓶盖印刷字符的图片2.3.2 背光源背光源放置于待测物体背面。 主要应用于被测对象的轮廓检测、透明体的污点缺陷检测、液晶文字检查、小型电子元件尺寸和外形检测、轴承外观和尺寸检查、半导体引线框外观和尺寸检查等。 2.3.3 环形光源环形光源与CCD镜头同轴安放,一般与镜头边缘相对齐。环形光源的优点在于可直接安装在镜头上,与待测物体距离合适时,可大大减少阴影、提高对比度,实现大面积荧光照明。环形光源对检测高反射材料表面的缺陷极佳,非常适合电路板和BGA(球栅阵列封装)缺陷的检测。 2.3.3 环形光源用蓝色环形光源照射待测BGA焊点和金属导线,既去除了金属导线图案又突出了焊点,图像中

25、仅焊点部分呈白色。还可清晰看到左上方的瑕疵。 (a)待测BGA焊点 (b)蓝色环形光源下BGA焊点的图片2.3.3 环形光源a中电容器上的白色印刷字符与黑色背景形成鲜明对比图b中水晶振荡器上的印刷字符也突出于金属外壳之上 a 用环形光源拍摄电容器图片 b用环形光源拍摄晶振图片 电子元器件字符检测2.3.4 点光源结构紧凑,能够使光线集中照射在一个特定距离的小视场范围。点光源为机器视觉中的待测物提供明亮、均匀的光照,使拍摄的图像对比度高。 实物图 安装方式2.3.4 点光源检测凸轮齿轮损伤缺陷时,可采用平行度较高的点光源照明 (a)凸轮齿轮 (b)点光源照射下凸轮表面图像 凸轮缺陷检测2.3.4

26、 点光源检测一维条形码也可以选用点光源直接照射感兴趣区域(a)待测一维条码 (b)点光源下条形码图像 条码检测2.3.5 可调光源可调光源是通过电流调整器、亮度控制器或频闪控制器来调整光源亮度或频闪速度的一种光源。电流调整器和亮度控制器:包括单信道与双信道输出的恒流控制器,四信道带触摸屏的亮度控制器,RGB光源彩色分量调节控制器。 频闪控制器:一种为LED光源提供频闪电源和连续控制的直流电源控制器,主要用于实现对最新一代高电流LED光源、大面积线组光源,也包括大面积表面贴片背光源的控制。 2.4 图像采集卡图像采集卡结构框架 2.5 摄像机标定技术空间物体表面某点的三维几何位置与其在图像中对应

27、点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数,为了得到这些参数而进行的实验与计算的过程称为摄像机标定。在标定过程中通常要利用数学方法对从数字图像中获得的数据进行处理。通过这些数学处理,可以得到摄像机的内部和外部参数。2.5.1 成像几何模型其中, 是在摄像机坐标系中的三维坐标。 是理想小孔摄像机模型下 点的物理图像坐标,单位为毫米,f为焦距。 是计算机图像坐标系中空间任意一点 点的成像点的实际图像坐标,单位是像素数。 2.5.1 成像几何模型由于图像点的像素坐标 表示的是像素位于数字图像数组中的行数和列数,并没有用物理单位表示该像素在图像中的位置,因此建立了以

28、物理单位(毫米)来表示的图像物理坐标系 ,它与 图像像素坐标系的关系如下图所示: 2.5.1 成像几何模型得空间点的实际三维坐标与像素坐标之间的关系如下: M1只与摄像机内部结构有关,称为摄像机内部参数;M2只与摄像机相对于世界坐标系的方位有关,称为摄像机外部参数;X为空间点在世界坐标系下的齐次坐标,M为 矩阵,称为透视变换矩阵。 2.5.2 典型标定方法 利用最优化算法的摄像机标定方法直接线性变换方法使用的模型是:不失一般性,可以令 。如果知道 个标准参照物的控制点的坐标 以及其对应的图像上的坐标 ,11个参数就可以用线性最小二乘算法计算。2.5.2 典型标定方法在实际运用过程中,当考虑非线

29、性畸变时直接线性变换方法中图像点与三维空间中控制点的对应关系则是: 是标准参照物上的三维控制点坐标,且 是标准参照物上控制点对应的实际图像坐标,这些图像点利用数字图像处理技术获得。 是校正后的图像点坐标, 和 是在图像点处的镜头畸变校正,通过相应的优化算法计算得到。 2.6 ZM-VS1200机器视觉教学实验平台该平台由以下几部分组成:光源、镜头、CCD摄像机、架杆、机械转动盘、光电传感器、及图像处理模块等。平台软件使用XAVIS机器视觉组态软件。 2.6 ZM-VS1200机器视觉教学实验平台机器视觉组态软件XAVIS最基本的实验功能如下:1尺寸测量:实现工件的多参数的尺寸测量和显示2配准测

30、量:实现工件的配准定位测量与判定3跟踪测量:实现运动物体的图像跟踪测量与识别4光学字符识别:实现光学字符的测量、处理和识别5条形码识别:实现条形码的测量、处理和识别6划痕检测:实现各类工件表面划痕的测量、处理和标定7缺陷检测:实现各类工件表面缺陷的测量、识别和标定8焊点检测:实现PCB焊点缺陷检测、识别和分类9形状匹配:实现复杂图像工件形状的测量与识别END第3章 机器视觉组态软件XAVIS主要内容XAVIS简介XAVIS基本操作 XAVIS基本函数XAVIS接口技术XAVIS编程实例3.1 XAVIS简介组成: 人机交互界面、数据和代码管理模块以及算法库 最大特点: 采用开放式结构提高开发效

31、率3.2 XAVIS基本操作选择函数和参数来创建一个程序 执行函数并将其插入到程序代码中动态地调整和检查产生的程序 显示结果(变量) 3.2.1 主窗口主窗口分为五个区域:标题栏菜单栏工具栏窗口区域状态栏组态模式框架 视图组态视图定制 运行模式 3.2.2 子窗口主窗口包括四个子窗口:视图显示窗口参数设置窗口变量信息窗口程序编译窗口3.2.2 子窗口为方便代码操作,编译窗口工具区提供五个按钮,各按钮作用如下:图标按钮功能注释当前选中语句,程序运行时被注释的语句不会执行;当前选中语句上移一行;当前选中语句下移一行;删除当前选中语句;撤销上次操作。3.2.3 操作示例3.2.3 操作示例3.3 X

32、AVIS基本函数XAVIS软件是由C语言开发的,其语法和语义有一定的特殊性和独立性,包括参数类型、文件操作、控制函数和显示函数等。3.3.1 参数类型按照数据显示方式的不同,可分为控制数据(数值、字符串和区域)和图标数据(图像)按照应用目的的不同,可分为输入参数和输出参数XAVIS支持的数据类型有10种 3.3.1 参数类型数据类型说明IntInts整型数据整型数组DoubleDoubles双精度型数据双精度型数组CRectCRects矩形区域矩形区域数组CStringCStrings字符串字符串数组CDibCDibs位图位图数组XAVIS支持的数据类型 3.3.2 文件操作Readimage

33、函数 打开各种标准图片类型Writeimage函数 将图像句柄保存为文件 Showimage函数 将图像显示在图像窗口中Readimage(c:rgb.bmp,image);/打开c:rgb.bmp文件并存入图像句柄image中Readimage(th1.bmp,image1);/打开XAVIS默认图像目录下的th1.bmp文件并存入图像句柄image1中Writeimage(c:rgb1.bmp,image);/将image存为C:rgb1.bmp文件Readimage(C:rgb.bmp,image);Showimage(image);3.3.3 控制函数XAVIS提供了以下控制函数:if

34、条件判断函数 if(value_if); /中间代码 endif();for循环控制函数 for(param_for=begin_for,end_for,step_for); /中间代码 endfor();while循环控制函数 while(value_while); /中间代码 end();3.3.4 功能函数XAVIS提供29个功能函数用于辅助开发,共分为5类。1. 区域操作函数函数功能Drawrectangle(rect)让用户选择一个矩形区域Showrectangle(rect)在图上显示一个矩形区域SetRect(X1,Y1,X2,Y2,rect)构造矩形区域RectConvertT

35、oPoint(rect,x1,y1,x2,y2)将矩形区域转化为坐标值3.3.4 功能函数2. 窗口控制函数 函数功能SetColor(penwidth,color)设置画笔宽度和颜色SetWindowSize(width,height)设置视图显示窗口的大小3.3.4 功能函数3. 绘图函数 函数功能GenText(x, y,nWeight, textstr)输出字符信息GenTexts(x, y,Weight, textstr,color)输出多个字符信息GenCircle(x,y,radius)在图上画一个圆GenCircles(x,y,radius)在图上画多个圆Genline(x1,

36、y1,x2,y2)在图上画一条线段Genlines(x1,y1,x2,y2)在图上画多条线段Genrectangle(x1,y1,x2,y2)在图上画一个矩形框Genrectangles(x1,y1,x2,y2)在图上画多个矩形框GenCross(x,y)在图上画一个十字GenCrosses(x,y)在图上画多个十字GenPolyline(x,y)在图上画一个多边形3.3.4 功能函数4. 数组和字符串控制函数 函数功能GetIlength(x,length)得到整形数组长度GetDlength(x,length)得到double数组长度SetIlength(x,length)设置整形数组长度

37、SetDlength(x,length)设置double数组长度CStringFormat(str_in,str_out);构造字符串DoubleToInt(dx,ix)双精度浮点型转整型IntToDouble(dx,ix)整型转双精度浮点型3.3.4 功能函数5. 辅助功能 函数功能TimerBegin(time1)开始计时TimerEnd(time1,time2)停止计时Sleep(time)使程序暂停一定时间SetScaler(pix,realvalue)设置图像比例尺GetRealValue(pix,realvalue)由比例尺计算实际尺寸3.3.5 扩展函数 XAVIS提供两类扩展函

38、数用于对图像采集器的支持。一类是用于操作相机;一类是提供I/O接口用于各种控制设备辅助对相机的操作。函数功能OpenFrame(ImageWidth,ImageHeight,preWidth,preHeight,exposure,kind)打开并设置相机GrabFrame(Image)相机采集图像StopFrame()停止相机OutControl(channel,state)设置I/O口状态ReadIOControl(channel,state)读取I/O口状态3.4 XAVIS接口技术 XAVIS通过动态链接库技术设计实现了可扩展性接口,用户可以通过该接口自由添加新算法,更新算法库。 3.4

39、.1 动态链接库技术 动态链接库(DLL)是一个包含可由多个程序同时使用的代码和数据的库。通过使用DLL,程序可以由相对独立的组件组成,实现模块化。 3.4.2 自定义算法库加载内部函数和接口函数 内部函数指只在算法类内部调用的函数,接口函数指能加载到XAVIS软件中,即提供给用户调用的函数。接口函数的规定 接口类定义了接口函数需要的所有信息,包括菜单资源ID、函数菜单名和函数所属算法类别。XAVIS根据函数所属算法类别和菜单资源ID将其加载到相应位置,并按照函数菜单名显示;当用户调用该函数时,参数设置窗口根据参数个数、参数类型和参数说明信息控制相应的控件显示,用于函数设置。用户在添加新算法时

40、,可以调用CFuncInfo类提供的设置操作完成接口函数的上述所有信息。 3.5 XAVIS编程实例 边缘提取 Readimage(JCgongjianL.bmp,image); /读取图像showimage(image); /显示原图 EdgeDetect(image,image2,CANNY1);/对原图进行边缘提取并存入新图image2 showimage(image2);/显示边缘提取后的图像3.5 XAVIS编程实例 图像滤波 Readimage(test14.bmp,image);/读取图像showimage(image); /显示原图ImageFilter(image,image

41、1,GUASSFILTER);/对原图进行高斯滤波并将结果存入新图image1showimage(image1); /显示滤波后的图像3.5 XAVIS编程实例 尺寸测量首先对图像进行一些预处理,包括图像增强、阈值分割、反色、边缘提取和平滑,然后进行线弧分离并对分离出的弧线进行拟合,最后得到拟合出的圆的半径和圆心。 3.5 XAVIS编程实例 尺寸测量 Readimage(test.bmp,image);showimage(image);DrawRectangle(rect); /选择需要处理的区域RectImageEnhance(image,image1,rect,POINTLINER);

42、/图像增强RectThresholdCovert(image1,image2,rect,PANBIETHRESHOLD,0); /阈值分割RectPointInvert(image2,image3,rect); /区域图像反色RectEdgeGet(image3,image4,rect,CONTOUR); /边缘提取RectPingHua(image4,image5,rect,BSMOOTH); /图像平滑RectHarrisLineCircle(image5,image6,rect,0,0,0,a,b,c,d,e,f,g,h); /线弧分离测量showimage(image);GetDLen

43、gth(f,p); /得到double数组长度,f为数组,p为长度SetColor(2,red); /设置画笔宽度和颜色GenLines(b,c,d,e);/在图上画多条线段 x1,y1,x2,y2GenCircles(g,h,f);/在图上画多个圆,x,y,radius3.5 XAVIS编程实例 函数说明:所选区域中线弧分离并检测(harris算法)调用格式:RectHarrisLineCircle(image_origin,image_edge,rect,para1,para2,para3,LineD,startpointx,startpointy,endpointx,endpointy,

44、circleD,ocirclex,ocircley)参数说明:image_origin:输入图像(边缘图像)image_edge:输出图像rect:关注区域para1:高斯滤波窗口宽度para2:距离比(用来线弧分开的阈值)para3:线段最小距离(用来线弧分开的阈值) LineD:线段长Startpointx:线段起始点x坐标Startpointy:线段起始点y坐标Endpointx:线段终止点x坐标Endpointy:线段终止点y坐标CircleD:圆弧半径Circlex:圆弧圆心xCircley:圆弧圆心y3.5 XAVIS编程实例 for(i=0,p,1);SetColor(1,gre

45、en); m=(hi-fi-10);GenText(gi,m,15,C,green); /输出字符信息 C; x,y,weight,textstr,colorn=(gi+7);CStringFormat(“%d,i”,string); /构造字符串 strin,stroutGenText(n,m,15,string,green); /输出字符信息*w=(i*20+5);GenText(10,w,20,半径C,red); /输出字符信息 半径CCStringFormat(%d,i,s1);GenText(60,w,20,s1,red); /输出字符信息*GenDoubleText(80,w,20

46、,fi,red);CStringFormat(%1f,fi,string1);GenText(80,w,20,string1,red); /输出半径值endfor();3.5 XAVIS编程实例 印刷体字符检测首先对图像进行预处理,然后用投影法分割出各个字符所在的位置并将其归一化,最后与标准字符进行一一匹配得到所有的字符。 3.5 XAVIS编程实例 印刷体字符检测 Readimage(outocrimgocrimg4.bmp,image1a);showimage(image1a);ConvertDepth24to8(image1a,image1b);/图像转灰度图ThresholdCover

47、t(image1b,image1c,FIXTHRESHOLD,174);/阈值分割ImageMorph(image1c,image1e,EROSION,1);/图像腐蚀ImageMorph(image1e,image1d,DILATION,5);/图像膨胀showimage(image1d);Imageproject(image1d,image2,VPROJECT,15,a,b,count1); /对图像进行垂直投影Imageproject(image1d,image3,HPROJECT,15,c,d,count2); /对图像进行水平投影j1=(0);k1=(0);y=(count2);z=

48、(count1);3.5 XAVIS编程实例 函数说明:对二值图像进行积分投影(水平,垂直) 调用格式:Imageproject(image_origin,image_edge,kind,thre,pstar,pend,*total1)参数说明:image_origin:输入图像(二值图)image_edge:输出图像kind:算法类型(包括HPROJECT,VPROJECT)thre:阈值pstar:起点坐标数组pend:终点坐标数组total1:总数while(j1y);DoubleToInt(j1,j);num1=(dj-cj); /计算字符高度while(k120);if(num220

49、);TimerBegin(t1);for(i=0,10,1);CStringFormat(“outocrimg%d.bmp,i”,bmpname); /构造模板字符Readimage(bmpname,image111);ConvertDepth24to8(image111,image11);ThresholdCovert(image11,image1,FIXTHRESHOLD,128); /阈值分割SetRect(ak,cj,bk,dj,rect); /构造矩形区域 x1,y1,x2,y2,rectImageUnitybyRect(image1d,image4,rect,60,100);/图像

50、归一化SetRect(0,0,60,100,rect1);model_match(image1,image4,rect1,i,10,1,result);/图像匹配endfor();TimerEnd(t1,t2);endif();endif();k1=(k1+1);end();k1=(0);j1=(j1+1);end();GenText(10,10,30,result,red);3.5 XAVIS编程实例 函数功能:将经过分割的字符,进行缩放处理使他们的宽和高一致,以方便特征的提取调用格式:ImageUnitybyRect(image_origin, image_output , rect ,

51、tarWidth, tarHeight)参数说明:image_origin:输入图像image_output:输出图像rect:关注区域(给出了每个字符所在的区域,供其它函数使用)tarWidth:归一化宽度(用户输入要求的归一化宽度)tarHeight:归一化高度(用户输入要求的归一化高度)3.5 XAVIS编程实例 模板匹配函数功能:根据模板匹配度公式,计算输入图像的目标框选范围对模板图像的相似度,并根据相似度与实验所得阈值的比较得出判断结果调用格式:model_match(modelimage, inputimage, Rect, num, Samplenum,method,result

52、)参数说明:modelimage:模板图像inputimage:输入图像rect:字符矩形框(归一化后的选框)num:表示目前输入model是几(0-9为数字0-9,10-35为字母A-Z( 大写),可以根据需要添加小写字符samplenum:输入模板个数(用于训练的用户输入模板个数)method:方法类型(0-相似度方法,1-欧式距离法)result:存储预测结果的字符串END第4章 机器视觉预处理技术主要内容图像增强 图像分割 边缘提取 数学形态学分析图像投影 图像特征提取配准定位方法 对原始获取图像进行一系列的运算处理,称为图像处理。图像处理是机器视觉技术的方法基础,包括图像增强、边缘提

53、取、图像分割、形态学处理、图像投影、配准定位和图像特征提取等方法。 第4章 机器视觉预处理技术4.1 图像增强改善图像质量两类方法: 不考虑图像降质原因图像增强技术 针对图像降质原因图像还原技术图像增强技术两类方法: 空间域法: 在空间域中对图像的各个像素灰度值直接进行计算处理; 频率域法: 在图像的频率变化域中对图像的变换值进行某种运算处理,然后再变回空间域中。4.1.1 空域图像增强 空域法是直接对图像中的像素进行处理,以图像的灰度映射变换为基础。点对点变换 直方图修正 空域法基本原理 4.1.1 空域图像增强 空域法是直接对图像中的像素进行处理,以图像的灰度映射变换为基础。1.空域变换增

54、强直接灰度变换图像求反 用这种方式倒转图像的强度产生图像反转的对等图像。该方式适用于增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。 4.1.1 空域图像增强 线性灰度增强线性最大增强 4.1.1 空域图像增强 图像增强函数说明:图像增强函数调用格式:ImageEnhance(image_origin,image_edge,kind)参数说明:image_origin:输入图像(灰度图)image_edge:输出图像kind:算法类型(包括POINTLINER,POINTSHARP)4.1.1 空域图像增强3.空域滤波增强 主要有两类:(1)平滑(低通)滤波器(2)锐化(

55、高通)滤波器 (a)图像一部分 (b)33模板 (c)中心点灰度值 4.1.1 空域图像增强1) 平滑滤波器(1) 均值滤波 带有阈值的均值滤波 4.1.1 空域图像增强常用的均值滤波算子有: 4.1.1 空域图像增强XAVIS程序代码为: Readimage(filtertest14_jun.bmp,src24); /读取均值噪声的器件图片,椒盐噪声和高斯噪声的图片名称分别为/test14_jy.bmp, test14_gao.bmp 其余处理步骤相同ConvertDepth24to8(src24,src); /转化为8位图showimage(src); /显示8位图Meanimage(sr

56、c,des1,9); /均值滤波showimage(des1); /显示均值滤波后的结果4.1.1 空域图像增强中值滤波的基本原理是将像素邻域内灰度的中值代替该像素的值。中值滤波的步骤:将模板在图中漫游,并将模板中心与图中某个像素位置重合;读取模板下各对应像素的灰度值;将这些灰度值从小到大排成1列;找出这些值里排在中间的1个;将这个中间值赋给对应模板中心位置的像素。(2) 中值滤波4.1.1 空域图像增强中值滤波特点:非线性滤波。可克服图像的边缘模糊。对滤除脉冲干扰及图像扫描噪声最为有效。不需要图像的统计特性。对一些细节多,特别是点、线、尖顶细节多的图像不宜采用。 4.1.1 空域图像增强XA

57、VIS程序代码为: Readimage(filtertest14_jun.bmp,src24); /读取均值噪声的器件图片,椒盐噪声和高斯噪声的图片名称分别为/test14_jy.bmp, test14_gao.bmp,其余处理步骤相同ConvertDepth24to8(src24,src); /转化为8位图showimage(src); /显示8位图ImageFilter(src, des1 , MEDIANFILTER) /中值滤波showimage(des1); /显示中值滤波后的结果4.1.1 空域图像增强(3)高斯滤波高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器,其对

58、于抑制服从正态分布的噪声非常有效。二维零均值高斯函数 Readimage(filtertest14_jun.bmp,src24); /读取均值噪声的器件图片,椒盐噪声和高斯噪声的图片名/称分别为test14_jy.bmp, test14_gao.bmp/其余处理步骤相同ConvertDepth24to8(src24,src); /转化为8位图showimage(src); /显示8位图ImageFilter(src, des1,GUASSFILTER); /高斯滤波showimage(des1); /显示高斯滤波后的结果4.1.1 空域图像增强 平滑滤波器滤波结果 (a)带有高斯噪声的工件图片

59、 (b)均值滤波结果 (c)中值滤波结果 (d)高斯滤波结果4.1.1 空域图像增强 2) 锐化滤波器 高通滤波器的效果可用原始图减去低通图得到。更进一步,如果把原始图乘一个放大系数A再减去低通图就可以构成高频增强滤波器: High boost = A * Original Lowpass = (A-1) * Original + High pass 当A = 1,就是普通的高通滤波器。当A 1,原始图的一部分与高通图相加,恢复了部分高通滤波时丢失的低频分量,使得最后结果与原图更接近。因为低通滤波常使图像模糊,所以一般如果从原始图中减去模糊图也称为(非锐化)掩膜。4.1.1 空域图像增强XAV

60、IS程序代码为: Readimage(filtertest14.bmp,src); /读取器件图片showimage(src); /显示8位图EdgeDetect(src, des1,GUASS); /拉普拉斯滤波showimage(des1); /显示拉普拉斯滤波后的结果(a) 原图 (b) 拉普拉斯滤波后4.2 图像分割图像分割就是指把图像分割成各个具有特性的区域并提取出感兴趣目标的技术和过程。基于阈值的分割方法是一种应用十分广泛的图像分割技术,其实质是利用图像的灰度直方图信息获取用于分割的阈值,一个或几个阈值将图像的灰度级分为几个部分,认为属于同一部分的像素是同一个物体。 4.2 图像分

温馨提示

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

评论

0/150

提交评论