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 ...
随机推荐
- 微软SMB 3.0文件共享协议新特性介绍
SMB(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议.Linux平台通过samba来支持.SMB最新版本v3.0,在v2.0基础上针对WAN和分布式有改进.详 ...
- Determining IP information for eth0...failed 错误解决
问题描述:虚拟机使用wget命令上网,执行service network restart后出现如下错误Determining IP information for eth0...failed解决办法: ...
- openssl - cookbook
1.openssl 2.Testing 3.Best Practices last 1.openssl 1.1.Key and Cerificate Management Run a web serv ...
- (16/24) webpack打包后的调试方法
在程序开发中,调试程序是最频繁的,那使用了webpack后,所有的代码都打包到了一起,这给调试带来了困难,但是webpack在设计时就已经考虑好了这点,它支持生产Source Maps来方便我们的调试 ...
- jQuery ajax - serializeArray() 方法
定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身. ...
- ZABBIX监控80连接数
自定义监控项(监控网站80连接数 http://blog.51cto.com/shuzonglu/2104195
- PHP依赖注入
对于依赖注入 我现在的理解是把一个方法当成一个变量放进另一个方法的形参里 <?php class Factory { public static function getDb(){ return ...
- Spring MVC 异常处理 - DefaultHandlerExceptionResolver
对一些特殊的异常进行处理,比如方法类型不匹配, 转换错误.
- Simple2D-22(重构)纹理池
以前 Simple2D 使用 TextureManager,现在将它改为 TexturePool (纹理池).主要是负责加载和管理纹理,这次为 TexturePool 添加纹理集的功能,纹理集就是将大 ...
- 使用sqldeveloper连接服务器端数据库