halcon中HObject和HTuple的两种数据结构的初始化(C#版)

HObject和HTuple的两种数据结构各有两种初始化方式,下面就来总结一下:

  • HObject第一种初始化
HObject hobject=null

表示HObject是没有对象,对象不存在。在halcon算子中,只能作为输出变量(即out位置),作为输入变量就会报错。

  • HObject第二种初始化
HObject hobject;
HOperatorSet.GenEmptyObj(out hobject);

表示hobject是有对象,对象存在,但是对象是空的。在halcon算子中,可以作为输出变量和输入变量。

  • HTuple第一种初始化
HTuple htuple=null

表示htuple是没有对象,对象不存在。在halcon算子中,可以作为输出变量和输入变量。

  • HTuple第二种初始化
HTuple htuple = new HTuple();

表示htuple是有对象,对象存在,但是对象是空的。在halcon算子中,可以作为输出变量和输入变量。

需要注意的是:

数组初始化一定要HTuple htuple = new HTuple(),如下例:

HTuple tempRow=20;

//HTuple tempRowAry=null;会报错没有实例

HTuple tempRowAry=new HTuple();

tempRowAry.Append(tempRow);

不建议下面这种用法:

HOperatorSet.TupleConcat(tempRowAry, tempRow, out tempRowAry);

 

posted @ 2021-06-07 22:17  唯有自己强大  阅读(3404)  评论(2编辑  收藏  举报