前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV与Open3D等开源视觉库的详细笔记

OpenCV与Open3D等开源视觉库的详细笔记

作者头像
zhangrelay
发布2019-11-28 22:47:20
5.7K0
发布2019-11-28 22:47:20
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ZhangRelay/article/details/103226687

开源视觉库,从二维(2D)逐步发展到三维(3D)并已经日益成熟。OpenCV版本为4.1.2+,Open3D版本为0.8+。

OpenCV:

OpenCV(开源计算机视觉库)是一个开源计算机视觉和机器学习软件库。OpenCV的构建旨在为计算机视觉应用程序提供通用的基础结构,并加速在商业产品中使用机器感知。作为BSD许可的产品,OpenCV使企业可以轻松地使用和修改代码。

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

除了使用该库的Google,Yahoo,Microsoft,Intel,IBM,Sony,Honda,Toyota之类的知名公司外,还有许多新兴公司(例如Applied Minds,VideoSurf和Zeitera)广泛使用OpenCV。OpenCV的部署用途包括将街景图像拼接在一起,检测以色列监视视频中的入侵,监视中国的矿山设备,帮助机器人导航和拾取Willow Garage的物体,检测欧洲游泳池溺水事故,在西班牙和纽约,在土耳其检查跑道上的碎屑,检查世界各地工厂产品上的标签,然后在日本进行快速面部识别。

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

  • OpenCL:开放计算语言(OpenCL)是一种开放标准,用于编写跨异构平台(包括CPU,GPU,DSP等)运行的代码。特别是,OpenCL为应用程序提供对GPU的访问,以用于非图形计算(GPGPU),在某些情况下会导致大大加快了速度。在计算机视觉中,许多算法可以在GPU上比在CPU上更有效地运行:例如图像处理,矩阵算术,计算摄影,对象检测等。
  • OpenGL:OpenGL是开发便携式,交互式2D和3D图形应用程序的主要环境。自1992年问世以来,OpenGL已成为业界使用最广泛且受支持最多的2D和3D图形应用程序编程接口(API),将成千上万的应用程序带入各种计算机平台。OpenGL通过合并大量的渲染,纹理映射,特殊效果和其他强大的可视化功能来促进创新并加快应用程序开发。开发人员可以在所有流行的台式机和工作站平台上利用OpenGL的功能,从而确保广泛的应用程序部署。

Open3D:

Open3D是一个开放源代码库,支持快速开发处理3D数据的软件。Open3D前端在C++和Python中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。

介绍

Open3D是一个开放源代码库,支持快速开发处理3D数据的软件。Open3D前端在C ++和Python中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。Open3D是从一开始就开发出来的,带有很少的,经过仔细考虑的依赖项。它可以在不同的平台上设置,并且可以从源代码进行最小的编译。代码干净,样式一致,并通过清晰的代码审查机制进行维护。Open3D已用于许多已发布的研究项目中,并已积极部署在云中。我们欢迎开源社区的贡献。

核心功能

  • 基本的3D数据结构
  • 基本的3D数据处理算法
  • 场景重建
  • 表面对齐
  • 3D可视化
  • Python绑定

支持的编译器

  • Linux上的GCC 4.8及更高版本
  • OS X上的XCode 8.0及更高版本
  • Windows上的Visual Studio 2015及更高版本

PCL:The Point Cloud Library(或PCL)是大型的,开放项目用于2D / 3D图像和点云的处理。PCL框架包含众多最新算法,包括滤波,特征估计,表面重建,配准,模型拟合和分段。这些算法可用于,例如,从嘈杂的数据中过滤离群值,将3D点云缝合在一起,分割场景的相关部分,提取关键点并计算描述符以根据物体的几何外观识别世界上的物体,并从中创建表面点云并将其可视化

计算机视觉库OpenCV早年也是Intel开源的,在Intel公司的支持下,Open3D会像OpenCV一样成为三维开源视觉SDK标杆。

从源码编译安装,但是相对复杂一些,特别注意:如果系统之前已经安装了ROS,安装Open3D的源码编译依赖时会卸载掉ROS,所以还是推荐第一种安装方式。除非系统非常干净,因为系统装的东西太多的话,安装包冲突会很麻烦。



Open3D: A Modern Library for 3D Data Processing

Tutorial 教程

Python API


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OpenCV:
  • Open3D:
  • 介绍
  • 核心功能
  • 支持的编译器
  • Open3D: A Modern Library for 3D Data Processing
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档