【发布时间】:2020-06-21 21:28:24
【问题描述】:
我正在为 pcl::PointCloud 对象寻找一种方法或算法,它接受基于像素坐标的矩形甚至圆形区域,然后返回该区域中的所有可用点。
例如:
- 输入:100px
- 输出:XYZ 中的点
【问题讨论】:
我正在为 pcl::PointCloud 对象寻找一种方法或算法,它接受基于像素坐标的矩形甚至圆形区域,然后返回该区域中的所有可用点。
例如:
【问题讨论】:
对于像素级切片,只需在生成点云之前裁剪图像。例如在 OpenCV 中:
cv::Rect myROI(100, 240, 20, 120);
cv::Mat croppedImage = image(myROI);
如果您想在欧几里得坐标中对数据进行切片,可以使用PassThrough 过滤器:
pcl::PassThrough<PointType> ptfilter (true); // Initializing with true will allow us to extract the removed indices
ptfilter.setInputCloud (cloud_in);
ptfilter.setFilterFieldName ("x");
ptfilter.setFilterLimits (0.0, 1000.0);
ptfilter.filter (*indices_x);
如果您的原点周围是球形区域,请使用 Kdtree 对象中的 radiusSearch 方法并查询哪些点位于您的原点周围的半径内。
【讨论】:
cv::Rect myROI(100, 240, 20, 120); cv::Mat croppedImage = image(myROI);