C++ 在CGAL中使用高效Ransac时出现问题
我想使用CGAL的实现,但每当我尝试设置自己的参数时,算法就不再检测任何形状 这项工作与CGAL中的。我想微调平面检测,看看它对算法的影响。当我使用对C++ 在CGAL中使用高效Ransac时出现问题,c++,cgal,ransac,C++,Cgal,Ransac,我想使用CGAL的实现,但每当我尝试设置自己的参数时,算法就不再检测任何形状 这项工作与CGAL中的。我想微调平面检测,看看它对算法的影响。当我使用对ransac.detect()的标准调用时,它工作得非常好。但是,当我想设置自己的平面时,它找不到任何平面,即使我手动将它们设置为默认值 这是我的代码,与 虽然我在启动代码时有此功能,但ransac检测功能没有参数: Loading point cloud: Scene1/test.xyz... Done. 169064 points. Time:
ransac.detect()
的标准调用时,它工作得非常好。但是,当我想设置自己的平面时,它找不到任何平面,即使我手动将它们设置为默认值
这是我的代码,与
虽然我在启动代码时有此功能,但ransac检测功能没有参数:
Loading point cloud: Scene1/test.xyz... Done. 169064 points. Time: 0.448 sec.
Extracting planes... Done. 18 planes extracted. Time: 3.088 sec.
Generating candidate faces... Done. Time: 94.536 sec.
Reconstructing... Done. Saved to Scene1/test.xyz_result.off. Time: 30.28 sec.
有人能帮我设置自己的ransac形状检测参数吗
但是,当我想设置自己的参数时,它就是找不到任何参数
平面,即使我手动将其设置为默认值
可以肯定的是:“手动将它们设置为默认值”不是您在共享代码中所做的
默认值如下所示:
积分总数的1%,在您的情况下应该是1700分左右,而不是100分min_points
和epsilon
的边界框对角线的1%。很明显,我不知道这是否是您使用的(0.01),因为我没有访问您的点集的权限,但是如果您想要复制默认值,您应该在某个点使用该对象cluster\u epsilon
Loading point cloud: Scene1/test.xyz... Done. 169064 points. Time: 0.428 sec.
Extracting planes... Done. 0 planes extracted. Time: 8.328 sec.
Generating candidate faces... Done. Time: 0.028 sec.
Reconstructing... Failed: at least 4 planes required to reconstruct a closed surface mesh (only 1 provided)
Loading point cloud: Scene1/test.xyz... Done. 169064 points. Time: 0.448 sec.
Extracting planes... Done. 18 planes extracted. Time: 3.088 sec.
Generating candidate faces... Done. Time: 94.536 sec.
Reconstructing... Done. Saved to Scene1/test.xyz_result.off. Time: 30.28 sec.