机器视觉通用计算库

 

计算机视觉库 OpenCV

官网:http://opencv.org/
下载:http://opencv.org/downloads.html
OpenCV 是 Intel 开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。
OpenCV 为Intel Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。

 

Java视觉处理库 JavaCV

官网:https://github.com/bytedeco/javacv
下载:https://github.com/bytedeco/javacv/releases
JavaCV 提供了在计算机视觉领域的封装库,包括:OpenCV、ARToolKitPlus、libdc1394 2.x 、PGR FlyCapture和FFmpeg。此外,该工具可以很容易地使用Java平台的功能。
JavaCV 还带有硬件加速的全屏幕图像显示(CanvasFrame),易于在多个内核中执行并行代码(并行),用户友好的几何和色彩的相机和投影仪校准(GeometricCalibrator,ProCamGeometricCalibrator,ProCamColorCalibrator ),检测和特征点(ObjectFinder),一类是实现投影,摄像系统(直接图像对齐设置匹配主要GNImageAligner,ProjectiveTransformer,ProjectiveGainBiasTransformer,ProCamTransformer 和ReflectanceInitializer),以及在 JavaCV 类杂项功能。

 

OpenCV的Python封装 pyopencv

官网:https://code.google.com/archive/p/pyopencv/
文档:https://code.google.com/archive/p/pyopencv/wikis
下载:https://code.google.com/archive/p/pyopencv/downloads

OpenCV的Python封装,主要特性包括:

提供与OpenCV 2.x中最新的C++接口极为相似的Python接口,并且包括C++中不包括的C接口
提供对OpenCV 2.x中所有主要部件的绑定:CxCORE (almost complete), CxFLANN (complete), Cv (complete), CvAux (C++ part almost complete, C part in progress), CvVidSurv (complete), HighGui (complete), and ML (complete)
在Python中访问C++中的数据结构
完善的内存管理,使用者无须担心内存的问题
可以在 OpenCV 的 Mat 与 wxWidgets, PyGTK, and PIL 中使用的 arrays 互相转换

 

go-opencv

下载:https://github.com/chai2010/opencv
Go-OpenCV 是 Go 语言版的 OpenCV 封装。

 

OpenCV的.NET版 OpenCVDotNet

官网:http://code.google.com/p/opencvdotnet/
文档:https://code.google.com/archive/p/opencvdotnet/wikis
下载:https://code.google.com/archive/p/opencvdotnet/downloads
OpenCVDotNet 是一个 .NET 对 OpenCV 包的封装。

 

OpenCV的.Net封装 OpenCVSharp

下载:http://code.google.com/p/opencvsharp/
OpenCVSharp 是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。

openSharp

 

OpenCV优化 opencv-dsp-acceleration(DSP加速)

官网:https://code.google.com/archive/p/opencv-dsp-acceleration/
文档:https://code.google.com/archive/p/opencv-dsp-acceleration/wikis
下载:https://code.google.com/archive/p/opencv-dsp-acceleration/downloads
优化了OpenCV库在DSP上的速度。

 

OpenCV的扩展库 ImageNets

下载:https://sourceforge.net/projects/imagenets/
ImageNets 是对OpenCV 的扩展,提供对机器人视觉算法方面友好的支持,使用Nokia的QT编写界面。

 

开放模式识别项目 OpenPR

官网:http://www.openpr.org.cn/
文档:http://www.openpr.org.cn/index.php/Table/Project-development/
下载:https://sourceforge.net/projects/openpr/files/
Pattern Recognition project(开放模式识别项目),致力于开发出一套包含图像处理、计算机视觉、自然语言处理、模式识别、机器学习和相关领域算法的函数库。

 

Java 计算机视觉库 BoofCV(图)

官网:http://boofcv.org/index.php?title=Main_Page
文档:http://boofcv.org/index.php?title=Manual
下载:http://boofcv.org/index.php?title=Download

BoofCV 是一个 Java 的全新实时的计算机视觉库,BoofCV 易于使用而且具有非常高的性能。它提供了一系列从低层次的图像处理、小波去噪功能以及更高层次的三维几何视野。使用 BSD 许可证可在商业应用中使用。

这里有篇英文文章用来介绍 BoofCV 的使用。

 

基于QT的计算机视觉库 QVision

官网:http://qvision.sourceforge.net/
文档:http://qvision.sourceforge.net/ManualSections.html
下载:https://sourceforge.net/projects/qvision/files/
基于 QT 的面向对象的多平台计算机视觉库。可以方便的创建图形化应用程序,算法库主要从 OpenCV,GSL,CGAL,IPP,Octave 等高性能库借鉴而来。

 

图像处理和计算机视觉常用算法库 LTI-Lib

官网:http://ltilib.sourceforge.net/doc/homepage/index.shtml
文档:http://ltilib.sourceforge.net/doc/html/index.shtml
下载:https://sourceforge.net/projects/ltilib/files/
LTI-Lib 是一个包含图像处理和计算机视觉常用算法和数据结构的面向对象库,提供 Windows 下的 VC 版本和 Linux 下的 gcc 版本,主要包含以下几方面内容:

1、线性代数

2、聚类分析

3、图像处理

4、可视化和绘图工具

 

 C++计算机视觉库 Integrating Vision Toolkit

官网:http://ivt.sourceforge.net/
文档:http://ivt.sourceforge.net/doxygen/index.html
下载:http://sourceforge.net/projects/ivt/files
Integrating Vision Toolkit (IVT) 是一个强大而迅速的C++计算机视觉库,拥有易用的接口和面向对象的架构,并且含有自己的一套跨平台GUI组件,另外可以选择集成OpenCV

 

C++计算机视觉库 ICL

官网:http://www.iclcv.org/
ICL (Image Component Library) 是一种新型的C + +计算机视觉库,由比勒费尔德大学神经信息学组和CITEC开发。它兼顾了性能和用户友好性。 ICL提供了一个易于使用的类和函数的集合,可以开发复杂的计算机视觉应用。

在不到15行的C + +代码(见例子)可以写成一个简单的图像采集和可视化应用。

在其设计和开发过程中,主要有以下几个目标:

一套丰富的支持功能
ICL是一个全面发展的交互式计算机视觉应用功能的软件框架。在其他库相比,ICL提供并精心挑选了非常多的实用的功能和类。这些可以使研究人员可以在ICL下直接开发算法与应用,即通常情况下,有没有必要学习如何使用第三方工具。 ICL的每当使用一个外部库,它提供额外的功能,以提供现代和ICL符合接口无缝包裹。

最优的服务表现
ICL的可以随意链接对英特尔IPP库,以提高它的处理速度显着。大多数功能是英特尔IPP包装内部实施,但我们还提供英特尔IPP所不支持的数据类型或回退的情况下实现的,其中英特尔IPP不可。 ICL的图像可用于浅包装周围现有的数据结构和它们的原始数据可以直接访问。通过这些手段,可以实现图像处理的应用没有任何数据转换或复制的开销。

强大的通用接口
ICL提供了一套非常强大的通用接口,图像过滤,图像采集卡和图像输出。例如可以用来获取图像从最不同的图像源,如图像文件和视频,所有常见的相机类型,但也从网络流,的GenericGrabber级。 ICL的程序参数评估框架相结合,可以很容易地开发应用程序,能够抓住所有支持的图像源的图像。

简单和易于使用的C + +接口
面向对象编程(OOP)在C + +提供高性能,因
接近处理器的编程,以及较高的抽象层次,由于面向对象的固有特征。特别是,继承,数据/功能封装,以及函数和类模板使用ICL的实施。然而,ICL的并不只使用复杂的模板结构,它是绝对必要的,这将特别赞赏中等熟练的C + +程序员。

没有强制性的软件依赖性
所有的外部软件的依赖纯粹是可选的。因此,ICL的形象的结构和它的功能和类的大集可以使用,而无需安装第三方库的大集。通过这些手段,可以开发的ICL的超薄版本的图像处理算法,并链接一个全功能的ICL的事后,即对你的代码,使用一定的相机类型。

强大的GUI集成
创建图形用户界面的基本组成部分是一个交互式计算机视觉应用的发展。 OpenCV的库不同,我们并不只集中在提供图像处理相关的功能和工具。 ICL的支持功能的一个基本组成部分是它的图形用户界面创建工具,允许创建和layouting内只有几行代码,最复杂和交互式的图形用户界面。

 

模式识别和视觉库 RAVL

官网:http://www.ee.surrey.ac.uk/CVSSP/Ravl/
下载:https://sourceforge.net/projects/ravl/
Recognition And Vision Library (RAVL) 是一个通用 C++ 库,包含计算机视觉、模式识别等模块

 

计算机视觉库 SimpleCV

官网:http://simplecv.org/
下载:https://sourceforge.net/projects/simplecv/files/latest/download?source=files

SimpleCV 将很多强大的开源计算机视觉库包含在一个便捷的Python包中。使用SimpleCV,你可以在统一的框架下使用高级算法,例如特征检测、滤波和模式识别。使用者不用清楚一些细节,比如图像比特深度、文件格式、颜色空间、缓冲区管理、特征值还有矩阵和图像的存储。

语法简洁,可读性强是它的特点,通过下面的例子可以看出使用SimpleCV时多么的容易:

from SimpleCV import Camera
image = Camera().getImage()
image.show()

 

视觉快速开发平台 qcv(图)

官网:http://code.google.com/p/qcv/
文档:https://code.google.com/archive/p/qcv/wikis
下载:https://code.google.com/archive/p/qcv/downloads
计算机视觉快速开发平台,提供测试框架,使开发者可以专注于算法研究。

 

libvideogfx

官网:不可用(http://www.oschina.net/p/libvideogfx)
视频处理、计算机视觉和计算机图形学的快速开发库。

 

Matlab计算机视觉包 mVision(图)

下载:https://sourceforge.net/projects/mvision/
Matlab 的计算机视觉包,包含用于观察结果的 GUI 组件,貌似也停止开发了,拿来做学习用挺不错的。

 

计算机视觉和机器人技术的工具包 EGT

官网:http://egt.dii.unisi.it/
The Epipolar Geometry Toolbox (EGT) is a toolbox designed for Matlab (by Mathworks Inc.). EGT provides a wide set of functions to approach computer vision and robotics problems with single and multiple views, and with different vision sensors.

Matlab 的计算机视觉和机器人技术的工具包,貌似现在已经停止开发了,但是其功能已经比较完善,比直接用 Matlab 本身的函数来得方便一些,有兴趣的可以拿去做二次开发。

 

Scilab的计算机视觉库 SIP(图)

官网:http://siptoolbox.sourceforge.net/
下载:https://sourceforge.net/projects/siptoolbox/
SIP 是 Scilab(一种免费的类Matlab编程环境)的图像处理和计算机视觉库。SIP 可以读写 JPEG/PNG/BMP 格式的图片。具备图像滤波、分割、边缘检测、形态学处理和形状分析等功能。

 

STAIR Vision Library

官网:http://stairvision.sourceforge.net/
下载:https://sourceforge.net/projects/stairvision/files/
STAIR Vision Library (SVL) 最初是为支持斯坦福智能机器人设计的,提供对计算机视觉、机器学习和概率统计模型的支持。

 

Lua视觉开发库 libecv(图)

官网:(404)http://www.oschina.net/p/libecv(参考)
ECV 是 lua 的计算机视觉开发库(目前只提供linux支持)

 

JavaScript图形绘制库 Toxiclibs.js

官网:http://haptic-data.com/toxiclibsjs/
下载:https://github.com/hapticdata/toxiclibsjs/
Toxiclibs.js 是一个开源的计算机图形设计库,无需外部依赖,使用 <canvas> 元素进行图形绘制。

 

计算机视觉算法 OpenVIDIA

官网:(不可用)
文档:http://www.oschina.net/p/openvidia
OpenVIDIA projects implement computer vision algorithms running on on graphics hardware such as single or multiple graphics processing units(GPUs) using OpenGL, Cg and CUDA-C. Some samples will soon support OpenCL and Direct Compute API’s also.

OpenVIDIA 项目使用 OpenGL 、Cg 和 CUDA-C 在拥有单GPU或多GPU的图形硬件上实现了计算机视觉算法,很快将要发布支持 OpenGL 和 Direct Compute API 的例程。

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注