首先,很高兴通过参加“点云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模块---基于核外八叉树的大规模点云的显示 关于我们 目前微信交流群不断壮大,由于人数太多,目前有两个群,为了鼓励大家分享,我们希望大家能在学习的同时积极分享,将您的问题或者小总结投稿发到群主邮箱主邮箱dianyunpcl@163.com。 |
|