OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
OpenCV 是一个基于 BSD 许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在 Linux、Windows、Android 和 Mac OS 操作系统上。
OpenCV 的全称是 Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV 是由英特尔公司发起并参与开发,以 BSD 许可证授权发行,可以在商业和研究领域中免费使用。OpenCV 可用于开发实时的图像处理、计算机视觉以及模式识别程序。
OpenCV 用 C++语言编写,它具有 C ++,Python,Java 和 MATLAB 接口,并支持 Windows,Linux,Android 和 Mac OS,OpenCV 主要倾向于实时视觉应用,并在可用时利用 MMX 和 SSE 指令, 如今也提供对于 C#、Ch、Ruby,GO 的支持。
历史
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 用 C++语言编写,它的主要接口也是 C++语言,但是依然保留了大量的 C 语言接口。该库也有大量的 Python, Java and MATLAB/OCTAVE (版本 2.5)的接口。这些语言的 API 接口函数可以透过在线文档获取。[4]现在也提供对于 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 获得。