【Halcon学习笔记】02.Halcon数据类型
1.概述
Halcon数据类型主要有图形参数和控制参数两类参数。图形参数包括Image,Region,XLD(Extended Line Descriptions),控制参数包括Tuple、handle、string、integer、real等。

2. Image
2.1 概述
Image,图像。Halcon中的图像数据可以用矩阵来表示,矩阵的行对应图像的高,矩阵的列对应图像的宽,矩阵的元素对应图像的像素,矩阵元素的值对应图像像素的灰度值。即“像素点的集合”。
2.2 分类
根据每个像素信息不同,通常将图像分为二值图像、灰度图像、RGB图像。

2.3 相关算子
read_image:读取图像。
decompose3:将3通道图像转换为3个单通道图像。
compose3:将3个单通道图像转换为3通道图像。
crop_domain:裁剪图像得到新的图像。
3. Region
3.1 概述
Region,区域。Halcon中的区域可以理解为:某种具有结构体性质的二值图,即“某些符合要求性质的像素点的子集”。

3.2 相关算子
threshold:阈值分割,把image准换成region。
select_shape:区域特征筛选。
connection:计算一个区域中连通的部分。
4. XLD
4.1 概述
Extended Line Descriptions,轮廓函数。XLD不是基于像素,人们通常称他为亚像素,只不过它比像素更精确,可以精确到像素内部的一种描述。在Halcon中,使用XLD表示亚像素的轮廓和多边形。

4.2 分类
闭轮廓:首尾相交。
开轮廓:首尾不相交。
4.3 相关算子
edges_sub_pix:利用滤波器提取亚像素精度边缘。
threshold_sub_pix:从具有像素精度的图像提取xld。
gen_contour_region_xld:region转换成xld。
gen_region_contour_xld:xld转换成region。
5. Tuple
5.1 概述
Tuple,元组。与C语言中的数组类似,其长度为大于等于1即可作为正常变量使用,第一个索引值为0,最大索引值为变量长度减1。其类型包括int,double,string等。
5.2 相关操作
Tuple:=[] //定义
Tuple:=[1,2,3,4] //定义
Tuple[2]=2 //赋值
Num:=|Tuple| //求元素个数
Uni:=[Tuple1,Tuple2] //合并
5.3 相关算子
tuple_add:加操作
tuple_abs:绝对值
tuple_deg:弧度换角度
tuple_sort:升序排列元素
6. handle
6.1 概述
handle,句柄。用来标志对象获知项目的标识符,可用用来描述窗体、文件等。如窗口句柄、相聚句柄、模板句柄等。
7. string、integer、real
7.1 概述
string、integer、real,字符型、整型、实数型。其操作和特性同C语言基本一致。

by Ryou2-