Halcon学习(三)赋值与数组操作
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学习(三)赋值与数组操作的更多相关文章
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...
- Halcon学习(八)文本操作
标签: 学习 杂谈 分类: halcon学习 1.open_file( : : FileName, FileType : FileHandle) FileType: 'output':创建文本 ‘ap ...
- Python+OpenCV图像处理(三)—— Numpy数组操作图片
一.改变图片每个像素点每个通道的灰度值 (一) 代码如下: #遍历访问图片每个像素点,并修改相应的RGB import cv2 as cv def access_pixels(image): prin ...
- matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute
一起来学matlab-matlab学习笔记11 11_3 高维数组处理和运算 filp, shiftdim, size, permute, ipermute 觉得有用的话,欢迎一起讨论相互学习~Fol ...
- matlab学习笔记11_2高维数组操作 squeeze,ind2sub, sub2ind
一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze ...
- 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作
import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...
- js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历
indexOf()方法 indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...
- swift(三)字典数组操作
//1.数组的概念和定义 var array = [,,,] var array1:Array = [,,,] var array2:Array<Int> = [,,,]; var arr ...
- git学习(三) git的分支操作
git的分支操作 软件项目中启动一套单独的开发线的方法,可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响,封装一个开发阶段,解决bug的时候新建分支,用于对该bug的研究: git中跟分支 ...
随机推荐
- 在mac os x 下升级emacs
大概是09年的时候接触到emacs这个编辑器,当时我们c语言老师用的,他自信满满,而那时我是个vimer,所以每次看他按那么多组合键我就替他感觉手指头累啊. 再后来我用了几年vim写代码,再后来用了许 ...
- C++面向对象的编程思想机器人
C++的面向对象的编程思想如下,一般情况为一个类中包含了这个对象的所有属性与函数,直接调用这个对象就可以对这个对象执行它可以使用的任何操作. #include <iostream> cla ...
- 转载maven安装,配置,入门
转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...
- 【angularJS】Filter 过滤器
当从后台获取到的数据呈现到视图上时,此时可能需要对数据进行相应的转换,此时我们可以通过过滤器在不同页面进行不同数据的格式抓换,在AngularJS中有常见默认的过滤器,当然若不满足所需,我们可以自定义 ...
- LeetCode Number of Atoms
原题链接在这里:https://leetcode.com/problems/number-of-atoms/description/ 题目: Given a chemical formula (giv ...
- Django之tag标签和filter标签
1.Django的tag常见的标签,可以做一些简单的功能 {%if%} 的使用主要用于做判断,还可以包含{%elif%} 这样的用法,最后要跟上{% endif %}.可以使用你的and,or,not ...
- {vlFeat}{matlab}{VS2010}{编译配置}
运行程序需要vlfeat与mex等在matlab与vs2010中配置,碰到了不少困难,下面给出解决方案 1.下载vlfeat,但是vlfeat目录中并没有编译好的mex文件,需要在vs2010中编译 ...
- Sprint第一个冲刺(第一天)
一.Sprint介绍 我们这次的团队项目是做<餐厅到店点餐系统>APP版,暂时不是基于用户需求来做的,但后期会进行用户需求调查,完善我们的软件.现在正在做一些前期准备,在团队合作上还缺乏一 ...
- parceljs 基本使用———又一个前端构建工具
备注: 又一个新的前端构建工具 1. 安装 yarn global add parcel-bundler 2. 初始化项目 yarn init -y 3. 基本代码 a. 创建 index. ...
- qt 把整形数据转换成固定长度字符串(转)
QString ToStr(int number, int size){ return QString("%1").arg(number, size, 10, QChar('0') ...