我正在寻找pcl :: PointCloud对象的方法或算法,该对象根据像素坐标接受矩形甚至圆形区域,并依次返回该区域中的所有可用点。
例如:
答案 0 :(得分:0)
对于像素级切片,只需在生成点云之前裁剪图像即可。例如在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方法并查询哪些点位于原点周围的半径之内。