assign : 对数据赋值,对数组的初始化。但不能对数组中的某一个值进行赋值。

举例:Tuple1 := [1,0,3,4,5,6,7,8,9]    // 对数组进行初始化

Val := sin(1.2) + cos(1.2)        // 对某一个值进行赋值

Tuple2 := []                           // 数组定义

assign_at : 对数组中的某一个值进行赋值。

举例:Tuple1[1] := 2                       // 将Input 和Result 赋值为Tuple1

2.Insert : 对数组中的某一个值进行赋值。

Tuple1 := [1,0,3,4,5,6,7,8,9]

Tuple1[3]:=2

显示结果为:[1, 0, 3, 2, 5, 6, 7, 8, 9],即对索引3后面元素,数组Tuple1中第4个元素赋值2.

example:

read_image (Mreut, 'mreut')               //读入图像

threshold (Mreut, Region, 190, 255)      //阈值化,输出阈值在190-255的Regions

Areas := []                              //定义数组Areas

for Radius := 1 to 50 by 1               //循环

dilation_circle (Region, RegionDilation, Radius) //利用半径为Radius的圆对Region进行膨胀运算,输出

RegionDilation,输出形式仍然为Region。

area_center (RegionDilation, Area, Row, Column) //输出区域的面积和中心像素坐标

Areas[Radius-1] := Area                        //对数组Areas的第Radius-1个元素进行赋值

endfor

3.基本数组操作极其对应的算子

t := [t1,t2]     t1,t2连接成新的数组                 对应算子:tuple_concat

i := |t|         得到数组长度                                  tuple_length

v := t[i]        选取第i个元素0<= i < |t|                      tuple_select

t := t[i1:i2]    选取i1到i1的元素                              tuple_select_range

t := subset(t,i) 选取数组t中的第i个元素                        tuple_select

t := remove(t,i) 去除数组t中的第i个元素                        tuple_remove

i := find(t1,t2) 找到t2数组在t1数组中出现位置索引

(or -1 if no match)                          tuple_find

t := uniq(t)     在t数组中把连续相同的值只保留一个             tuple_uniq

4.创建数组

(1)gen_tuple_const函数

tuple := gen_tuple_const(100,4711) //创建一个具有100个元素的,每个元素都为4711的数据

tuple_new := gen_tuple_const(|tuple_old|,4711) //创建一个和原来数据长度一样的数据

上面的函数也可以通过如下表达式实现:tuple_new := (tuple_old * 0) + 4711

(2)当数组中的元素不同时,需要用循环语句对数组中的每一个元素赋值

例如:tuple := []                                        //创建空数组

for i := 1 to 100 by 1                                  //建立步长为1的循环

tuple := [tuple,i*i]                                   //将i方的值赋给数组的第i个元素

endfor

Halcon学习(三)赋值与数组操作的更多相关文章

  1. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  2. Halcon学习(八)文本操作

    标签: 学习 杂谈 分类: halcon学习 1.open_file( : : FileName, FileType : FileHandle) FileType: 'output':创建文本 ‘ap ...

  3. Python+OpenCV图像处理(三)—— Numpy数组操作图片

    一.改变图片每个像素点每个通道的灰度值 (一) 代码如下: #遍历访问图片每个像素点,并修改相应的RGB import cv2 as cv def access_pixels(image): prin ...

  4. matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute

    一起来学matlab-matlab学习笔记11 11_3 高维数组处理和运算 filp, shiftdim, size, permute, ipermute 觉得有用的话,欢迎一起讨论相互学习~Fol ...

  5. matlab学习笔记11_2高维数组操作 squeeze,ind2sub, sub2ind

    一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze ...

  6. 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作

    import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...

  7. js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历

     indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...

  8. swift(三)字典数组操作

    //1.数组的概念和定义 var array = [,,,] var array1:Array = [,,,] var array2:Array<Int> = [,,,]; var arr ...

  9. git学习(三) git的分支操作

    git的分支操作 软件项目中启动一套单独的开发线的方法,可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响,封装一个开发阶段,解决bug的时候新建分支,用于对该bug的研究: git中跟分支 ...

随机推荐

  1. vuex(二)getters

    getters: 有时候,我们需要对state的数据进行筛选,过滤.这些操作都是在组件的计算属性进行的.如果多个组件需要用到筛选后的数据,那我们就必须到处重复写该计算属性函数:或者将其提取到一个公共的 ...

  2. Base64编码的 换行 转义

    用Base64编码的时候如果出现\n 之类的字符,java中转义. 当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符.导致和其他模块对接时结果不一致. 解决方法:将  ...

  3. IOS Number 处理(int-->NSNumber,NSNumber-->nsinteger,string -->double,CGFloat --> dobule)

    1 小结: 1)int-->NSNumber:numberWithInt 2)NSNumber-->nsinteger:integerValue 3)string -->double ...

  4. mysql 随机选取一条记录

    要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 1 2 3 4 5 6 7 8 9 1 ...

  5. 接口测试框架——第一篇-大框架和setting.py常量文件

    基础知识已经准备的差不多了,今天开始我们就开始写我们的接口测试框架,框架结构已经说过了: 今天我们先完善需要的常量,也就是setting.py文件中的内容,代码如下: # coding: utf-8 ...

  6. 接口结构+一个selenium例子

    大家今天可以先建一个项目目录,明天我们在码代码: 我看好多朋友都在看selenium方面的东西,在这里给大家一个和讯网自动发文章的selenium代码,有兴趣的朋友可以试试,船长已亲测可用,不明白的地 ...

  7. sql分割字符串详解

    create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as beg ...

  8. AT命令控制上网 PDP

    1. AT+CGATT=1 (Attach or detach from GPRS service, GPRS 附着状态) 说的简单点,这一步就是让SGSN (服务GPRS节点,你可以把它理解成与基站 ...

  9. Emacs golang用户代码无法补全问题

    现象:Emacs使用company-go可以正常补全标准库函数和go get安装库函数:而对于自已写的代码,只能补全当前包下的变量和函数. 原因:company-go后台是使用了gocode,而goc ...

  10. scanf在竞赛中的技巧总结ing

    前言 当输入流是一个字符串,我们需要在其中提取我们所需要的数值时,我们可以在读入阶段就完成数据的筛选工作. 使用方法 scanf("%ns", str); 表示读取长度为n的字符串 ...