OpenCV

![]() | |
原作者 | 英特尔公司 |
---|---|
首次发布 | 2010年6月 |
当前版本 | 3.2.0(2016年12月23日 | )
源代码库 | |
操作系统 | 跨平台 |
类型 | 开发函式庫 |
许可协议 | BSD许可证 |
网站 | http://opencvlibrary.sourceforge.net/ |
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
历史
OpenCV项目最早由英特尔公司于1999年启动,致力于CPU密集型的任务,是一个包括如光线追踪和3D显示的计划的一部分。早期OpenCV的主要目标是
- 为推进机器视觉的研究,提供一套开源且优化的基础库。不重复发明轮子。
- 提供一个共同的基础库,使得开发人员的代码更容易阅读和转让,促进了知识的传播。
- 通过提供一个不需要开源或免费的软件许可,促进商业应用软件的开发。
- OpenCV现在也集成了对CUDA的支持.
OpenCV的第一个预览版本于2000年在IEEE Conference on Computer Vision and Pattern Recognition公开,并且后续提供了五个测试版本。1.0版本于2006年发布。
OpenCV的第二个主要版本是2009年10月的OpenCV 2.0。该版本的主要更新包括C++接口,更容易、更类型安全的模式,新的函数,以及对现有实现的优化(特别是多核心方面)。现在每6个月就会有一个官方版本[1],并由一个商业公司赞助的独立小组进行开发。
在2012年8月,OpenCV的支持由一个非盈利性组织(OpenCV.org)来提供,并保留了一个开发者网站[2]和用户网站。[3]
应用领域
OpenCV可用于解决如下领域的问题:
编程语言
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。[4]现在也提供对于C#, Ch,[5] Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现.[6]
操作系统支持
OpenCV可以在Windows, Android,[7] Maemo,[8] FreeBSD, OpenBSD, iOS,[9] Linux和Mac OS等平台上运行。使用者可以在SourceForge获得官方版本,或者从SVN获得开发版本。OpenCV也是用CMake.
Windows 作業系統需求
在Windows上编译OpenCV中与摄像输入有关部分时,需要DirectShow SDK中的一些基类。该SDK可以从预先编译的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目录Samples\Multimedia\DirectShow\BaseClasses获得。
参考文献
- ^ OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog
- ^ OpenCV Developer Site: http://code.opencv.org
- ^ OpenCV User Site: http://opencv.org/
- ^ OpenCV C interface: http://docs.opencv.org
- ^ Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/
- ^ Cuda GPU port: http://opencv.org/platforms/cuda.html
- ^ Android port: http://opencv.willowgarage.com/wiki/AndroidExperimental
- ^ Maemo port: https://garage.maemo.org/projects/opencv
- ^ iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/