5.Halcon 数组的创建及基本运算_halcon count_obj
摘要
在 Halcon 中,tuple(元组)是一种重要的数据结构,与其他语言中的数组非常相似。元组由一组元素组成,每个元素可以是不同的数据类型。
与其他语言中的数组不同,元组是不可变的,这意味着一旦创建,就不能修改其内容。因此,元组在许多场景中都比数组更为实用,例如,当需要保存多个不同类型的数据时,使用元组可以使代码更加简洁。
正文
申明与基本操作
tuple1:=[1,2,3,4,5]
*修改其中一个值
tuple1[0]:=100
*循环遍历数组
for Index := 0 to |tuple1|-1 by 1
tuple1[Index]:=tuple1[Index]+1
endfor
*求数组元素的最大值
tuple_max (tuple1, Max)
*反转一个数组
tuple_inverse (tuple1, Inverted)
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)
21、对元组的元素排序并返回排序后的元组的索引
tuple_sort_index (Array, Indices)
tuple1:=[]
tuple1:=[1,2]
tuple1[2]:=3
*这个只是简单的追加
tuple1:=[tuple1,3,4,5]
*这个是对数组中每个元素+1
tuple2:=tuple1+1
*数组相加时数组长度需要一样
tuple3:=tuple1+tuple2
*取得数组长度
length1:=|tuple3|
tuple_length(tuple3,length2)
修改一个图片像素
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)
rgb1_to_gray (Image, GrayImage)
*获取图像的域
get_domain (GrayImage, Domain)
*获得区域所有像素点的坐标
get_region_points (Domain, Rows, Columns)
get_image_size (GrayImage, Width, Height)
*创建一个灰度值不变的图像
gen_image_const (Image1, 'byte', Width, Height)
*读取图像灰度值
get_grayval (GrayImage, Rows, Columns, Grayval)
set_grayval (Image1, Rows, Columns, Grayval)
for Index := 0 to 5000 by 1
Grayval[Index]:=255
endfor
set_grayval (Image1, Rows, Columns, Grayval)