halcon 基础语法:数组、向量、字典、

数组

*数组
* Tuple_1 := [1, 2, 3, 4.2, '对对对']

*获取长度 方式1
* len := |Tuple_1|

*获取长度 方式2
* tuple_length (Tuple_1, Length)

*数组长度一致,每个元素都会运行运算
*整数 + 字符串 都会变为字符串

数组添加元素

Num := 10
Array := []
* 起点、终点、步长、
for i:=1 to Num by 1
    Array:=[Array,i]
    *相当于append添加元素
endfor


*continue 跳出本次循环
*break 跳出当前循环

向量

向量赋值 (1)


*读图
read_image (Image, 'printer_chip/printer_chip_01')

*截取区域
gen_rectangle1 (Rectangle, 418, 817, 651, 946)
*创建对象向量 {}
Vector1 := {Image, Rectangle}

向量赋值 (2)

*赋值一维数组
VectorT := {[1, 2], [34], [1, 'a']}

*赋值数值和字符串,表达式
VectorA := {'a', 1, 2*2, max2(3, 4)}

*赋值向量
VectorV :=  {VectorT, VectorA}

数组嵌套向量

*创建对象数组 []
concat_obj (Image, Rectangle, ObjectsConcat)

concat_obj (Image, ObjectsConcat, ObjectsConcat1)

*对象向量
Vector := {ObjectsConcat, ObjectsConcat1}

向量操作

*向量操作
*获取元素
a:=VectorA.at(0)
b:=VectorV.at(0).at(0)

*向量合并,追加合并
VectorA:= VectorA.concat(VectorT)

*向量插入
VectorA.insert(0,b)

*向量长度
length:=VectorA.length()

*向量移除
VectorA.remove(3)

*向量清除
VectorA.clear()

字典

*创建字典
create_dict(Dict)

*循环创建多个字典
DIcts := []
for idx := 0 to 4 by 1
    create_dict(Dicthandle)
endfor

*存入数组类型到字典
*存入数字(5)进入字典
set_dict_tuple(Dict, 'simple_int', 5)

*存放字符串(存入 数据1)进入字典
set_dict_tuple (Dict, 'simple_str', '存入 数据1')

*存放数组进入字典
set_dict_tuple(Dict, 'mixed_tuole', [1, '对对对'])

*使用数字做key名
set_dict_tuple (Dict, 0, '嗯嗯嗯')

*读取图像
read_image(Image, 'printer_chip/printer_chip_01')

*存放图片进入字典
set_dict_object (Image, Dict, 'image_1')

*创建区域
gen_rectangle1 (Rectangle, 30, 20, 100, 200)

*存放区域进入字典
set_dict_object (Rectangle, Dict, 'region_1')

*获取所有keys的值 
get_dict_param (Dict, 'keys',[], Allkeys)

*查询指定key是否存在,返回0为不存在,1为存在
get_dict_param (Dict, 'key_exists', ['simple_int', 'simple_str'], KeysPresence)

*查询指定key的数据的数据类型
get_dict_param(Dict, 'key_data_type', ['simple_str', 'image_1'], KeysType)

*查询全部key的数据类型
get_dict_param(Dict, 'key_data_type', Allkeys, KeysALL)

*获取指定key的对象数据
get_dict_object (Image, Dict, 'image_1')

*删除字典的key值
remove_dict_key(Dict, 'simple_str')

*复制字典
copy_dict(Dict, [], [], CopiedDictHandle)

*修改设置值
set_dict_tuple (Dict, 'simple_int', 6)

* 保存字典
write_dict(CopiedDictHandle, 'F:/xue_xi/copydict.hdict', [], [])

* 读取字典
read_dict('F:/xue_xi/copydict.hdict', [], [], DictHandle1)
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默执_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值