1、从点云创建深度图像,可视化并保存
PCL中有两种方式可视化深度图像:
(1)一种方式是在3D viewer中以点云的方式显示。(深度图来源于点云图)
(2)另一种方式是作为一幅图像显示(以不同的颜色表示不同的深度值)
在方式2中,可能由于pcl1.8.0的版本问题,无法在窗口显示深度图像,但是深度图像确实是生成了的,可以通过一个API将深度图像保存为一个png格式的图片然后查看。
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/range_image/range_image.h> //点云转深度头文件
#include <pcl/visualization/range_image_visualizer.h> //深度图像可视化
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/png_io.h>//保存深度图像
#include <pcl/visualization/common/float_image_utils.h>//保存深度图像
typedef pcl::PointXYZ PointType;
int main()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
//1、读取点云
//pcl::io::loadPCDFile("hand.pcd", *cloud);
//生成数据
for (float y = -0.5f; y <= 0.5f; y += 0.01f) {
for (float z = -0.5f; z <= 0.5f; z += 0.01f)