简介
OpenCV原作者英特尔公司首次发布2000年6月 (2000-06)当前版本4.7.0 (2022年12月29日;稳定版本) 源代码库github.com/opencv/opencv 操作系统跨平台类型开发库许可协议Apache许可证2.04.5.0版前:BSD许可证网站opencv.orgOpenCV的全称是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个月就会有一个官方版本,并由一个商业公司赞助的独立小组进行开发。
在2012年8月,OpenCV的营运由一个非营利组织(OpenCV.org)来提供,并保留了一个开发者网站和用户网站。
应用领域
OpenCV可用于解决如下领域的问题:
增强现实
人脸识别
手势识别
人机交互
动作识别
运动跟踪
物体识别
图像分割
机器人
编程语言
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以透过在线文档获取。现在也提供对于C#, Ch, Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现.
操作系统支持
OpenCV可以在Windows, Android, Maemo, FreeBSD, OpenBSD, iOS, Linux和Mac OS等平台上运行。用户可以在Github获得官方版本,或者从Git获得开发版本。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)的子目录SamplesMultimediaDirectShowBaseClasses获得。