15.5 用 Python 原生类型表示 HALCON 元组

无论是将值作为输入参数传递给算子,还是将值作为算子的返回值接收,HDevelop 中用 HALCON Tuples 表示的都是 HALCON/Python 中的本地 Python 值。

不要混淆 HALCON 元组和 Python 元组,它们是互不关联的概念。

例如,get_image_size_s 的返回值是真正的 int 类型,而不是 HALCON 版本的整数。

img = ha.read_image('pcb')
width, height = ha.get_image_size_s(img)

assert width == 1109
assert type(width) == int

assert height == 871
assert type(height) == int

在 HALCON/Python 中,HTuple 可以映射到以下类型之一,也可以映射到它们的混合列表:

Python 的 float 映射到 HALCON 的 real 类型。虽然 Python 的 int 是任意精度的,但使用超出平台大小的有符号整数所能表示的 int 值调用算子(例如:C 语言中的 ptrdiff_t)会导致异常。