2 #include <opencv2/opencv.hpp>
16 monoLeft->setCamera(
"left");
25 depth->setLeftRightCheck(
true);
26 depth->setExtendedDisparity(
false);
27 depth->setSubpixel(
true);
29 xout->setStreamName(
"out");
32 monoLeft->out.link(depth->left);
33 monoRight->
out.
link(depth->right);
34 depth->depth.link(pointcloud->inputDepth);
35 depth->disparity.link(xoutDepth->
input);
36 pointcloud->outputPointCloud.link(xout->input);
39 auto viewer = std::make_unique<pcl::visualization::PCLVisualizer>(
"Cloud Viewer");
48 std::cout <<
"Waiting for data" << std::endl;
51 std::cout <<
"Got data" << std::endl;
53 std::cout <<
"No data" << std::endl;
57 auto frame = depthImg->getCvFrame();
58 frame.convertTo(frame, CV_8UC1, 255 / depth->initialConfig.getMaxDisparity());
59 cv::imshow(
"depth", frame);
62 if(pclMsg->getPoints().empty()) {
63 std::cout <<
"Empty point cloud" << std::endl;
66 std::cout <<
"Number of points: " << pclMsg->getPoints().size() << std::endl;
67 std::cout <<
"Min x: " << pclMsg->getMinX() << std::endl;
68 std::cout <<
"Min y: " << pclMsg->getMinY() << std::endl;
69 std::cout <<
"Min z: " << pclMsg->getMinZ() << std::endl;
70 std::cout <<
"Max x: " << pclMsg->getMaxX() << std::endl;
71 std::cout <<
"Max y: " << pclMsg->getMaxY() << std::endl;
72 std::cout <<
"Max z: " << pclMsg->getMaxZ() << std::endl;
74 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud = pclMsg->getPclData();
76 viewer->addPointCloud<pcl::PointXYZ>(cloud,
"cloud");
79 viewer->updatePointCloud(cloud,
"cloud");
84 if(viewer->wasStopped()) {