Halcon 元组/数组基本操作
* * 元组/ 数组 tuple
* * * * * * * 数组创建与字典* * * * * * *
* * 创建一个数组
A : = [1 , 3 , 45 , 6 ]
A[0 ] : = 1
A[1 ] : = 2 * * 定义一个key value字典类型create_dict ( DictHandle)
set_dict_tuple ( DictHandle,
set_dict_tuple ( DictHandle, * * * * * * * 数组定义* * * * * * *
A: = []
* 空数组- - []A1: = [1 ]
* 1 A2: = [2 , 1 ]
* [2 , 1 ]A3: = [A1, [1 , 2 , 3 ]]
* [1 , 1 , 2 , 3 ]B: = A3 + 1
* [2 , 2 , 3 , 4 ] 每一个数加1 B1: = A3* 2
* [2 , 2 , 4 , 6 ] 每一个数* 2 * * * * * * * 数组相加与长度* * * * * * *
C: = [1 , 2 , 3 , 4 , 5 ]
B: = [10 , 20 , 30 , 40 , 50 ]
D: = B+ C
* 数组相加( 前提是两个数组元素个数要一样)
* 每个对应的元素进行相加
* D的值是[11 , 22 , 33 , 44 , 55 ]len : = |D|
* 求数组的长度即数组的元素个数
* len : = 5 tuple_length ( D, len1)
* 求数组的长度即数组的元素个数
* len1: = 5 value : = D[2 ]
* 通过下标获取元素值, 下标是从0 开始的
* value : = 33 * * * * * * * 数组赋值、生成* * * * * * *
A: = [10 , 20 , 30 , 40 , 50 ]
A[6 ]: = 100
* 赋值 [100 , 20 , 30 , 40 , 50 , 0 , 100 ]A[0 , 2 , 3 ]: = 99
* 批量赋值 [99 , 20 , 99 , 99 , 50 , 0 , 100 ]
* 下标是要赋值的位置序号B: = [10 : 15 ]
* [10 , 11 , 12 , 13 , 14 , 15 ]
* B的值为10 到15 的连续值B1: = [10 : 2 : 20 ]
* [10 , 12 , 14 , 16 , 18 , 20 ]
* B1的值为10 到20 的连续值,步长为2 ,步长可以为负数* * * * * * * 数组交并集、替换* * * * * * *
A: = [10 , 30 , 20 , 40 , 50 ]
B: = [1 , 30 , 20 , 4 , 5 ]* 交集
tuple_union( A, B, C)
* C的值为 [1 , 4 , 5 , 10 , 20 , 30 , 40 , 50 ]
* 两个数组进行合并操作, 并自动排序【对两个数组进行并集操作】
* 注意:合并时重复的元素只出现一次* 并集
tuple_intersection( A, B, D)
* D的值为 [20 , 30 ]
* 对两个数组进行交集操作, 并自动排序* 替换
tuple_replace ( A, [0 , 2 ], [
* E的值为 [
* 替换操作
* 参数2 :要替换的位置序号
* 参数3 :要替换的值
* 参数4 :替换后保存的数组变量* 插入
tuple_insert ( A, 3 ,
* F的值为 [10 , 30 , 20 ,
* 插入元素
* 参数2 :插入的位置序号
* 参数3 :插入的值
* 参数4 :插入后保存的数组变量* * * * * * * 数组的初始化, 随机* * * * * * *
A: = [1 , 2 , 3 , 4 ] * 定义空数组,逐渐追加元素
A : = [ ]
for i : = 0 to 4 by 1 A: = [A, i]
endfor
* [0 , 1 , 2 , 3 , 4 ]* 连接两个tuple数组到第三个tuple中
tuple1[0 ] : = 1
tuple2[0 ] : = 3
* 链接
tuple_concat( tuple1, tuple2, Concat)
* [1 , 3 ]* 随机生成
tuple_rand( 5 , tmp)
* [0.259849 , 0.537071 , 0.999261 , 0.649518 , 0.60093 ]* 生成一个指定长度和初始化值的数组
tuple_gen_const( 5 , 100 , Result )
* [100 , 100 , 100 , 100 , 100 ]* 初始化数组,指定开始值,终止值,步长,得到sequence
tuple_gen_sequence ( 1 , 20 , 2 , Sequence)
* [1 , 3 , 5 , 7 , 9 , 11 , 13 , 15 , 17 , 19 ]