0

在 Halcon 的示例camera_calibration_multi_image.hdev中有以下代码:

image_points_to_world_plane (CamParam, Pose, Row, Col, 'mm', X1, Y1)
distance_pp (X1[0:11], Y1[0:11], X1[1:12], Y1[1:12], Distance)

文档说 x 和 y 包含世界坐标系中点的X和坐标。Y因此,如果 Col 和 Row 可以是数组,则 X1 和 Y1 也必须是数组。但在下一行中,它们的访问方式如下:X1[0:11]我无法弄清楚这意味着什么...... 0 和 11 指的是什么,因为它很简单此示例中包含 12 个点的列表...

4

1 回答 1

1

它正在计算标尺上点之间的距离。如果您查看最终图片,您会看到有 13 个点。“line image_points_to_world_plane”将行、col 数组中给定的像素坐标转换为 X1、Y1 中给定的世界坐标。线“distance_pp”然后计算这些点之间的距离,即X0 和X1、X1 和X2、X2 和X3 一直到X11 和X12 之间的距离。Y 点也是如此。

在此处输入图像描述

最有用的东西之一是变量检查窗口。在这种情况下,我们可以查看它并查看 X1 的完整数组。第一个值为 28.1494,第二个值为 23.1566。它们之间的差是 28.1494 - 23.1566 = 4.9928,这是“距离”第一个索引内的值。

在此处输入图像描述

于 2020-05-21T13:04:44.293 回答