Halcon 元组/数组基本操作

Halcon 元组/数组基本操作

** 元组/数组 tuple
*******数组创建与字典*******
** 创建一个数组
A := [1,3,45,6]
A[0] := 1
A[1] := 2** 定义一个key value字典类型create_dict (DictHandle)
set_dict_tuple (DictHandle, 'test_tuple', A)
set_dict_tuple (DictHandle, 'test_obj', 'DDDD')*******数组定义*******
A:=[]
*空数组--[]A1:=[1]           
*1A2:=[2,1]         
*[2,1]A3:=[A1,[1,2,3]]   
*[1,1,2,3]B:= A3 + 1        
*[2,2,3,4]      每一个数加1B1:=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:=5tuple_length (D,len1)
*求数组的长度即数组的元素个数
*len1:=5value := 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的值为1015的连续值B1:=[10:2:20]
*[10, 12, 14, 16, 18, 20]
*B1的值为1020的连续值,步长为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], ['100','200'], E)
*E的值为  ['100', 30, '200', 40, 50]
*替换操作
*参数2:要替换的位置序号
*参数3:要替换的值
*参数4:替换后保存的数组变量* 插入
tuple_insert (A, 3, '500', F)
*F的值为 [10, 30, 20, '500', 40, 50]
*插入元素
*参数2:插入的位置序号
*参数3:插入的值
*参数4:插入后保存的数组变量*******数组的初始化,随机*******
A:=[1,2,3,4] *定义空数组,逐渐追加元素
A :=[ ]
for i :=0 to 4 by 1A:= [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]

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474625.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ipad上能免费下载Python并运行吗?

前言 一般也是可以,直接 在 Ipad App store 里搜索 python 即可,如下: 不过小编并不觉得 ipad 适合 写 python,建议最好还是在电脑上如 mac 进行编程。 如果你对Python感兴趣,想要学习python,这里给大家分享一份Pyth…

物联网时代的嵌入式系统:从自动化到自适应的演变

(本文为简单介绍,观点来源于网络) 随着科技的飞速发展,物联网(IoT)已经成为当今时代的一个标志性技术。物联网通过将传感器、软件和其他技术嵌入到物理对象中,实现了物品之间的智能互联。嵌入式…

没有PFMEA分析的检测过程会有什么风险?

随着科技的快速发展,产品复杂度不断提升,检测过程的重要性日益凸显。然而,在这个过程中,如果没有进行PFMEA分析,将会带来怎样的风险呢?本文将对此进行深入探讨。 众所周知,检测是确保产品质量的…

数据模型概念

一、概念 (1) 定义 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同目的,可以将这些模型划分为两类: (2) 分类 A:概念数据模型 它也称信息模型它是按用户的观点(观念世界&…

解释器设计模式

解释器设计模式(Interpreter Pattern)是一种行为型设计模式,它定义了一种语言的文法,并建立一个解释器来解释该语言中的句子。这种模式通常用于需要解释或执行一种特定类型的语言的场景,例如编程语言的编译器或解释器、…

【算法分析与设计】最大层内元素和

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。 请返…

政安晨:【完全零基础】认知人工智能(一)【超级简单】的【机器学习神经网络】 —— 预测机

开个头 很多小伙伴们很想亲近人工智能与机器学习领域,然而这个领域里的核心理论、算法、工具给人感觉都太过“高冷”,让很多小伙伴们望而却步,导致一直无法入门。 如何捅破这层窗户纸? 让高冷的不再高冷,让神秘的不…

防御保护第五次作业

此处实验共有七个需求 一、 需要新建两个nat转换策略来实现电信和移动的的分开处理,如下: 上面要求的保留地址在设置地址池的时候进行预留,转换的地址池也看个人设置的范围,别忘了这两个的安全策略也要放通,结果如下…

JAVA面试虚拟机篇

1. JVM 内存结构 要求 掌握 JVM 内存结构划分 尤其要知道方法区、永久代、元空间的关系 结合一段 java 代码的执行理解内存划分 执行 javac 命令编译源代码为字节码 执行 java 命令 创建 JVM,调用类加载子系统加载 class,将类的信息存入方法区 创建…

2023年年度总结2024年规划

一、前言 本来去年年底写的,但去年年底想着写了没啥意义就没搞,今天开工第一天,寻思着还是要写一篇总结,进行对去年的整体复盘和对今年的发展规划。 二、2023年总结 2.1、工作历程总结 从2022年7月毕业后的一个工作历程。毕业后…

【计算机毕业设计】093厨艺交流平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

Vue首屏优化,12个提速建议

文章目录 代码拆分和懒加载:代码拆分懒加载 图片优化:组件懒渲染:数据预获取和缓存:服务器端渲染(SSR):代码压缩和合并:使用 CDN 加速:监控和性能分析:代码优…