halcon语法讲解
前言
最近换工作,在学习了解halcon工具,每天总结分析今天所学知识,今天是基础语法篇!
1.基本语法
| 描述 | 语法 |
|---|---|
| 等号 | := |
| 不等号 | # |
| 注释符 | * |
| 字符串赋值 | str:='halcon' |
| 等于比较符 | if(x=10) |
| 与 | if(x>1 and x<10) |
| 或 | if(x>1 or x<10) |
| 求反 | if(notA=10) |
| For循环 | for i:=0 to 10 by 1 ... endfor |
| While循环 | while(x==1) ... EndWhile |
| 异常获取 | try ... catch(Exception) Endtry |
| Switch多分支 | switch(index) case 1: ... break default : ... break endswitch |
其中的...表示需要执行的内容
2.Tuple数组
- 将一个Tuple数组赋值给变量
arr:=[1,0,3,4,2] - 给Tuple数组元素赋值
arr[1]:=2 - 批量改变数组元素的值
arr[1,2]:='abc'[替换数组中1,2的值为abc] - 批量给arr数组赋值,其值为0到100连续数值
arr:=[0,100] - 批量给arr数组赋值,其值为3到200连续数值,步长为1
arr:=[3:1:200] - 批量给arr数组赋值,其值为100到-100连续数值,步长为-10
arr:=[100:-10:-100] - 对两个数组合并操作
arr1:=[1,2,3]
arr2:=[2,3,4]
tuple_union(arr1,arr2,arr3)[去掉数组重复的元素]
arr3:=[1,2,3,4]
- 对两个数组进行交集操作
arr1:=[1,2,3]
arr2:=[2,3,4]
tuple_union(arr1,arr2,arr3)[取两数组交集]
arr3:=[2,3]
- 对数组元素进行替换
arr:=[0,1,2,3]
tuple_replace(arr,[0,1],['x','y'],Replaced)
- 向数组插入数值
arr:=[0,1,2,3,4]
tuple_insert(arr,3,'x',InsertSingVaueA)
3.字符数组的格式化
| 语法 | 描述 |
|---|---|
| $'#0' | 8进制,0为前缀 |
| $'#x' | 16进制,0x为前缀,7b为赋值 |
| $'#X' | 16进制,0x为前缀,7B为赋值,7b与7B是一样的 |
| $'#f' | double型,默认保留小数点后六位 |
| $'#g' | 使数字始终保持六位,不足补零 |
| $'#G' | 使数字始终保持六位,不足补零 |
| $'#e' | 转换成科学计数 |
| $'#E' | 转换成科学计数 |
| $'10' | 文本右对齐 |
| $'-10' | 文本左对齐 |
4.整数
| 语法 | 描述 |
|---|---|
| $'6' | 小于六位时,文本右对齐,大于不影响 |
| $'-6' | 小于六位时,文本左对齐,大于不影响 |
| $'-6' | 小于六位时,文本左对齐,大于不影响 |
| $'.6' | 小于六位时,在左补零,大于不影响 |
| $'10.6' | 小于十位时,文本右对齐;小于五位则在左补零,大于不影响 |
halcon语法讲解的更多相关文章
- Verilog HDL基础语法讲解之模块代码基本结构
Verilog HDL基础语法讲解之模块代码基本结构 本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...
- PID控制器的数字实现及C语法讲解
PID控制器的数字实现及C语法讲解 概述 为方便学习与交流,根据自己的理解与经验写了这份教程,有错误之处请各位读者予以指出,具体包含以下三部分内容: (1) PID数字化的推导过程(实质:微积分的近 ...
- Markdown语法讲解及MWeb使用教程
写了一个月的博客,忽然感觉Markdown编辑器比较好用,于是就下载了一个本地的Markdown编辑软件学习了一下,刚好软件里自带了一篇英文的指示文档,顺便翻译了一下,通过这个过程也大致熟悉了Mark ...
- innobackupex 相关语法讲解【转】
innobackupex 相关语法讲解 连接服务器 The database user used to connect to the server and its password are speci ...
- Elasticsearch基本CURD操作语法讲解
当我们的ES集群搭建完成以后,我怎么能看到集群中各个节点状态以及主节点和健康情况呢,如下讲解使用curl命令来与ES集群进行交互.分别有查询主节点情况.集群状态.以及创建索引查看索引.查看分片以及对E ...
- Lua基础语法讲解
Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...
- mvc 4 razor语法讲解和使用
1.这里的 @{Layout="文件路径";} 代码块指定了整个项目默认所使用的布局文件(如图:) @RenderBody()对于所有的页面默认的情况下都会使用这个布局(Web ...
- C#核心语法讲解-泛型(详细讲解泛型方法、泛型类、泛型接口、泛型约束,了解协变逆变)
泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性.泛型为.NET框架引入了类型参数(type parameters)的概念.类型参数使得设计类和方法时,不必确定一个或多个具 ...
- CSS3之 :nth-child(n)语法讲解
语法: E:nth-child(n){ sRules } * 匹配父元素索引为n的子元素E :nth-child(n) 让你匹配到父元素的任一子元素: Figure 1:<section id= ...
随机推荐
- 关于 Spring Boot 中创建对象的疑虑 → @Bean 与 @Component 同时作用同一个类,会怎么样?
开心一刻 今天放学回家,气愤愤地找到我妈 我:妈,我们班同学都说我五官长得特别平 妈:你小时候爱趴着睡觉 我:你怎么不把我翻过来呢 妈:那你不是凌晨2点时候出生的吗 我:嗯,凌晨2点出生就爱趴着睡觉呗 ...
- mysql8.0.20安装教程,mysql下载安装教程8.0.20
mysql8.0.20下载安装教程 mysql8.0.20安装教程 mysql安装包+mysql学习视频+mysql面试指南视频教程 下载地址: 链接:https://pan.baidu.com/s ...
- java设计模式_单例模式
懒汉式 非线程安全 特点:Lazy 初始化.非多线程安全.易实现 描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程.因为没有加锁 synchronized,所以严格意义上它并不算单 ...
- diff算法深入一下?
文章转自豆皮范儿-diff算法深入一下 一.前言 有同学问:能否详细说一下 diff 算法. 简单说:diff 算法是一种优化手段,将前后两个模块进行差异化比较,修补(更新)差异的过程叫做 patch ...
- easyDialog 简单、实用的弹出层组件
easyDialog 简单.实用的弹出层组件 使用背景 在完成导师需求时,导师要求寻找比一个layer弹出层组件体积小得多的.最好能嵌入在进HTML代码中而非src引用的弹出层组件,在这个需求下,我找 ...
- Kali安装OWASP
我是2019版的kali,里面并没有自带OWASP工具,因为OWASP不再更新的因素,所以新版kali将它移除了 安装OWASP apt-get install zaproxy #以下都是安装软件时 ...
- vue3.x异步组件
在大型应用中,我们可能需要将应用分割成小一些的代码块,并且只在需要的时候才从服务器加载一个模块 vue2.x 曾经简单的异步组件 components: { AsyncComponent: () =& ...
- Java:常用的容器小记
Java:常用的容器小记 对 Java 中的 常用容器,做一个微不足道的小小小小记 容器类概述 常见容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 M ...
- 洛谷 P5665 [CSP-S2019] 划分
链接: P5665 题意: 给出 \(n\) 个整数 \(a_i\) ,你需要找到一些分界点 \(1 \leq k_1 \lt k_2 \lt \cdots \lt k_p \lt n\),使得 \( ...
- 虚树 virtual-tree
我们发现,如果一棵树中真正需要处理的点很少,而总共点数很多时,可以只处理那些需要的点,而忽略其他点. 因此我们可以根据那些需要的点构建虚树,只保留关键点. oi-wiki上对虚树的介绍 我们根据一下方 ...