The Wayback Machine - https://web.archive.org/web/20221025090252/https://baike.sogou.com/kexue/d10644.htm

OpenCV

编辑

开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库[1]。 最初由英特尔开发,后来由柳树车库(Willow Garage)支持,后来由伊塞兹(Itseez)支持(后来被英特尔收购[2])。该库是跨平台的,根据开源BSD许可证免费使用。

OpenCV支持深度学习框架TensorFlow、Torch/PyTorch和Caffe[3]

1 历史编辑

OpenCV项目于1999年正式启动,最初是英特尔的一项研究计划,旨在推进中央处理器密集型应用,是包括实时光线跟踪和3D显示墙在内的一系列项目的一部分[4]。该项目的主要贡献者包括英特尔俄罗斯公司的许多优化专家,以及英特尔的性能库团队。在OpenCV的早期,项目的目标被描述为:[5]

  • 通过为基本视觉基础设施提供开放且优化的代码来推进视觉研究。不再重新发明轮子。
  • 通过提供开发人员可以构建的公共基础设施来传播视觉知识,以便代码更容易阅读和转移。
  • 通过免费提供可移植的、性能优化的代码来推进基于视觉的商业应用程序——许可证不要求代码本身是开放的或自由的。

OpenCV的第一个alpha版本在2000年的IEEE计算机视觉和模式识别会议上向公众发布,2001年至2005年间发布了五个beta版本。第一个1.0版本于2006年发布。1.1版“预览版”于2008年10月发布。

OpenCV的第二次主要发布是在2009年10月。OpenCV 2包括对C++接口的主要更改,旨在更容易、更类型安全的模式、新功能以及现有功能在性能方面的更好实现(尤其是在多核系统上)。现在每六个月发布一次[6] 官方版本,开发工作现在由商业公司支持的独立俄罗斯团队完成。

2012年8月,对OpenCV的支持被一个非营利基金会OpenCV.org接管[7], 该基金会拥有一个开发者和用户网站[8]

2016年5月,英特尔签署了一项协议[9], 收购OpenCV的主要开发商伊塞兹[10]

2 应用编辑

运行OpenCV插件示例的openFrameworks

OpenCV的应用领域包括:

  • 2D和3D功能工具包
  • 运动估计
  • 面部识别系统
  • 手势识别
  • 人机交互
  • 移动机器人
  • 动作理解
  • 物体识别
  • 分割和识别
  • 实体影像立体视觉:来自两个摄像机的深度感知
  • 运动中的结构(SFM)
  • 运动跟踪
  • 增强现实

为了支持上述一些领域,OpenCV包括一个统计机器学习库,其中包含:

  • 提升(Boosting)
  • 决策树学习
  • 梯度提升树
  • 期望最大化算法
  • k最近邻算法
  • 朴素贝叶斯分类器
  • 人工神经网络
  • 随机森林
  • 支持向量机(SVM)
  • 深层神经网络(DNN)[11]

3 程序设计语言编辑

OpenCV是用C++编写的,它的主要接口是用C++编写的,但是它仍然保留了一个很广泛但不太全面的旧C接口。Python、Java和MATLAB/OCTAVE都有OpenCV 的API。这些接口的应用编程接口(API)可以在在线文档中找到[12]。 现在OpenCV还提供诸如C#、Perl[13]、 Ch [14]、 Haskell[15] 和Ruby的接口,以鼓励更广泛的用户进行使用。

从3.4版开始,OpenCV.js是一个针对网络平台的OpenCV函数的选定子集的JavaScript对应API[16]

OpenCV中的所有新开发和算法现在都是在C++接口中开发的。

4 硬件加速编辑

如果库在系统上找到英特尔的集成性能原语,它将使用这些专有的优化例程来加速自身。

自2010年9月以来,一个基于CUDA的图形处理器接口一直在支持中[17]

基于OpenCL的图形处理器接口自2012年10月以来一直在开发中[18],2.4.13.3版本的文档可在docs.opencv.org 上找到[19]

5 操作系统支持编辑

OpenCV运行在以下桌面操作系统上:Windows、Linux、macOS、FreeBSD、NetBSD、OpenBSD。OpenCV运行在以下移动操作系统上:安卓、iOS、梅莫[20]、黑莓10[21]。 用户可以从SourceForge获得官方发布版本,也可以从GitHub获得最新的源代码[22]。 OpenCV使用CMake。

参考文献

  • [1]

    ^Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1 April 2012). "Realtime Computer Vision with OpenCV". Queue. pp. 40:40–40:56. doi:10.1145/2181796.2206309..

  • [2]

    ^Intel acquires Itseez: https://opencv.org/intel-acquires-itseez.html.

  • [3]

    ^https://web.archive.org/web/20221025090252/https://github.com/opencv/opencv/wiki/Deep-Learning-in-OpenCV.

  • [4]

    ^Adrian Kaehler; Gary Bradski (14 December 2016). Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library. O'Reilly Media. pp. 26ff. ISBN 978-1-4919-3800-3..

  • [5]

    ^Bradski, Gary; Kaehler, Adrian (2008). Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc. p. 6..

  • [6]

    ^OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog.

  • [7]

    ^OpenCV Developer Site: http://code.opencv.org.

  • [8]

    ^OpenCV User Site: http://opencv.org/.

  • [9]

    ^"Intel Acquires Computer Vision for IOT, Automotive | Intel Newsroom". Intel Newsroom (in 英语). Retrieved 2018-11-26..

  • [10]

    ^"Intel acquires Russian computer vision company Itseez". East-West Digital News (in 英语). 2016-05-31. Retrieved 2018-11-26..

  • [11]

    ^OpenCV: http://opencv.org/opencv-3-3.html.

  • [12]

    ^OpenCV C interface: http://docs.opencv.org.

  • [13]

    ^CPAN: http://search.cpan.org/~yuta/Cv-0.29/.

  • [14]

    ^Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/.

  • [15]

    ^The haskell-opencv project on Github: https://github.com/LumiGuide/haskell-opencv.

  • [16]

    ^Introduction to OpenCV.js and Tutorials.

  • [17]

    ^Cuda GPU port: http://opencv.org/platforms/cuda.html.

  • [18]

    ^OpenCL Announcement: http://opencv.org/opencv-v2-4-3rc-is-under-way.html.

  • [19]

    ^OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html.

  • [20]

    ^Maemo port: https://garage.maemo.org/projects/opencv.

  • [21]

    ^BlackBerry 10 (partial port): https://github.com/blackberry/OpenCV.

  • [22]

    ^https://web.archive.org/web/20221025090252/https://github.com/Itseez/opencv.

阅读 1.7w
版本记录
  • 暂无