无论是将值作为输入参数传递给算子,还是将值作为算子的返回值接收,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)会导致异常。