在学习PCLVisualizer可视化时,遇到了以下问题,浪费了我好多时间,希望可以帮到大家:
1.问题描述
1.1. 很多未定义
1. 2.没有规则可制作目标问题
2.问题解决
分析:就是CMakeLists.txt有问题
针对该问题我的CMakeLists.txt主要内容如下:


就额外加这两个find_package(PCL REQUIRED) 和
target_link_libraries(节点名 ${catkin_LIBRARIES} ${PCL_LIBRARIES} )就可以解决了。
package.xml文件按照自动生成的就行,不用加其他。

成功运行结果如下:

同时附上我的测试代码,比较简单,网上大多是一长串,不利于调试:
1.cloudViewer
#include<pcl/point_types.h>
#include<pcl/io/pcd_io.h>
#include<pcl/visualization/cloud_viewer.h>
int main() {
pcl::PointCloud<pcl::PointXYZ> cloud;
// 加载点云
pcl::io::loadPCDFile<pcl::PointXYZ>("/home/***/StuPro01/StuPCL02/src/viewer_pkg/data/myfilter.pcd",cloud);
// 定义CloudViewer对象
pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer");
// 显示点云
viewer.showCloud(cloud.makeShared());
while (!viewer.wasStopped ())
{
}
return 0;
}2.PCLVisualizer
#include <iostream>
#include <thread>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
pcl::visualization::PCLVisualizer::Ptr customColourVis (pcl::PointCloud<pcl::PointXYZ>::ConstPtr cloud)
{
pcl::visualization::PCLVisualizer::Ptr viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));
viewer->setBackgroundColor (0, 0, 0);
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 0, 255, 0);
viewer->addPointCloud<pcl::PointXYZ> (cloud, single_color, "sample cloud");
viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample cloud");
viewer->addCoordinateSystem (1.0);
viewer->initCameraParameters ();
return (viewer);
}
int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr basic_cloud_ptr (new pcl::PointCloud<pcl::PointXYZ>);
//pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::io::loadPCDFile<pcl::PointXYZ>("/home/***/StuPro01/StuPCL02/src/viewer_pkg/data/myfilter.pcd",*basic_cloud_ptr);
pcl::visualization::PCLVisualizer::Ptr viewer;
viewer = customColourVis(basic_cloud_ptr);
while (!viewer->wasStopped ())
{
viewer->spinOnce (100);
boost::this_thread::sleep (boost::posix_time::microseconds (100000));
}
}版权声明:本文为qq_52852944原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。