机器视觉/图像处理可能用到的三方库(各个库的优缺点)

2021/5/12 10:34:24

本文主要是介绍机器视觉/图像处理可能用到的三方库(各个库的优缺点),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

常见的机器视觉软件以C/C++图像库,ActiveX控件,图形式编程环境等形式出现,可以是专用功能的(比如仅仅用于LCD检测,BGA检测,模版对准等),也可以是通用目的的(包括定位、测量、条码/字符识别、斑点检测等)。

主流的机器视觉软件有:侧重图像处理的图像软件包Opencv,Halcon、美国康耐视(Cogrex )的 visionpro,医学领域常用的ITK和VTK;侧重算法的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------------------------开源库

11、医疗领域的-----------------ITK和VTK

二、国内机器视觉处理软件:

1 SciSmart 智能视觉软件 SciVision 视觉开发包---------深圳奥普特(OPT)
2 VisionWARE视觉软件----------------------------------北京凌云光
3 Visionbank机器视觉软件-------------------------------陕西维视图像
4 OpencvReal ViewBench(锐微或力维)-----------------深圳市精浦科技有限公司

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

----halcon功能最强大,visionPro简单易用,opencv开源最省钱,mil便宜。

----Halcon、visionPro一套电脑运行正版的要一万五(15K)左右,MIL的定位模块才两千(2K)左右。每种软件各有自己的技术优势,有些是定位强,有些在于图像预处理更强。某款软件无法实现的功能,换另一款软件则有可能实现。

功能对比:
Labview:在工控方面可以说首屈一指,当然在检查、定位方面比较擅长;
Opencv:在识别方面做的比较好,比如人脸识别、视频识别等等;
Halcon:在尺寸测量方面,感觉Halcon做的比较好,其标定封装的比较好,测量直接可以出来尺寸,还是很方便的;

VTK和ITK:如果是做医学图像处理的话建议用ITK+VTK,ITK做底层图像处理算法,VTK做可视化显示,ITK和VTK中间用itkImageToVTKImageFilter ITK/Examples/ItkVtkGlue/itkImageToVTKImageFilter /itkVTKImageToImageFilter ITK: itk::VTKImageToImageFilter< TOutputImage 类进行格式转换。
推荐一个VTK博客:东灵工作室
ITK有用的网站:https://www.insight-journal.org/

四、机器视觉软件具体对比及分析

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)
----欧姆龙迈斯肯的视觉主要产品还是条码阅读一类

10、VTK软件可以参考目前市面软件(paraview)因为主要是展示作用,ITK是算法处理。关于医学方面处理其实还有其他库可以参考(CMake, ParaView, VTK, ITK, 3D slicer)

 推荐一个网站:https://www.kitware.com/ ,安装使用教程:https://blog.csdn.net/qq_34690929/article/details/78146523

五、国产机器视觉软件:

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,如有更多相机接口要求,可以为客户免费定制。

六、总结

目前市面上常用的机器视觉或者图像处理软件:

ITK和VTK:医疗图像处理(医疗图像特征,分割三维建模)

工业检测:halcon、Visionpro(缺陷检测,定位,测量)

通用视觉库:Opencv(如人脸识别,指纹等)

——————————————————————————————————————华丽的分割线————————————————————————————————————————



这篇关于机器视觉/图像处理可能用到的三方库(各个库的优缺点)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程