OpenCV 技术专题简介-冯金伟博客园

简介

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获得。