常见的机器视觉软件以C/C++图像库,ActiveX控件,图形式编程环境等形式出现,可以是专用功能的(比如仅仅用于LCD检测,BGA检测,模版对准等),也可以是通用目的的(包括定位、测量、条码/字符识别、斑点检测等)。
主流的机器视觉软件有:侧重图像处理的图像软件包Opencv,Halcon、美国康耐视(Cogrex )的visionpro;侧重算法的matlab,labview、;侧重相机SDK开发的eVision等
一、机器视觉图像处理软件包(算法库)
1、美国 Opencv----由美国Intel公司建立,如今由Willow Garage提供支持
2、德国 Halcon------德国 Mvtec 公司
3、加拿大 MIL------加拿大的Matrox Imaging Library(缩写为MIL)
4、美国 visionpro-----------------美国康耐视(Cogrex )
5、日本 vision editor--------------日本基恩士(keyence)
6、加拿大 HexSight----------------加拿大Adept公司
7、加拿大 Sherlock-----------------加拿大Dalsa
8、美国 NI Vision---------------美国国家仪器(NI)公司,基于LabVIEW
9、美国Microscan(迈斯肯MS)---美国欧姆龙迈思肯公司(Omron Microscan)
10、美国 IM------------------------开源库
二、机器视觉程序开发环境
1 美国 MATLAB---------美国MathWorks
2 美国 LabVIEW--------美国国家仪器(NI)公司,图像处理软件为NI Vision
3 比利时 eVision等--------比利时euresys开发,侧重相机SDK开发。
三 、机器视觉软件整体对比
----halcon功能*强大,visionPro简单易用,opencv开源*省钱,mil便宜。
----Halcon、visionPro一套电脑运行正版的要一万五(15K)左右,MIL的定位模块才两千(2K)左右。
----每种软件各有自己的技术优势,有些是定位强,有些在于图像预处理更强。某款软件无法实现的功能,换另一款软件则有可能实现。
功能对比:
Labview:在工控方面可以说首屈一指,当然在检查、定位方面比较擅长;
Opencv:在识别方面做的比较好,比如人脸识别、视频识别等等;
Halcon:在尺寸测量方面,感觉Halcon做的比较好,其标定封装的比较好,测量直接可以出来尺寸,还是很方便的;
四、机器视觉软件具体对比及分析
1、美国 Opencv--------由美国Intel公司建立,如今由Willow Garage提供支持
----Opencv-好处是开源免费图像处理库。缺点是没人长期维护,可靠性,效率,效果和性能不如商业化软件,而且没有技术支持,开发慢,需要自己从头开始摸索。
----Opencv定位模板做的不好,简单的应用用用就行了。
----主要应用于计算机视觉领域,在机器视觉领域其实不算太多,主要还是定位、测量、外观、OCR/OCV,但感觉这几项都不是opencv的专长。
----由于是开源软件,因此其版本繁多,函数库复杂,执行效率受到应用限制,比较适用于科研和学习,不适合工业应用。
----部分公司支持用OpenCV库开发,如美国WillowGarage公司、德国Kithara公司、美国国家仪器(NI)公司和新西兰ControlVision公司。
2、德国Halcon--------德国 Mvtec公司
----功能*强大*牛,开放性强、有试用的 license、提供超过 1000 个算子 。
----Halcon是一套标准的机器视觉算法包,架构*灵活,具有自己独特底层的数据管理。
----使用 halcon 开发软件,节约产品成 本,缩短开发周期,应用范围广,用到图像处理的地方,都可以使用 halcon;
----包含了各类滤波,色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能。
----HALCON 支持 Windows,Linux 和 Mac OS X 操作环境。整个函数库可以用 C,C++,C#,Visual basic 和 Delphi 等多种普通编程语言访问。HALCON 为大量的图像获取设备提供接口,保证了硬件的独立性。它为百余种工业相机和图像采集卡提供接口,包括 GenlCam,GigE 和 IIDC 1394。
----缺点:价格比较贵,运行版要一万七,每次分发需要重新购买授权。
3、加拿大MIL---------加拿大maxtrox的产品Matrox Imaging Library(缩写为MIL)
----如果大家想用正版的又要便宜的,建议用MIL,MIL的定位模块才2K左右。
----好处是MiL是免费的,性价比不如 visionPro,halcon 以及 Sherlock,而 且没有几何定位 。
----早期推广和普及程度不错,当前主要用户还是早期做激光设备的,用于定位的较多。
4、美国visionpro-----美国康耐视(Cogrex)
----工业化、封装、人性化、评估的便捷性、开发的快速性。
----取消了软件授权的形式,硬件授权价格在1.5万-3万不等。
----性能上某些方面不如halcon,但是开发上手比halcon容易。
5、vision editor-----日本基恩士(keyence)
6、加拿大 HexSight------加拿大Adept公司
----功能强大的定位器工具能**地识别和定位物体,不论其是否旋转或大小比例发生变化。
----HexSight是世界上**个做到1/40亚像素精度的视觉软件,其特点是精度高、定位识别速度快、对环境光线等干扰不敏感、检测可靠性极高,
HexSight 的定位技术
----HexSight的定位工具是根据几何特征,采用*先进的轮廓检测技术来识别对象和模式。这一技术在图像凌乱、亮度波动、图像模糊和对象重叠等方面有显著效果。HexSight能处理自由形状的对象,并具有功能强大的去模糊算法。HexSight快速,在一台2GHz 的处理器上,一般零件寻找和定位不超过10ms,并可达到1/40亚像素位置重复精度和0.01度旋转重复精度。此外HexSight有丰富但易用的图像标定工具,而且它的定位器可以方便嵌入到OEM的产品中。
7、加拿大 Sherlock-------加拿大Dalsa
- ---评估非常快捷,类似于计算器模式,所见即所得
8、美国 NI Vision-------美国国家仪器(NI)公司,基于LabVIEW
----NI Vision,快速验证的图像处理库(含视觉助手、VBAI)
----NI的优点:LabVIEW平台入门相对简单;开发速度快;
在可配置环境和全面的编程库中作出选择,更好地满足需求并快速启动;
对于自动化测试大多数需要的软硬件都有解决方案,有点软件图形化编程,上手快,开发周期短。
可与所有的硬件组合配合使用,兼容性良好,从而方便地使用现有的代码,管理和维护多个硬件系统。
----缺点:LabVIEW平台下的算法的效率不够;算法的准确性与稳定性依赖与更好的图像素质,与其它算法(如Halcon)还是有一定的差距。并不是每个软件都非常厉害。
----总结:适合于做效率要求不太高,图像质量相对比较好,且交货周期较短的项目。视觉工具包的优势是售价比大多数工具包或者算法的天文数字便宜了不少,而且整个工具包一个价格,而不是一个算法一个算法地卖,性能方面在速度和精度没有halcon好。
9、美国Microscan(迈斯肯MS)---美国欧姆龙迈思肯公司(Omron Microscan)
----欧姆龙迈斯肯的视觉主要产品还是条码阅读一类
五、机器视觉程序开发环境
1.美国 MATLAB----------------美国MathWorks
----Matlab,底层算法验证不二选择
----matlab用法方便,特别是集成了图像处理的很多函数,几乎囊括了所用图像处理的方法。把常见操作都做成了相应 的内建函数,使使用者不用去考虑怎样读取图片、怎样转换颜色空间等固定和成熟的算法的细枝末节,将主要精力投放到算法研究中。
缺点:matlab对处理方式的细节把握不够。
2.美国 LabVIEW---------------美国国家仪器(NI)公司,图像处理软件为NI Vision
----美国NI公司的应用软件LabVIEW机器视觉软件编程速度是*快的.
3.比利时 eVision等-----------比利时euresys开发,侧重相机SDK开发。
----eVision机器视觉软件包是由比利时euresys公司推出的一套机器视觉软件开发SDK,相比于其他的机器视觉开发包,它似乎在SDK的功能分类上比这两个提供了更多的选择项。
----evision机器视觉软件开发包所有代码都经过mmx指令的优化,处理速度非常快,感觉和Intel的IPP有的一拼(当然还是比IPP稍逊一筹,但是毕竟这是Intel自家开发的),但却提供了比IPP多得多的机器视觉功能,例如OCR,OCV,基于图像比对的图像质量检测,Barcode和MatrixCode识别。
(本文内容来自网络,侵删!)