常用机器视觉软件介绍

一、开源的OpenCV

机器视觉最常用的软件是OpenCV(Intel OpenSource Computer Vision Library),最大优点是开源,可以进行二次开发。
常用机器视觉软件介绍_第1张图片
OpenCV(Open Source Computer Vision Library:http://opencv.org)是一个开源的基于BSD许可的库,它包括数百种计算机视觉算法。文档OpenCV 2.x API描述的是C++ API,相对还有一个基于C语言的OpenCV 1.x API,后者的描述在文档opencv1.x.pdf中。

OpenCV具有模块化结构,这就意味着开发包里面包含多个共享库或者静态库。下面是可使用的模块:
核心功能(Core functionality) - 一个紧凑的模块,定义了基本的数据结构,包括密集的多维Mat数组和被其他模块使用的基本功能。

图像处理(Image processing) - 一个图像处理模块,它包括线性和非线性图像滤波,几何图形转化(重置大小,放射和透视变形,通用基本表格重置映射),色彩空间转换,直方图等。

影像分析(video) - 一个影像分析模块,它包括动作判断,背景弱化和目标跟踪算法。

3D校准(calib3d) - 基于多视图的几何算法,平面和立体摄像机校准,对象姿势判断,立体匹配算法,和3D元素的重建。

平面特征(features2d) - 突出的特征判断,特征描述和对特征描述的对比。

对象侦查(objdetect) - 目标和预定义类别实例化的侦查(例如:脸、眼睛、杯子、人、汽车等等)。

highgui - 一个容易使用的用户功能界面。

视频输入输出(videoio) - 一个容易使用的视频采集和视频解码器。

GPU - 来自不同OpenCV模块的GPU加速算法。

… 一些其他的辅助模块,比如FLANN和谷歌的测试封装,Python绑定和其他。

OpenCV非常适合底层科研工作者使用,成本较低,使用也非常方便,关键是开源。

二、VisionPro7.0系统

康耐视公司(Cognex )推出的 VisionPro 系统组合了世界一流的机器视觉技术,具有快速而强大的应用系统开发能力。 VisionPro QuickStart 利用拖放工具,以加速应用原型的开发。这一成果在应用开发的整个周期内都可应用。通过使用基于 COM/ActiveX 的 VisionPro 机器视觉工具和 Visual Basic 、 Visual C++ 等图形化编程环境,开发应用系统。与 MVS-8100 系列图像采集卡相配合, VisionPro 使得制造商、系统集成商、工程师可以快速开发和配置出强大的机器视觉应用系统。

快速建立原型和易于集成
VisionPro 的两层软件结构便于建立原型和集成。交互层利用拖放工具和 ActiveX 控件以加速应用系统的开发;在程序层,将原型应用开发成用户解决方案。基于 COM/ActiveX 技术使 VisionPro 应用系统易于集成第三方实用程序(例如图形函数),而且为整个机器(例如 I/O 、机器人控制、工厂通信)提供了基于 COM 控件应用的易于集成性。

先进的机器视觉软件
Cognex 的视觉工具库提供了用于测量、检测、制导和识别的视觉软件程序组。即使是在最具挑战性的视觉应用中,这些工具也被证实具有高可靠性。

硬件灵活性
VisionPro 的 用户可在较大范围内选择 MVS-8100 系列图像采集卡,以开发视觉应用。经 VisionPro 软件测试和证明,这些图像采集卡为主机提供了用于图像处理和显示的高速图像转移,以获得快速的视觉应用操作。多相机输入、高速度及对高分辨率相机的支持提高了 VisionPro 系统的采集灵活性。

技术优势
快速开发强大的基于 PC 的视觉应用
简化视觉系统与其他主控制程序的融合处理
兼容多种 Cognex MVS-8100 系列图像采集卡
通过 QuickStart 拖放工具加速原型应用
配合视觉工具库,以获得高性能
VisionPro 的软件结构

VisionPro 提供了易于应用的原型、发展和应用。在交互层,通过系列拖放工具, VisionProQuickStart 原型环境加速了强大机器视觉系统的开发速度。用户可以很快定义工具、测试工具行为及有效的运行参数之间的连接。通过 QuickStart 或 Visual Basic 可访问 ActiveX 控件。因此,在程序层,原型应用可通过 Visual Basic 或 Visual C++ 增强,以开发出个性化的解决方案。这一性能将使应用系统的开发时间大大缩短。 VisionPro 的结构使用户可从 QuickStart 、 ActiveX 或 COM 对象中的任何一层开始他们的应用系统开发。

康耐视公司宣布推出 VisionPro7.0 机器视觉软件。VisionPro 7.0引入了可简化检测应用的开发和现场维修的新概念 InspectionDesigner。VisionPro 7.0还增加了专为全方位和较难读取的一维条码而优化的行业最佳的条码读取工具 1DMax,以及多个新工具和读取功能增强。

Inspection Designer 的引入 — 首次用于一般检测应用 — 为视觉系统集成商和最终用户提供了可简化检测应用的规范、开发和维修的功能。Inspection Designer 具有三个主要优势:

缺陷的界定。一种新的图像等级评定实用工具,使集成商和最终用户能够轻松地评定产品图像等级和指定各个图像中的不同缺陷类型。图像等级评定实用工具可创建一个已评定等级的图像库,以便在接下来的步骤中使用。

验证。验证工具可帮助开发商快速确认视觉系统正在通过比较数百张,甚至数千张已保存且已评定等级的图像的检测结果等级来获取所需结果。

现场维修。验证工具还允许最终用户对照已评定等级的图像库随时重新测试检验工具,以确认工厂车间调整不会影响之前的检测应用。它还允许用户在已评定等级的工件库中添加新图像。

“Inspection Designer 的引入为系统集成商及其最终用户提供了一种共同的交流工具,因为它规定了定义好、坏工件的正规标准,”视觉软件业务部门经理 Markku Jaaskelainen 说道,“它可以方便地定义一个项目,并帮助确保集成商和最终用户在项目开始阶段就达成共识。

三、LabVIEW用于机器视觉
常用机器视觉软件介绍_第2张图片

美国NI公司的应用软件LabVIEW机器视觉软件编程速度是最快的。LabVIEW是基于程序代码的一种图形化编程语言。其提供了大量的图像预处理、图像分割、图像理解函数库和开发工具,用户只要在流程图中用图标连接器将所需要的子VI(VirtualInstruments LabVIEW开发程序)连接起来就可以完成目标任务。任何1个VI都有3部分组成:可交互的用户界面、流程图和图标连接器。LabVIEW编程简单,而且对工件的正确识别率很高。

四、德国的MVTecHALCON
常用机器视觉软件介绍_第3张图片

HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像和图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。

HALCON源自学术界,它有别于市面一般的商用软件包。事实上,这是一套imageprocessing library,由一千多个各自独立的函数,以及底层的数据管理核心构成。其中包含了各类滤波,色彩以及几何,数学转换,型态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能,由于这些功能大多并非针对特定工作设计的,因此只要用得到图像处理的地方,就可以用HALCON强大的计算 分析能力来完成工作。应用范围几乎没有限制,涵盖医学,遥感探测,监控,到工业上的各类自动化检测。

HALCON支持Windows,Linux和Mac OS X操作环境,它保证了投资的有效性。整个函数库可以用C,C++,C#,Visual basic和Delphi等多种普通编程语言访问。HALCON为大量的图像获取设备提供接口,保证了硬件的独立性。它为百余种工业相机和图像采集卡提供接口,包括GenlCam,GigE和IIDC 1394。

HALCON功能:
随着MVTec公司与学术界的不断合作,在最新推出的HALCON 13中具有以下新功能:
1.技术革新
HALCON 13可以实现真正意义上的目标识别。基于样本的识别方法可以区分出数量巨大的目标对象。使用这种技术可以实现仅依靠颜色或纹理等特征即可识别经过训练的目标,从而无需再采用一维码或二维码等用于目标识别的特殊印记。

2.强大的三维视觉处理
HALCON 11提供的一个极为突出的新技术是三维表面比较,即将一个三维物体的表面形状测量结果与预期形状进行比较。HALCON提供的所有三维技术,如多目立体视觉或sheet of light,都可用于表面重构;同时也支持直接通过现成的三维硬件扫描仪进行三维重构。此外,针对表面检测中的特殊应用对光度立体视觉方法进行了改善。不仅如此,HALCON现在还支持许多三维目标处理的方法,如点云的计算和三角测量、形状和体积等特征计算、通过切面进行点云分割等。

3.高速机器视觉体验
自动算子并行处理 (AOP) 技术是HALCON的一个独特性能。HALCON 11中支持使用GPU处理进行机器视觉算法的算子超过75个,比其他任何软件开发包提供的数量都多。除此之外,基于聚焦变化的深度图像获取 (depth fromfocus)、快速傅立叶变换 (FFT) 和HALCON的局部变形匹配都有显著的加速。HALCON 11会带给用户更高速的机器视觉体验。

4.机器学习
最新版本Halcon13加入了机器学习的功能,进一步强大了Halcon的使用区域。

5.其他新功能
1)Aztec码识别;
2)Micro QR码识别;
3)为分类自动选择特征;
4)使用HDevelop性能评测工具进行高效的编码分析;
5)支持Mac OS X 10.7操作系统;
6)重新修订HALCON/C++接口;
7)三维数据快速可视化;
8)远心镜头立体视觉;
9)改善摄像机标定技术;
10)HDevelop OCR助手,包含训练文件浏览器;
11)用于一维码和二维码识别的GS1术语学;
12)串行化HALCON/.NET及HALCON/C++;
13)易用的测量工具;
14)支持JPEG XR及其他。

五、MATLAB相关的工具箱
常用机器视觉软件介绍_第4张图片
如下:
Image Processing Toolbox (图像处理工具箱)
Computer Vision System Toolbox (计算机视觉工具箱)
Image Acquisition Toolbox (图像采集工具箱)
这个软件了解的比较少,也有一定的使用人群。

六、加拿大的Maxtor Image library
MIL软件包是一种硬件独立、有标准组件的32位图象库。它有一整套指令,针对图象的处理和特殊操作,包括:斑痕分析、图象校准、口径测定、二维数据读写、测量、图案识别及光学符号识别操作。它也支持基本图形设备。MIL能够处理二值,灰度或彩色图象。

此软件包为应用的快速发展设计,便于使用。它有完全透明的管理系统,沿袭虚拟数据对象操作,而非物理数据对象操作,允许独立于平台的应用。这意味着一个MIL应用程序能够在不同环境(Win98/Me/NT/2000)中运行于任何VESA-compatible VGA板或Matrox图象板上。MIL用用系统的观念识别硬件板,单一应用程序可控制一种以上硬件板。MIL能单独在主机上运行,但使用专用加速Matrox硬件效率更高。

MIL软件包具有以下功能:
· 获取高达16位的灰度图或彩色图
· 处理1、8、16和32位整数或浮点数图象
· 根据操作处理彩色图象彩色图象的每一层会被相继的独立处理。统计分析、斑痕分析、测量、图案匹配、光学符号识别和代码操作不支持彩色处理。
· 显示1,8或16位灰度或彩色图象(平台支持情况下)

MIL函数功能:
·点对点
·统计
·滤波
·形态学处理
·几何变换
·粒子分析
·测量
·压缩/解压缩
·边缘查找
·几何模型查找
·模式匹配
·条码和矩阵码
·校准
·光学字符识别OCR
·相机自动聚焦
·应用程序控制
·数据控制
·显示控制
·数字设备控制
·图形

七、eVision机器视觉软件

eVision机器视觉软件包是由比利时euresys公司推出的一套机器视觉软件开发SDK,相比于其他的机器视觉开发包例如cognex visionlibrary, Matrox Imaging library,它似乎在SDK的功能分类上比这两个提供了更多的选择项,而这一点感觉Matrox Imaginglibrary做特别差,显得特别苍白。

evision机器视觉软件开发包所有代码都经过mmx指令的优化,处理速度非常快,感觉和Intel的IPP有的一拼(当然还是比IPP稍逊一筹,但是毕竟这是Intel自家开发的),但却提供了比IPP多得多的机器视觉功能,例如OCR,OCV,基于图像比对的图像质量检测,Barcode和MatrixCode识别。而且我在这两年开发机器视觉软件基本都是基于evision开发,

evision主要以下几个模块组成:
Easy - 通用库,包含数据结构的定义以及图像文件的存储和读取等。
EasyImage - 数字图像处理通用库,包含通用的数字图像处理操作和算法,比如fft,图像的代数运 算,直方图统计和分析,图像配准和几何变换等等。
EasyColor - 彩色图像处理库,包括彩色图像空间的转换,Bayer转换,基于K均值的彩色图像分割算法等
EasyObject - Blob分析库,包括Blob的特征提取,图像分割等。
EasyGauge - 基于亚象素的图像测量工具。
EasyMatch - 基于灰度相关性的图像匹配包,速度非常快,而且能够得到达到亚象素精度的匹配结果。对于旋转,尺度变化和平移等都能精确找到模板图像的位置。
EasyFind - 基于几何形状的图像匹配包,速度也非常快,但是精度不太准确,受图像噪声影响大,euresys公司还在继续完善中。
EasyOCR - 字符识别工具包,做的也不是太好,因为是基于模板匹配的方法,没有基于神经网络的来的精确,但是在大部分场合下还是非常适用的,速度快,定位精度高。
EasyOCV-印刷质量检测包,做的尤其好,和下面要介绍的EChecker使用,可以广泛适用于印刷检测和字符质量检测等场合,速度和准确度都非常高。
EChecker- 更广范的印刷质量检测包,适用于所有的印刷检测对象。
EasyBarcode和EasyMatrixCode-一维,二维条码识别库。做的也是相当一流的,和CVL不相上下。
EasyBGA-半导体芯片的BGA检测包。
EasyWorldShape - 计算机视觉标定工具

八、HexSight

Adept公司出品的HexSight是一款高性能的、综合性的视觉软件开发包,它提供了稳定、可靠及准确定位和检测零件的机器视觉底层函数。其功能强大的定位器工具能精确地识别和定位物体,不论其是否旋转或大小比例发生变化。HexSight即使在最恶劣的工作环境下都能提供可靠的检测结果,呈现出非凡的性能。

HexSight软件包含一个完整的底层机器视觉函数库,程序员可用它来建构完整的高性能2D机器视觉系统,节省整个系统开发的时间。HexSight可利用Visual Basic、Visual C++或Borland Dephi平台方便地进行二次开发。

HexSight 的定位技术
HexSight的定位工具是根据几何特征,采用最先进的轮廓检测技术来识别对象和模式。这一技术在图像凌乱、亮度波动、图像模糊和对象重叠等方面有显著效果。HexSight能处理自由形状的对象,并具有功能强大的去模糊算法。HexSight快速,在一台2GHz 的处理器上,一般零件寻找和定位不超过10ms,并可达到1/40亚像素位置重复精度和0.01度旋转重复精度。此外HexSight有丰富但易用的图像标定工具,而且它的定位器可以方便嵌入到OEM的产品中。

九、RVB机器视觉和图象处理算法软件

利维机器视觉应用软件开发包(Real ViewBench,简称RVB)是致力于自动化领域的专业机器视觉和图象处理算法软件包,是机器视觉行业极具竞争力和价格优势的专业算法软件包。

RVB包含各种Blob分析,形态学运算,模式识别和定位,尺寸测量等性能杰出的算法,提供不同形状关注区(Region ofInterest, 简称ROI)操作,可以开发强大的视频人机界面功能。RVB提供了稳定、可靠及准确定位和检测零件的机器视觉底层函数,其功能强大的定位器工具能精确地识别和定位物体,即使在最恶劣的工作环境下都能提供可靠的检测结果,呈现出非凡的性能。

RVB软件包含一个完整的底层机器视觉函数库,程序员可用它来建构完整的高性能2D机器视觉系统,节省整个系统开发的时间。可利用Visual Basic、Visual C++或Borland Dephi平台方便地进行RVB二次开发。

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

精华版功能
¨ 支持8,16,24,32位深度数字图像;支持绝大部分文件图像格式如BMP,JPG,GIF, TIF等。
¨ 提供各种图象预处理功能,如规范化处理,边缘增强,去噪,形态学运算如腐蚀,膨胀,几何变换如缩放,旋转等;
¨ 提供各种统计分析功能如面积,方向,椭圆度,投影统计,柱状图分析,定位,模式识别等;
¨ 提供强大的BLOB分析和相关处理功能,如自动二值化,BLOB属性分析,BLOB与图象的变换;
¨ 支持多种形状的关注区(ROI)对象处理功能,如矩形,圆形,环行,自定义形状,满足绝大应用系统的需要;
¨ 提供基于高性能的GUI功能,支持各种几何图形的绘制,数字图象的绘制和RVB各种特定对象的绘制,满足复杂多变的视频交互要求。

专业版功能
¨ 包含所有精华版的功能;
¨ 提供各种常用功能的软Caliber类,如定位,BLOB 分析,正反识别,记数等,可以快速应用到具体视觉方案里面,缩小应用系统开发周期;
¨ 提供专用的支持软Caliber显示和编辑的视频编辑窗口类,支持缩放显示,拉伸等,可以开发灵活的应用界面;
¨ 支持Caliber类快速进行文件读写操作。

你可能感兴趣的:(计算机视觉,算法,图像处理,图像处理工具)