获取点云图像¶
点云图像,属于上层合成数据。API使用GetStreamData()
获取。另外,判断不为空后再使用。
运行点云时可以按空格键保存``.ply``文件,然后使用 view_points
样例查看 .ply
文件。
参考代码片段:
auto image_color = cam.GetStreamData(ImageType::IMAGE_LEFT_COLOR);
auto image_depth = cam.GetStreamData(ImageType::IMAGE_DEPTH);
if (image_color.img && image_depth.img) {
cv::Mat color = image_color.img->To(ImageFormat::COLOR_BGR)
->ToMat();
painter.DrawSize(color, CVPainter::TOP_LEFT);
painter.DrawStreamData(color, image_color, CVPainter::TOP_RIGHT);
painter.DrawInformation(color, util::to_string(counter.fps()),
CVPainter::BOTTOM_RIGHT);
cv::Mat depth = image_depth.img->To(ImageFormat::DEPTH_RAW)
->ToMat();
cv::imshow("color", color);
viewer.Update(color, depth);
}
上述代码,用了 PCL 来显示点云。关闭点云窗口时,也会结束程序。
完整代码样例,请见get_points.cc。