OpenCV简介:
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
OpenCV可用于解决如下领域的问题:
增强现实
人脸识别
手势识别
人机交互
动作识别
运动跟踪
物体识别
图像分割
机器人
历史编辑
OpenCV原作者英特尔公司初始版本2000年6月稳定版本。
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]和用户网站。
编程语言编辑
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。[4]现在也提供对于C#, Ch,[5] Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现.
操作系统支持编辑
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: 存档副本.[2012-11-20]. (原始内容存档于2012-11-21).
OpenCV Developer Site: http://code.opencv.org Wikiwix的存档,存档日期2013-04-15
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: 存档副本. [2012-12-30]. (原始内容存档于2012-11-26).
Maemo port: https://garage.maemo.org/projects/opencv
iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/