Halcon 数组操作
2021-03-01 01:26
标签:== tps 位置 dia sum result 返回 abs 长度 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 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 //循环结束 1、求数组元素的最大值 tuple_max(Array,Max) 2、求数组元素的最小值 tuple_min(Array,Min) 3、求数组元素的平均值 tuple_mean(Array,Mean) 4、求数组元素的绝对值 tuple_abs(Array,Abs) 5、两个数组相加 tuple_add(Array1,Array2,Sum) 6、两个数组相减 tuple_sub(Array1,Array2,Sub) 5、选择数组里面一定范围的元素组成新数组 tuple_select_range(Array,LeftIndex,RightIndex,ArraySelect) 6、将两个数组相连接 tuple_concat(Array1,Array2,Concat) 7、将两个数组元素逻辑与 tuple_and(Array1,Array2,And) 8、将两个数组元素逻辑或 tuple_or(Array1,Array2,Or) 9、给数组元素升序排序 tuple_sort(Array,Sorted) 10、给数组元素升序排序返回的数组元素是排好序的元素原来的下标 tuple_sort_index(Array,Indices) 11、反转一个数组 tuple_inverse(Array,Inverted) 12、比较两个数组是否相等 tuple_equal(Array1,Array2,Equal) 13、计算数组元素对应的弧度的角度 tuple_deg(Array,Deg) 14、在数组1中寻找数组2,如果有返回第一个元素对应的下标,否则返回-1 tuple_find(Array1,Array2,Indices) 15、获取数组的长度 tuple_length(Array,Length) 16、比较两个数组的对应元素,取每个大值放于结果中 tuple_max2(Array1,Array2,Max2) 17、比较两个数组的对应元素,取每个小值放于结果中 tuple_min2(Array1,Array2,Min2) 18、区数组元素的中值 tuple_median(Array,Median) 19、将数组元素值由角度值转换为弧度值 tuple_rad(Array,Rad) 20、将数组元取反(正负转换) tuple_neg(Array,Neg) Halcon 数组操作 标签:== tps 位置 dia sum result 返回 abs 长度 原文地址:https://www.cnblogs.com/ybqjymy/p/14444977.html