OpenCV与Open3D等开源视觉库的详细笔记
开源视觉库,从二维(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中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。
支持的编译器
- 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
-
用于3D数据处理的现代库
- About Open3D 关于
- Getting Started 入门
- Compiling from source 源码编译
- Building Documentation 编译文档
- Contributing to Open3D 贡献
Tutorial 教程
Python API
- open3d.camera
- open3d.color_map
- open3d.geometry
- open3d.io
- open3d.integration
- open3d.odometry
- open3d.registration
- open3d.utility
- open3d.visualization
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/103226687
- 点赞
- 收藏
- 关注作者
评论(0)