您现在的位置是:网站首页> AI人工智能

视觉技术收集

摘要

视觉技术收集

视觉软件介绍

机器视觉当前的比较流行的开发模式是“软件平台+工具包”

VisionPro和Halcon机器视觉

CV计算机视觉领域MMLAB及其他相关技术收集



视觉软件介绍

硬件:深度相机

机器视觉处理软件:用来完成输入图像数据的处理,通过一定的运算得出结果,这个输出的结果可能是PASS/FAIL信号、坐标位置、字符串等。


常见的机器视觉软件以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开发。三、国内机器视觉处理软件:

1 SciSmart 智能视觉软件 SciVision 视觉开发包---------深圳奥普特(OPT)

2 VisionWARE视觉软件----------------------------------北京凌云光

3 Visionbank机器视觉软件-------------------------------陕西维视图像

4 OpencvReal ViewBench(锐微或力维)-----------------深圳市精浦科技有限公司

四 、机器视觉软件整体对比


----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识别。七、国产机器视觉软件:

1 SciSmart 智能视觉软件 SciVision 视觉开发包---------深圳奥普特(OPT)

优点:做苹果手机项目(富士康),拥有数十人的软件开发及定制化应用团队,定制化开发应用能力比较强,在手机、电子等行业优势较大。

2 VisionWARE视觉软件----------------------------------北京凌云光

优点:在印刷品检测方面优势较大,做钞票印刷检测。在比较复杂的印刷品反光、拉丝等方面算法比较可靠,漏检率低。

3 Visionbank机器视觉软件-------------------------------陕西维视图像

优点:

----部分测量和缺陷检测功能较好用,易上手,不需要任何编程基础,能非常简单快捷地检测出来。

----达到四分之一亚像素,和haLcon精度差不多。

----图像预处理:把不需要的颜色处理掉,能处理掉色差非常接近的颜色,功能非常强大。

缺点:印刷品字符识别能力一般,有漏检。

4 OpencvReal ViewBench( 利维)-----------------深圳市精浦科技有限公司

----RVB包含各种Blob分析,形态学运算,模式识别和定位,尺寸测量等性能杰出的算法,提供不同形状关注区(Region ofInterest, 简称ROI)操作,可以开发强大的视频人机界面功能。

----RVB与图象采集设备如CCD相机无关,目前支持多种厂家的相机,接口包括USB2.0/3.0, GigE,1394a/b,如有更多相机接口要求,可以为客户免费定制。


部分转载自


常用机器视觉软件对比及分析-工业视觉/halcon-少有人走的路www.skcircle.com



机器视觉当前的比较流行的开发模式是“软件平台+工具包”

软件平台:
1.VC:最通用,功能最强大。用户多,和windows搭配,运行性能较好,可以自己写算法,也可以用工具包,而且基本上工具包都支持VC的开发。是大家主要选择的平台。
2.C#:比较容易上手,特别是完成界面等功能比用VC+MFC难度低了很多,已经逐渐成为流行的使用平台了,算法在调用标准的库或者使用C#+C++混合编程。可以看到目前很多相机厂商的SDK都已经开始使用C#做应用程序了。
3.LabVIEW:NI的工具图形化开发平台,开发软件快,特别是做工控行业或者自动化测试行业的很多工程师,由于使用labview进行测试测量的广泛性,所以都有labview的基础,再调用NI的Vision图像工具包开发,开发周期短,维护较为容易。
4.VB、delphi:用的人越来越少了。
5.其他:java等没有看到人用过。
工具包:
1.halcon:出自德国MVTech。底层的功能算法很多,运算性能快,用其开发需要一定软件功底和图像处理理论。
2.VisionPro:美国康耐视的图像处理工具包。性能大多数算法性能都很好,性能上没有和halcon直接对比过,但是开发上手比halcon容易。
3.NI Vision:NI的特点是自动化测试大多数需要的软硬件都有解决方案,有点事软件图形化编程,上手快,开发周期快,缺点是并不是每个软件都非常厉害。视觉工具包的优势是售价比大多数工具包或者算法的天文数字便宜了不少,而且整个工具包一个价格,而不是一个算法一个算法地卖,性能方面在速度和精度没有前两种软件好。
4.MIL:加拿大maxtrox的产品,是Matrox Imaging Library 的简写。早期推广和普及程度不错,当前似乎主要用户还是早期的做激光设备的一些用户在用,所以用于定位的较多。
5.CK Vision。创科公司的软件包,相对前面几个工具包来说价格优势比较明显,另外机器视觉需要的功能也基本都有,所以在国内自动化设备特别是批量设备同时需要保护版权的企业而言,用量很大,推广也不错。
6.迈斯肯:迈斯肯的视觉主要产品还是条码阅读一类,图像工具包没有用过,不了解,不评价。
7.OpenCV:感觉openCV更多的还是用在计算机视觉领域,在机器视觉领域其实不算太多,应为机器视觉领域当前主要的应用还是定位、测量、外观、OCR/OCV,感觉这几项都不是opencv的专长。
8.其他:其他还有一些厂家的图像工具包,要么市场影响力不大,要么本人没有用过,不评价。

某回复:

非实时的用Matlab
实时的用OpenCV

计算机视觉,是介于科学研究和实践之间,机器视觉就是实际工厂应用为目标。

一般来说没有具体的语言,如果是2D视觉的话可以用opencv之类的图像库,这些库的语言源码是C/C++的,现在有很多接口,Python和matlab都有接口,如果是3D的话,例如你想搞Kinect等3D图形开发的话,也有很多语言可以选择,C++和C#都行,现在opengl等3D库也有很多接口提供使用,Python和processing语音都可以调用。



VisionPro和Halcon机器视觉

VisionPro和Halcon都掌握吧,各有优缺点的。
visionpro定位、测量功能更好,但是halcon开发更灵活。
我一开始用visionpro,现在习惯了halcon

halcon比较成熟,网上的破解软件也很多,教程资料也和很多(又从vision pro开始学的,但是这个目前学习资料确实不多)。之所以推荐从halcon入门,还一个重要原因是HDevelop(halcon算法的开发软件,两者关系有点类似微软的office和word的关系)提供了大量辅助工具帮助进行图像分析和软件调试,调试完毕后可以直接点击“插入代码”按钮自动生成程序语句,如下图所示,这样可以帮助我们快速完成程序编写并了解具体该用什么算子。程序编制完成后,HDevelop还可以直接导出C、C++、C#、VB等,以便后续程序的汇总。

机器视觉入门的书籍首选推荐《机器视觉算法与应用》,如下图所示,左侧为第一版,右侧为第二版。这本书基本算是halcon的官方书籍,因为本身作者就是halcon的开发人员,而且最难得的是这是少有的从相机、镜头、光源这些硬件开始写起的机器视觉图书。当然这本书限于篇幅理论讲的不是很细,讲理论还是得经典的冈萨雷斯的《数字图像处理》,但是入门我还是建议《机器视觉算法与应用》,还是说先了解整体架构,了解套路,知道怎么干,然后再深入。第一版是双语版(可以顺便学英语专业词汇),第二版增加了新的摄像机和图像采集接口、三维传感器及技术、三维重建、三维物体识别以及最先进的分类算法等

机器视觉软件编程我建议最好采用C++,虽然这两年python比较火,但是工业上还是C++用的更多一些。如果像我是从机械转行机器视觉,零基础开始学,图书建议选《C++ Primer Plus》,如下图。虽然《C++ Primer》更经典,但是就像那句话说的“《C++ Primer》一点都不primer”,《C++ Primer》是可以用来当做C++的字典用的一本书,不适合用于C++入门。而且读《C++ Primer Plus》这本书可知直接照着书练习,示例非常完整详细,不需要配合别的视频教程类的资料学习。












下一篇:AI硬件

Top