2

我正在使用 HALCON 做 3D 应用,目前,我使用 xyz_to_object_model_3d 创建 3D 模型,Z 图像来自 3D 传感器。现实中的项目看起来像: 模型图片1

但 HALCON 中的 3D 模型看起来像: HALCON 中的 3D 模型

该模型的 2 个平面之间似乎存在间隙,HALCON 中的任何操作员可以解决此间隙吗?谢谢。

4

1 回答 1

1

如果您正在寻找一种解决方案来自动更正两个平面之间的任何偏移,或者手动进行,目前还不是 100% 清楚。

如果两个平面之间没有角度偏差,即它们是平行的,解决问题的最简单方法是对对象模型的 z 坐标应用偏移。

在创建对象模型后,我将通过执行横向平移应用此偏移校正:

hom_mat3d_identity(HomMat3D)
hom_mat3d_translate(HomMat3D, 0, 0, 42, HomMat3DTranslate)
affine_trans_object_model_3d(ObjectModel3D, HomMat3DTranslate, ObjectModel3DAffineTrans)

自动方法将包括使用程序register_object_model_3d_pair()。要利用这一点,您需要将要拟合的两个平面的点分开。您可以通过利用select_points_object_model_3d()您想要的过程来做到这一点,因此通过将 z 范围限制为例如 +- 1 个单位来选择空间体积。

于 2017-07-19T10:51:36.763 回答