在C++中,stdint.h文件将unsigned char的别名定义为 uint8_t,这边对点云进行红色赋色,并打开可视化窗口进行查看:下面我们将附上代码。
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
#include<iostream>
using namespace std;
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor(0, 0, 0);
}
typedef pcl::PointXYZRGB PointT;
typedef pcl::PointCloud<PointT> PointCloudT;
int main()
{
PointCloudT::Ptr cloud(new PointCloudT);
if (pcl::io::loadPCDFile("bun000.pcd", *cloud)<0)
{
PCL_ERROR("点云文件不存在!\n");
return -1;
}
size_t max_i = cloud->points.size();
for (size_t i = 0; i < max_i; i++)
{
cloud->points[i].r = (uint8_t)225;
cloud->points[i].g = (uint8_t)0;
cloud->points[i].b = (uint8_t)0;
}
pcl::visualization::CloudViewer viewer("cloud viewer");
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system("pause");
return 0;
}
对代码进行运行,得到下面的红色模型,有兴趣的自己也可以根据RGB数值得到自己喜欢的颜色。