分享

Orbbec深度相机开箱体验

 点云PCL 2021-03-09

首先,很高兴通过参加“点云PCL”公众号的活动,得到了一台深度摄像机(如下图)。

自己接触3D点云这一领域已经快有一年时间了,从起初PCL环境配置到基本的程序实现,每一步都对当初作为初学者的我有很大的挑战,我和师兄两个非计算机专业的人一点点琢磨、一点点探索遇到的每一个问题的解决方法,但仍旧有很多问题得不到解决,直到之后无意间发现了“点云PCL”公众号,发现公众号里面基本包含了作为一个初学者遇到的问题,包括PCL的配置、PCL中各个算法的原理介绍,这些都对我们学习点云有很大的帮助;同时“点云PCL”公众号内还有一些经典的、先进的算法介绍及其应用的文章,通过阅读这些文章不仅让我们对点云配准这方面有了更具体的了解,而且为我们处理点云问题提供的新的解决思路。希望”点云PCL”能够越办越好,为更多致力于学习点云的人提供帮助。接下来说一下,我围绕着深度摄像机做的一些尝试。


配置深度摄像机的过程


1.首先下载驱动和SDK:https:///develop/

1.1  下载驱动并安装:

1.2  下载SDK:

2.  在VS2017中配置

2.1  打开项目菜单,然后选择项目属性

近来很多3D的应用在兴起,3D传感器在进步,随着虚拟网络的发展转到物理实际中的应用,比如(ADAS,AR,MR)自动驾驶中需要理解 汽车行人交通标识,同时也需要理解三维物体的状态静止和移动。



  2.2 头文件配置:在C++/常规/附加包含目录添加include文件夹路smaples\common文件夹路径

2.3 lib文件配置:①在链接器/常规/附加库目录中添加lib及其Plugins文件路径

②在链接器/输入/附加依赖项中添加如下lib文件

2.4  动态链接库配置:配置属性/调试/环境中添加bin路径:格式为path=(bin文件夹路径)

基于此 运行sample/cpp-api/DepthReanderEventCPP结果如下:

 SDK自带的运行程序示例


3.1 骨架显示(SimpleBodyViewer)

3.2 手势跟踪(SimpleHandViewer)

根据深度图生成点云

1.  首先下载了NiViewer,可用于显示并保存深度图,格式为raw格式。

2. 下载ImageJ,可以可视化raw,同时可以将raw文件另存为txt文件。

3. 使用matlab和标定板测量相机内参

3.1 使用相机拍摄不同角度不同距离的标定板15张

3.2 打开matlab,选择app/ camera calibrator

3.3 将图片导入到matlab中

3.4 确定每个格子边长,根据自己标定板设定

3.5 选择三个径向畸变量和切向基变量,再点击校准

3.6 点击计算

3.7 得到内参如下

4. 根据txt文件和相机内参转化为点云并显示

主程序:

转化为点云的函数

可视化函数

点云显示结果:

资源

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

基于鱼眼相机的SLAM方法介绍

点云学习历史文章大汇总


关于我们



目前微信交流群不断壮大,由于人数太多,目前有两个群,为了鼓励大家分享,我们希望大家能在学习的同时积极分享,将您的问题或者小总结投稿发到群主邮箱主邮箱dianyunpcl@163.com。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多