OpenCV 计算机视觉库

开源网站开源项目 24-06-22 09:17:23

OpenCV全称为 Open Source Computer Vision Library,是一个跨平台的开源计算机视觉和机器学习软件库,可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的 IPP 进行加速处理。

OpenCV 旨在为计算机视觉应用程序提供通用基础架构,并加速机器感知在商业产品中的使用。

该库有2500多种优化算法,其中包括一套全面的经典和最先进的计算机视觉和机器学习算法。这些算法可用于检测和识别人脸、识别物体、对视频中的人类行为进行分类、跟踪摄像机运动、跟踪移动物体、提取物体的三维模型、从立体摄像机中产生三维点云、将图像拼接起来以产生整个场景的高分辨率图像、从图像数据库中找到类似的图像、从使用闪光灯拍摄的图像中去除红眼、跟踪眼睛的运动、识别风景并建立标记以叠加到增强现实中等等。OpenCV拥有超过4.7万人的用户群,估计下载量超过1800万。该库在公司、研究小组和政府机构中被广泛使用。

除了谷歌、雅虎、微软、英特尔、IBM、索尼、本田、丰田等知名公司外,还有许多初创公司,如 Applied Minds、VideoSurf 和 Zeitera 等都在广泛使用 OpenCV。OpenCV 的应用范围很广,包括将街景图像拼接在一起,在以色列检测监控视频中的入侵行为,在中国监控矿山设备,在Willow Garage帮助机器人导航和拾取物体,在欧洲检测游泳池溺水事故,在西班牙和纽约运行互动艺术,在土耳其检查跑道上的碎片,在世界各地的工厂检查产品的标签,以及在日本快速检测人脸。

它有 C++、Python、Java 和 MATLAB 接口,支持Windows、Linux、Android和Mac OS。OpenCV 主要倾向于实时视觉应用程序,并在可用时利用 MMX 和 SSE 指令。目前正在积极开发功能齐全的CUDA和OpenCL 接口。有超过 500 种算法和大约 10 倍的函数组成或支持这些算法。OpenCV 是用 C++ 原生编写的,具有可与 STL 容器无缝协作的模板化接口。

OpenCV 具有模块化结构,这意味着该软件包包含多个共享或静态库。以下模块可用:

核心功能(core)- 定义基本数据结构的紧凑模块,包括密集的多维数组 Mat 和所有其他模块使用的基本功能。

图像处理(imgproc) - 一个图像处理模块,包括线性和非线性图像过滤、几何图像变换(调整大小、仿射和透视变形、通用的基于表格的重新映射)、色彩空间转换、直方图等。

Video Analysis(video) - 一个视频分析模块,包括运动估计、背景减除和对象跟踪算法。

相机校准和 3D 重建(calib3d) - 基本的多视图几何算法、单相机和立体相机校准、物体姿态估计、立体对应算法和 3D 重建的元素。

2D 特征框架(features2d) - 显着特征检测器、描述符和描述符匹配器。

对象检测(objdetect) - 检测预定义类的对象和实例(例如,面部、眼睛、杯子、人、汽车等)。

高级 GUI(highgui) - 简单 UI 功能的易于使用的界面。

视频 I/O(videoio) - 一个易于使用的视频捕获和视频编解码器接口。

...一些其他帮助模块,例如 FLANN 和 Google 测试包装器、Python 绑定等。

[OpenCV 计算机视觉库]相关推荐

VirtualBox 开源虚拟机

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由SunMicrosystems公司出品的……...

Sikuli 图形脚本语言

Sikuli 图形脚本语言

MIT设计了一种新颖的图形脚本语言Sikuli,计算机用户 只须有最基本的编程技能(比如会写print"hello……...

Ruby 动态类型编程语言

Ruby 动态类型编程语言

Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语……...

Zimbra 协同办公套件

Zimbra 协同办公套件

强大的开源协同办公套件,包括 WebMail、日历、通信录、Web 文档管理和创作。它最大的特色在于其采用 Aja……...

今日开源
  1. kele 任务管理系统

    kele 任务管理系统

    自动生成数据库,HTML 表单,以此为基础,扩展各种表单和数据库,数据库字段自动匹配数据的格式及处理。 希望由面向程序员到面向用户,用户直接做做选择题,即能实现想要的功能。 系统说明: 第一步建字段,先设想……

    开源软件 2024-07-02

  2. Thyme 自动追踪使用应用程序的时间

    Thyme 可以自动追踪你使用应用程序的时间。 特性: 简单的命令行界面: 每 30s 记录一次你使用的应用 $ while true; do thyme track -o thyme.json; sleep 30s; done; 在新窗口创建图表以显示……

    开源软件 2024-07-02

  3. Una 尤娜博客系统

    Una 尤娜博客系统

    Una [‘尤娜’] 只是一个项目代号,没有特殊含义。尤娜是站在巨人的肩膀上开发完成的博客系统,旨在为程序员提供一个极简的内容创作管理平台,尤娜100%开放源代码,如果您对她感兴趣,Fork她,并尽情的……

    开源软件 2024-07-02

返回顶部小火箭