一、开源的OpenCV
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非常适合底层科研工作者使用,成本较低,使用也非常方便,关键是开源。
维视智造推出的 VisionBank机器视觉软件组合了世界主流的机器视觉技术,具有快速而强大的应用系统开发能力。 VisionBank利用拖放工具,以加速应用原型的开发。这一成果在应用开发的整个周期内都可应用。
VisionBank SVS工具库能够满足各种视觉需求,从几何物品的定位、检测、识别、测量,都能够解决
● 结合灵活而强大的PC-based应用开发,VisionBank SVS软件能够以超快速度为各种机器视觉应用创建解决方案
● VisionBank SVS软件提供中、英两种语言选择,多面兼容Win 7、Win8、Win10系统,客户可在32位与64位间无缝切换
● 各工具之间的拖放可实现快速的数值、结果和图像链接。
● 支持多种设备热插拔,无需断电就可添加或移除设备
● 工具组可重复使用的并缩短应用开发的时间
三、LabVIEW用于机器视觉
美国NI公司的应用软件LabVIEW机器视觉软件编程速度是最快的。LabVIEW是基于程序代码的一种图形化编程语言。其提供了大量的图像预处理、图像分割、图像理解函数库和开发工具,用户只要在流程图中用图标连接器将所需要的子VI(VirtualInstruments LabVIEW开发程序)连接起来就可以完成目标任务。任何1个VI都有3部分组成:可交互的用户界面、流程图和图标连接器。LabVIEW编程简单,而且对工件的正确识别率很高。
四、德国的MVTecHALCON
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相关的工具箱
Image Processing Toolbox (图像处理工具箱)
Computer Vision System Toolbox (计算机视觉工具箱)
Image Acquisition Toolbox (图像采集工具箱)
其他的一些工具箱:
A
1。名称:机器视觉工具箱。(Machine Vision Toolbox )
2。开发者:Peter Corke. 发布日期: 1999
3。机构:澳大利亚 布里斯班 机器人和自动化研究组 负责人。
4。下载界面:
http://www.cat.csiro.au/cmst/staff/pic/vision-tb.html
5。简介:这个工具箱是作者研究领域的程序收集:光度测定、
图像测量、比色、过滤、特征提取、图像读写、过滤、分割等。结合Matlab和工作站,可以作为机器视觉算法研究提供方便的支持。
B
1。名称:听觉工具箱。(Auditory Toolbox)
2。开发者:Malcolm Slaney. 发布日期: 1998
3。机构:加拿大 Interval Research 公司。
4。下载界面:
http://rvl4.ecn.purdue.edu/~malcolm/interval/1998-010/
5。简介:听觉工具箱可以实现典型的听觉模型,它还可以帮助您验证您的听觉模型假说,揭示人类听觉系统感知声音的原理。
C
1。名称:人类循环系统模型工具箱 (PHYSBE,a physiological simulation benchmark experiment)
2。开发者:Kevin Kohrt。发布日期: 1966年提出理论模型,1999年提供下载。
3。机构:____。
4。下载界面:
http://www.mathworks.com/products/demos/simulink/physbe/
5。简介:经典的人类循环系统仿真模型,可以用来模拟血流中的氧、氮、营养物质、热量和化学示踪剂。
D
1。名称:代谢模型 分析与优化工具箱 (MetMAP is a Matlab Toolboxfor Metabolical Modeling, Analysis and oPtimization )
2。开发者:Julio Vera。发布日期: 2003年。
3。机构:西班牙 La Laguna大学。
4。下载界面:http://webpages.ull.es/users/sympbst/pag_ing/pag_metmap/index.htm
http://webpages.ull.es/users/sympbst/pag_ing/pag_metmap/Downloads.htm
5。简介:帮助您从理论模型的角度来研究一个代谢系统,分析代谢通路的结构和动力学性质。另外,可以对一个干预措施进行优化设计。
1。名称:大脑风暴 (脑电磁信号可视化与分析工具箱 BrainStorm is an integrated Matlab Toolbox dedicated toMagnetoencephalography (MEG) and Electroencephalography (EEG) datavisualization and processing. )
2。开发者: Felix Darvas。更新日期: 2005年1月!
3。机构:USC, Los Angeles 。
4。下载界面:http://neuroimage.usc.edu/brainstorm/Downloads.php
请用我的账号登陆。用户名: tenhospital@hotmail.com 密码:UsPQ7t5G
5。简介:能够对脑电图、脑磁波描记图进行可视化和分析。是这方面非常重要的共享件。
六、加拿大的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类快速进行文件读写操作。
机器视觉软件VisionBank SVS,依托维视智造16年机器视觉行业经验,结合不同客户需求而研发产生。
VisionBank SVS 全新一代视觉软件工具库,满足各种视觉需求
从几何物品的定位、检测、识别、测量,都能够解决,6大核心优势