Halcon数据类型

您所在的位置:网站首页 定义域的几种类型图片 Halcon数据类型

Halcon数据类型

2024-01-22 06:23| 来源: 网络整理| 查看: 265

1. HDevelep下数据类型 (1)图形数据 image(图像),region(区域),xld(轮廓)

image 在halcon中,image=channel(像素)+domain(定义域)。domain:每张图像都有其定义域,代表图像中要处理的像素范围,像素存放于channel矩阵中。

region 用行程编码的方式存储,有广泛应用,特点是高效。

XLD 亚像素精度轮廓(XLD):图像均用像素点保存,像素点是整型不连续的,halcon中定义了下亚像素描述几何轮廓对象(一组排序后的浮点数控制点集合)。

(2)控制数据 integer(整型),real(实型),string(字符串),tuple(元组),handle(句柄)

tuple 元组也可以近似的理解为数组,但是元组可以有几种不同类型的数据组成。 array:=[1,2,'a',3,4]

2. vc++下数据类型 (1)图形数据 Hobject:把图像数据封装成类的一种形式,包含hdevelep下的image、region、Xld。

判断数据是否为空和清空数据 HObject image; image.Clear(); //清空数据 if (image.Key()==UNDEF_KEY) //判断图形数据是否为空 { //如果为空执行这语句 }

(2)控制数据 HTuple,Hlong(整型数据的另一种形式),包含hdevelep下的所有控制数据。

数组赋值 //数组赋值 HTuple array; array.Clear();//清空元组数据 array[0]=0; array[1]=1; array[2]=2; array[3]=3; array[4]=4; array[5]=5; HTuple array1; array1[0]=10; array1[1]=11; array1[2]=12; array1[3]=13; 数组基本操作算子 //数组基本操作算子 TupleConcat(array,array1,&array); //将两个数组连接 HTuple length; TupleLength(array,&length); //得到数组长度 HTuple selected,i=6; TupleSelect(array,i,&selected); //选取数组中第i个元素 TupleRemove(array,i,&array); //移除数组中第i个元素 vc++数据类型与halcon数据类型转换 halconInt=20; halconDouble=13.14; halconString="liu zhi"; //halcon类型转换为vc++类型 vcInt=halconInt[0].I(); vcDouble=halconDouble[0].D(); vcString=halconString[0].S(); //vc++转换为halcon类型 halconInt.Clear(); halconDouble.Clear(); halconString.Clear(); halconInt=(HTuple)vcInt; halconDouble=(HTuple)vcDouble; //halconString=(HTuple)vcString; 判断数据是否为空和清空数据 //判断数组是否为空,清空数组 array.TupleLength(); //为0数组为空,大于0不为空 array.Clear(); //清空数组元素 tuple_xxxx 算子 不管是vc++还是hedevedlop中,经常会用到tuple_xxxx 算子对tuple数据进行运算和操作。可以查看halcon算子函数整理。

3. 易错难点 (1)halcon数据类型在hdevelop与vc++中变量定义区别

在hedevdlop中一般不需要定义变量,会根据算子自动转换成相应的数据类型。vc++定义变量有两种类型,图形数据Hobject,控制数据HTuple


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3