OpenCV是什么

小白 问答 2020-08-12 13:57:57 阅读(...)

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

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

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Tesseract

    Tesseract是什么

    Tesseract是一个光学字符识别引擎。支持多种操作系统,基于Apache许可证的自由软件,由Google赞助开发。 Tesseract被认为是最精准的开源光学字符识别引擎之一。
  • PCL

    什么是pcl

    PCL是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。
  • 图像二值化是什么

    图像二值化是什么

    图像二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。
  • cmake是什么

    cmake是什么

    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
  • 智能物联 IIOT

    物联网 需要什么

    物联网需要 1、要有数据传输通路;2、要有一定的存储功能;3、要有CPU;4、要有操作系统;5、要有专门的应用程序;6、遵循物联网的通信协议;7、在世界网络中有可被识别的唯一编号。
  • 计算机视觉 Computer vision

    计算机视觉是什么

    计算机视觉(Computer vision)是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。