Halcon数据类型

88 篇文章 132 订阅

Halcon数据类型

1. HDevelep下数据类型

1.1 图形数据

image(图像),region(区域),xld(轮廓)

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

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

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

1.2 控制数据

integer(整型),real(实型),string(字符串),tuple(元组),handle(句柄)

tuple:元组也可以近似的理解为数组,但是元组可以有几种不同类型的数据组成。

array:=[1,2,'a',3,4]

2. VC++下数据类型

2.1 图形数据

Hobject:把图像数据封装成类的一种形式,包含hdevelep下的imageregionXld

// 判断数据是否为空和清空数据

       HObject image;

       image.Clear();                                  //清空数据

       if (image.Key()==UNDEF_KEY)         //判断图形数据是否为空

       {

              //如果为空执行这语句

       }

2.2 控制数据

HTupleHlong(整型数据的另一种形式),包含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();       //清空数组元素

3. 易错难点

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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值