[英]Print 3D coordinates of the selected point inside PCL visualizer
我正在嘗試使用PCL打印所選點的3D坐標。 以下是代碼:
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;
void pointPickingEventOccurred (const pcl::visualization::PointPickingEvent& event, void* viewer_void)
{
std::cout << "[INOF] Point picking event occurred." << std::endl;
float x, y, z;
if (event.getPointIndex () == -1)
{
return;
}
event.getPoint(x, y, z);
std::cout << "[INOF] Point coordinate ( " << x << ", " << y << ", " << z << ")" << std::endl;
}
int main (int argc, char** argv)
{
pcl::visualization::PCLVisualizer viewer("Cloud Viewer");
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr body (new pcl::PointCloud<pcl::PointXYZRGBA>);
pcl::io::loadPCDFile ("body.pcd", *body);
viewer.addPointCloud (body,"body");
viewer.registerPointPickingCallback (pointPickingEventOccurred, (void*)&viewer);
viewer.spin();
return 0;
}
代碼編譯時沒有任何錯誤,但它不會在termainal中打印任何信息。 這有什么不對?
嘗試按住Shift鍵同時左鍵單擊以選擇一個點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.