一、序言:
想要在qt中显示出来我们需要的图像还需要进一步的配置工作。
不过这部分工作基本上都已经配置完成了。我需要做的仅仅是在qt之中再添加一下pcl的头文件。
这个地方的配置也是在复杂,竟然配置了两天……
二、QT配置pcl
网上给出的参考代码;
根据这些参数可以获得读取到点云信息并进行可视化;
#include <iostream>
#include <pcl/io/pcd_io.h>
#include<pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
using namespace std;
int main(int argc, char** argv)
{
pcl::PCDReader reader;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
reader.read("E:/code/date/table.pcd", *cloud);
pcl::visualization::CloudViewer viewer("cloud_viewer");
viewer.showCloud(cloud);
while (!viewer.wasStopped())
{
}
return(0);
}
三、路径问题
四、解决方法
添加得pcl库信息
NCLUDEPATH += “/usr/include/pcl-1.8/“ \
“/usr/include/pcl-1.8/pcl” \
“/usr/include/flann/“ \
“/usr/include/eigen3/“ \
“/usr/include/pcl-1.8/pcl/visualisation/vtk” \
“/usr/include/boost” \
需要将这些信息改到本地化; 例如: 另一种写法:(这个成功了)
#Eigen
INCLUDEPATH += /usr/include/eigen3
#Vtk
INCLUDEPATH += /usr/include/vtk-5.10
LIBS += /usr/lib/libvtk*.so
#Boost
INCLUDEPATH += /usr/include/boost
LIBS += /usr/lib/x86_64-linux-gnu/libboost_*.so
#PCL Header
INCLUDEPATH += /usr/include/pcl-1.8
#PCL Lib
LIBS += /usr/lib/x86_64-linux-gnu/libpcl_*.so \
关于vtk信息:
这个地方用的vtk是pcl自带的,不仅如此,里边还有各种python、boost各种库的底层vtk。
但是要求的是独立的vtk?果然,这里就出问题了。
错误 C1083 无法打开包括文件: “vtkSmartPointer.h”: No such file or directory 本来的包含目录是 D:\Program Files\PCL 1.9.1\3rdParty\VTK\include 得加上 D:\Program Files\PCL 1.9.1\3rdParty\VTK\include\vtk-8.1 我也不知道为什么
不过这个解决方案是windows的,还是得去pcl下看。结果发现里边只有四个头文件?
看来windows和linux确实有差别。不过在找的过程中看到6.3版本的,直接按上竟然显示成功了。
五、测试
需要找个pcd文件进行测试,网上找的测试文件不知道为什么只有三个色块。
在大佬的建议下自己写了个测试pcd,(画了个球;
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor (1, 1, 1);
pcl::PointXYZ ball;
ball.x = 1.0;
ball.y = 0;
ball.z = 0;
viewer.addSphere (ball, 10, "sphere", 0);
}
int main ()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::visualization::CloudViewer viewer ("My Cloud Viewer");
viewer.runOnVisualizationThreadOnce (viewerOneOff);
while (!viewer.wasStopped ())
{
}
return 0;
}
配置成功!
六、参考资料
《QT+PCL 第一章》:点云读取显示_小修勾的博客-CSDN博客_qt 点云显示
https://blog.csdn.net/weixin_43236944/article/details/123532526
点云可视化_(1)两种可视化操作_小修勾的博客-CSDN博客_点云可视化
linux下无法打开包括文件:“pcl/io/pcd_io.h”: No such file or directory_假老练啊哦的博客-CSDN博客
QT工程添加PCL库 | 晟洋的后花园 (ttoto.github.io)
https://blog.csdn.net/qq_39758080/article/details/87454318
PCL:点云数据(*.pcd)文件格式详解_孙 悟 空的博客-CSDN博客_pcd文件格式
pcl画圆球_PCL 可视化-阿里云开发者社区_Miss.94364的博客-CSDN博客
PCL学习(二)常见图形的可视化_梦醒时分1218的博客-CSDN博客
|