机器视觉系统的组成
从机器视觉系统的字面意思可以看出,它主要分为三个部分:机器、视觉和系统。负责机器的移动和控制;视觉是通过光源、工业镜头、工业相机、图像采集卡等实现的。系统主要指软件,也可以理解为一套完整的机器视觉设备。
1.1机器视觉光源
光源作为机器视觉系统的重要输入部件,直接影响输入数据的质量和应用效果。由于没有通用的机器视觉光源设备,需要针对每个具体的应用实例选择相应的视觉光源才能达到最佳效果。常见的光源有LED环形光源、小角度光源、背光源、条形光源、同轴光源、gtdnm、点光源、线光源、平行光源等。
1.2工业镜头
在机器视觉系统中,镜头主要负责光束调制和信号传输。镜头类型包括:标准、远心、广角、近景、长焦等。选择依据一般是基于相机接口、拍摄距离、拍摄范围、CCD尺寸、允许畸变范围、倍率、焦距和光圈等。
1.3工业摄像机
工业相机在机器视觉系统中最本质的功能是将光信号转换成电信号。与普通相机相比,它具有更高的传输功率、抗干扰能力和稳定的成像能力。根据标准的不同,有很多种分类:根据输出信号方式,可分为模拟工业相机和数字工业相机;根据芯片类型的不同,可以分为CCD工业相机和CMOS工业相机,这是最常见的分类方法。
1.4图像采集卡
图像采集卡虽然只是一个完整机器视觉系统的组成部分,但也非常重要,它直接决定了相机的接口:黑白、彩色、模拟、数字等。典型的有PCI采集卡、1394采集卡、VGA采集卡、GigE千兆网络采集卡。其中一些采集卡内置了多路开关,可以连接多个摄像头,同时捕捉多路信息。
1.5机器视觉软件
机器视觉软件是机器视觉系统中自动处理的关键组成部分。根据具体的应用需求,可以对软件包进行二次开发,自动完成图像的采集、显示、存储和处理。购买机器视觉软件时,一定要注意开发硬件环境、操作系统、语言等。保证软件的稳定运行,便于二次开发。
机器视觉开发环境原理
2.1软件平台
目前流行的机器视觉开发模式是“软件平台工具包”。在实际的视觉项目中,软件平台的目的是为客户制作一个应用程序,让客户一目了然地看到自己产品的所有数据,如输出、日期、报表、NG/OK量、故障信息、调试信息、设置参数、操作工具、整个视觉控制系统等。目前主要应用于机器视觉领域的开发平台有:
1).VC ——是目前主流的选择平台。
最全能最强大的。很多用户,有了windows,运行良好,可以自己编写算法或者使用工具包,基本上所有的工具包都支持c的开发。
2).C#——逐渐被开发和使用。
相对来说比较好用,尤其是界面等功能比使用VC MFC难度小很多,逐渐成为一个热门平台。算法是调用标准库或者使用C# C混合编程。可以看到很多相机厂商的SDK已经开始使用C#作为应用。
3).LabVIEW——NI工具图形化开发平台
软件开发速度很快,尤其是对于很多工控行业或者自动测试行业的工程师来说。由于labview广泛用于测试和测量,它们都有labview的基础。然后,调用NI的Vision影像工具包进行开发,开发周期短,维护更容易。适用人群在一定程度上是有限的。
4).VB、delphi、java等
在机器视觉领域,它几乎绝迹,很少使用。
2.2工具包
/p>
软件平台生成的应用程序可以通过控制整个视觉系统来获取对象图像信息,对该图像信息进行信息提取处理就需要一定的功能函数和算子,那么就需要包含大量功能函数的工具包。当前机器视觉领域主要用的工具包有:
1).halcon:出自德国MVTech,当前首选使用对象。底层的封装功能算法很多,运算性能快,使用方便简单,若有一定软件功底和图像处理理论,使用其开发将会便捷。
2).VisionPro:美国康耐视的图像处理工具包。性能大多数算法性能都很好,性能上没有和halcon直接对比过。
3).NI Vision:NI的特点是自动化测试大多数需要的软硬件都有解决方案,有点事软件图形化编程,上手快,开发周期快,缺点是并不是每个软件都非常厉害。视觉工具包的优势是售价比大多数工具包或者算法的天文数字便宜了不少,而且整个工具包一个价格,而不是一个算法一个算法地卖,性能方面在速度和精度没有前两种软件好。
4).MIL:加拿大maxtrox的产品,是Matrox Imaging Library 的简写。早期推广和普及程度不错,当前似乎主要用户还是早期的做激光设备的一些用户在用,所以用于定位的较多。
5).CK Vision。创科公司的软件包,相对前面几个工具包来说价格优势比较明显,另外机器视觉需要的功能也基本都有,所以在国内自动化设备特别是批量设备同时需要保护版权的企业而言,用量很大,推广也不错。
6).yqdg:yqdg的视觉主要产品还是条码阅读一类,图像工具包没有用过,不了解,不评价。
7).OpenCV:感觉openCV更多的还是用在计算机视觉领域,在机器视觉领域其实不算太多,应为机器视觉领域当前主要的应用还是定位、测量、外观、OCR/OCV,感觉这几项都不是opencv的专长。
2.3机器视觉系统原理
系统原理:机器视觉系统的目得就是通过机器视觉产品(即光源、镜头、相机、采集卡)将被拍摄的目标转换为图像信号,传送给机器视觉软件(即图像处理系统),来代替人眼的测量、检测和判断。其原理是由计算机、图像处理器以及相关设备来模拟人的视觉行为,完成得到人的视觉系统所得到的信息。随着微型计算机技术、网络技术、大数据融入技术发展,相信未来机器视觉系统将会代替人类完成更多难以完成的工作。