3D视觉CV界的终极体现形式,计算机如何「看」这个三维世界
点云的数据量庞大,需要专门的数据存储库进行显示和保存。例如,一张 640 x 480 尺寸的深度图就可以转换为大约三十万个空间点的点云,大的点云可达百万甚至千万以上,这时专门用来进行点云的读写、处理等各种操作数据存储库就显得非常重要。 PCL(Point Cloud Library)库支持跨平台存储,可以在 Windows、Linux、macOS、iOS、Android 上部署。可应用于计算资源有限或者内存有限的应用场景,是一个大型跨平台开源 C++ 编程库,它实现了大量点云相关的通用算法和高效数据结构,其基于以下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等操作,非常方便移动端开发。 此处的 common 指的是点云数据的类型,包括 XYZ、XYZC、XYZN、XYZG 等很多类型点云。可以看出,低层次的点云处理主要包括滤波(filters)、关键点(keypoints)、边缘检测。点云的中层次处理则是特征描述(feature)、分割(segmention)与分类。高层次处理包括配准(registration)、识别(recognition)。 除了 PCL 库以外,VCG 库(Visulization and Computer Graphics Libary)是专门为处理三角网格而设计的,该库很大,且提供了许多先进的处理网格的功能,以及比较少的点云处理功能。 CGAL(Computational Geometry Algorithms Library)计算几何算法库,设计目标是以 C++ 库的形式,提供方便、高效、可靠的几何算法,其实现了很多处理点云以及处理网格的算法。 Open3D 是一个可以支持 3D 数据处理软件快速开发的开源库。支持快速开发处理 3D 数据的软件。Open3D 前端在 C++ 和 Python 中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。Open3D 是从一开始就开发出来的,带有很少的、经过仔细考虑的依赖项。它可以在不同的平台上设置,并且可以从源代码进行最小的编译。代码干净,样式一致,并通过清晰的代码审查机制进行维护。在点云、网格、rgbd 数据上都有支持。 本文是针对 3D 视觉的总结性文章,介绍了几个比较重要的知识点,希望可以在一定程度上帮助大家更深刻地理解 3D 视觉。在接下来的文章中,我们将继续介绍 3D 视觉领域算法的实现。
(编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |