PCL中viewer添加并显示的点云过于简单,现总结常见的几种点云渲染方式,便于点云结果的显示。
(1)按照点云坐标x、y、z坐标值中字段给点云进行赋值渲染
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
pcl::PointCloud<pcl::PointXYZ>::Ptr Cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::io::loadPCDFile("E:\\test_PCL\\ConsoleApplication1\\ConsoleApplication1\\test_pcd.pcd", *Cloud);//读入点云数据
pcl::visualization::PCLVisualizer viewer("建筑物");
viewer.setBackgroundColor(0, 0, 0);
//pcl::visualization::PointCloudColorHandlerRandom<pcl::PointXYZ> RandomColor(Cloud);
//pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> fildColor(Cloud, 0,255,0);//0-255 设置成绿色
pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(Cloud, "z");//按照z字段进行渲染
viewer.addPointCloud<pcl::PointXYZ>(Cloud, fildColor, "sample");//显示点云,其中fildColor为颜色显示
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample");//设置点云大小
while (!viewer.wasStopped())
{
viewer.spinOnce();
}
return 0;
}
from:https://blog.csdn.net/qq_32867925/article/details/82854937
想继续显示法向量,但是总是出错“PCL error:no override found for'vtkPloyDataMapper',按网上的教程修改,根本解决不了,心累啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。