Halcon的编程语法与数据处理——第8讲
1、跟其他语言不完全一致的表达符号
赋值符号 :=
引号 ' ' (一律是单引号)
求商求余 / % (一个整数除以另一个数,如何使商是实型的?即浮点型)
逻辑运算 and or not xor(异或)
逻辑真假 true false
等于 = 和 == 都行
不等于 != 和 # 都行
2、程序控制语法
程序语法与Delphi、VB.Net极为类似。例如:
① for循环
for i := 1 to 10 by 1
……
endfor
② if/else判断
if(……)
……
elseif(……)
……
else
……
endif
③ while循环
while(……)
……
endwhile
break、continue跟其他编程语言一致。
3、常见的Tuple函数运算
min(t) tuple中的最小值
max(t) tuple中的最大值
min2(t1,t2) 求两个值(tuple)中的较小值
max2(t1,t2) 求两个值(tuple)中的较大值
sum(t) 求和
mean(a) 求均值
deviation(a) 标准差( https://www.cnblogs.com/xh6300/p/7413715.html )
sqrt(a) 平方根
deg(a) 将弧度转为角度
rad(a) 将角度转为弧度
real(a) 将整型转为real型
int(a) 将real型转为整型
round(a) 转换为最接近的整数元组
number(v) 将string类型转为number类型
abs(a) 求绝对值
sort(t) 升序排列
更多Tuple的操作请参考:
https://www.cnblogs.com/xh6300/p/6117688.html
可以将下面的例子运行一下,感受一下:

read_image (Image, 'code.png')
create_bar_code_model ([], [], BarCodeHandle)
dev_set_draw ('margin')
**同时查找Code 128码和Code 39码,这种方式消耗的时间只等于只找一种码的时间。
**得到的字符串元组str等于 ['', '']
find_bar_code (Image, SymbolRegions, BarCodeHandle, ['Code 128','Code 39'], str) num := |str|
tuple_strlen (str, Length) //获得字符串元组中每个字符串的长度,[6,12] A0 := Length[] //等于6 A1 := Length[] //等于12 AA := A0 + A1 //等于18 B0 :=str[] //得到的仍是一个字符串,'123456' B0_int :=number(str[]) //貌似没有字符串转int类型,不过可以转成number类型,123456 aa := + B0_int //转为数字可以进行四则运算了,123456 + 3 = 123459 i :=[,] //这里创建的是一个整型元组 i0 := i[] //等于590 *数据转字符串
aa := + ''

4、四舍五入、取整、有效数字以及和字符串之间的转换
https://www.cnblogs.com/xh6300/p/10027998.html
5、数据排序算子
tuple_sort — Sort the elements of a tuple in ascending order.
tuple_sort_index — Sort the elements of a tuple and return the indices of the sorted tuple.(对元组的元素进行(升序)排序,并返回排序后的元组的索引(相对于输入的tuple)。)
https://www.cnblogs.com/xh6300/p/6417801.html
Halcon的编程语法与数据处理——第8讲的更多相关文章
- 完美解决HALCON C#编程目标平台冲突问题
完美解决HALCON C#编程目标平台冲突问题 楼主# 更多发布于:2016-11-23 10:06 背景: 目标机器工控机使用11.0.1 32位Halcon 原因你懂的.开发环境Win ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- Linux Shell 编程语法
原文地址:http://www.cnblogs.com/fhefh/archive/2011/04/13/2014967.html.感谢作者的无私分享 编写代码 在计划好要程序干什么以及如何使用程序的 ...
- 【转】剖析异步编程语法糖: async和await
一.难以被接受的async 自从C#5.0,语法糖大家庭又加入了两位新成员: async和await. 然而从我知道这两个家伙之后的很长一段时间,我甚至都没搞明白应该怎么使用它们,这种全新的异步编程模 ...
- [C#]剖析异步编程语法糖: async和await
一.难以被接受的async 自从C#5.0,语法糖大家庭又加入了两位新成员: async和await. 然而从我知道这两个家伙之后的很长一段时间,我甚至都没搞明白应该怎么使用它们,这种全新的异步编程模 ...
- Python面向切面编程-语法层面和functools模块
1,Python语法层面对面向切面编程的支持(方法名装饰后改变为log) __author__ = 'Administrator' import time def log(func): def wra ...
- C# Halcon混合编程中遇到的问题(一)
目标平台 安装64位的halcon的情况下,目标平台必须使用x64而不能使用x86 目标框架 不能使用.Net Framework Client版本,有一些必须的程序集会缺失,测试使用.Net Fra ...
- Dart编程语法
语法定义了一组用于编写程序的规则.每种语言规范都定义了自己的语法.Dart语法有如下内容组成: 变量和运算符 类 函数 表达式和代码块 判断和循环结构 注释 库和包 类型定义 数据结构表示:集合/泛型 ...
- 程序设计入门——C语言 第8周编程练习 2GPS数据处理(6分)
题目内容: NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine ...
随机推荐
- 运维不得不知的 Linux 性能监控、测试、优化工具
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的.简单的小工具.系统性能专家 Brendan D. Gregg 在 LinuxCon NA 2014 大会上 ...
- Hash的一点测试
哈希表的学习与测试 以前写的hash都是碰运气的hash,就是乘上质数取模的那种,这样不能保证不碰撞,所以今天先写上几个双hush和链表的hash,并比较一下他们的速度,测试的话用洛谷上的“字符串哈希 ...
- java中的URLConnection和HttpURLConnection有什么区别(因为我自己搜到别人写的区别看下来都没有什么区别)
今天看了一下公司同事的代码,如下 URLConnection connection = openConnection(localURL); HttpURLConnection httpURLConne ...
- 超酷的Prezi在线ppt制作网站
prezi.com 你还在用office Power Point 制作PPT吗? 使用prezi.com制作ppt试试.http://prezi.com/explore/staff-picks/
- c#面向对象基础5
字符串 string (1)字符串的不可变性 当给字符串重新赋值时,老值没有被销毁,而是重新开辟了一块新的空间去储存新值<------------------堆中,在栈中地址发生变化重新指向新 ...
- CUDA C Programming Guide 在线教程学习笔记 Part 8
▶ 线程束表决函数(Warp Vote Functions) ● 用于同一线程束内各线程通信和计算规约指标. // device_functions.h,cc < 9.0 __DEVICE_FU ...
- Python 中一个逗号引发的悲剧
遇到一个 Python 字符串的坑,记录一下.看看下面这些代码 >>> a = [ ... 'foo' ... 'bar', ... 'tree' ... ] >>> ...
- Node NPM 的常用配置
1,修改 npm 下载模块的 保存地址 <1> 进入 cmd 运行, 如下命令 npm config set prefix "C:\Program File\NodeJs\p ...
- HTML5 Canvas ( 圆和切点曲线的绘制 ) arc, arcTo
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Spring boot @PropertySource, @ImportResource, @Bean
@PropertySource:加载指定的配置文件 /** * 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉SpringBoot将本类 ...