OpenCV是什么?

来源:TechTMT.Com  作者:整理  日期:2022-02-26 12:54:20

OpenCV是一个基于 BSD 许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在 Linux、Windows、Android 和 Mac OS 操作系统上。

OpenCV

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)的子目录 Samples\Multimedia\DirectShow\BaseClasses 获得。

分类:资讯
标签:是什么
编辑:tmt
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。文章版权归原作者所有,内容不代表本站立场!
免责声明: 阁下应知本站所提供的内容不能做为操作依据。本站作为信息内容发布平台,不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考! 如文中内容影响到您的合法权益(含文章中文字、图片等),请及时联系本站,我们会及时删除处理。