Computer vision 三维数据中机器人定位的角点计算

Computer vision 三维数据中机器人定位的角点计算,computer-vision,image-segmentation,point-cloud-library,robotics,ransac,Computer Vision,Image Segmentation,Point Cloud Library,Robotics,Ransac,使用pcl::SACMODEL\u LINERANSAC测线分割模块分割出拟合的点云子集后。 在下一步中,使用 pcl::compute3DCentroid(point_cloud, centroid); 这将提供精确的中心点,直到摄影机和提取的线模型对象彼此平行。 在最后一步中,提取的点云(即拟合线)的角点通过在中心点上添加已知距离来计算角点。 该技术将一直有效,直到相机和提取的线模型对象彼此平行。一旦相机与其形成角度,角点计算技术将失败。 任何建议我应该如何使用PCL库中现有的可靠方法计算

使用
pcl::SACMODEL\u LINE
RANSAC测线分割模块分割出拟合的点云子集后。 在下一步中,使用

pcl::compute3DCentroid(point_cloud, centroid);
这将提供精确的中心点,直到摄影机和提取的线模型对象彼此平行。 在最后一步中,提取的点云(即拟合线)的角点通过在中心点上添加已知距离来计算角点。 该技术将一直有效,直到相机和提取的线模型对象彼此平行。一旦相机与其形成角度,角点计算技术将失败。 任何建议我应该如何使用PCL库中现有的可靠方法计算角点,以计算提取的点云数据的角点
(PCL::SACMODEL_LINE)

提前谢谢


如果您使用RANSAC精确提取了子集云,您应该能够使用getMinMax3d()找到两个角点。


虽然这些不是子集云的实际点,但它们可用于确定边界及其上的点

谢谢。请你再解释一下你在文章中提到的以下几点好吗。“虽然这些不是子集云的实际点,但它们可用于确定边界及其上的点。”想象一下,您有一个只有两个点(-5,10,-2)和(5,-10,2)的点云。getMinMax3d()的结果将是(-5,-10,-2)和(5,10,2)。这些“点”实际上并不存在于云中,但它们提供了关于每个维度的最大值和最小值的所有信息。例如,您可以使用x最小值-5来找到点(-5,10,-2),这非常有助于理解。如果您看到我绘制这些点的新附加图片。据我所知,绿点将是getMinMax3d()的结果,对吗?在引入维之后,让我们假设,正如您提到的,将x从getMinMax3d()映射到原点,对吗?