【Halcon中的HTuple类型】

本文详细介绍了Halcon中的HTuple类型,它既可表示int、double、float和string,也可作为容器和数组使用。文中给出了HTuple与int、double、string之间的转换示例,以及HTuple与vector和数组的相互转换方法,对于理解和应用HTuple类型具有指导意义。
摘要由CSDN通过智能技术生成

文章目录


在这里插入图片描述

halcon中的HTuple类型类非常强大;

1、既可以表示的类型有int,double、float、string,既可以表示单个值;
2、也可以是容器;
3、可以是数组,数组遍历时需要有下标,如:变量名称[下标]

相互转换

//HTuple 转 int double string
int _i;
HTuple tuple;
_i = tuple[0].I();
		
double _d;
_d = tuple[0].D();
 
const char* _str;
_str = tuple[0].S();
 
//int double string 转 HTuple 
tuple = (HTuple)_i;
tuple = (HTuple)_d;
tuple = (HTuple)_str;
 
//HTuple 转换 vector<int/ double/ string>
vector<int> *_vInt = new vector<int>();
for (size_t i = 0; i < (size_t)tuple.Length(); i++)
{
	_vInt->push_back((int)tuple[0].I());
}
 
vector<double> *_vDouble = new vector<double>();
for (size_t i = 0; i < (size_t)tuple.Length(); i++)
{
	_vDouble->push_back((double)tuple[0].D());
}
 
vector<const char*> *_vString = new vector<const char*>();
for (size_t i = 0; i < (size_t)tuple.Length(); i++)
{
	_vString->push_back((const char*)tuple[0].S());
}
 
//vector<int/ double/ string> 转换 HTuple 
for (size_t i = 0; i < _vInt->size(); i++)
{
	tuple.Append((HTuple)_vInt->at(i));
}
 
for (size_t i = 0; i < _vDouble->size(); i++)
{
	tuple.Append((HTuple)_vDouble->at(i));
}
 
for (size_t i = 0; i < _vString->size(); i++)
{
	tuple.Append((HTuple)_vString->at(i));
}
 
delete[]_vInt;
_vInt = nullptr;
 
delete[] _vDouble;
_vDouble = nullptr;
 
delete[] _vString;
_vString = nullptr;
		
//HTuple 与 数组转换
int _iArray[10];
for (size_t i = 0; i < 10; i++)
{
	tuple[i] = (HTuple)_iArray[i];
}
 
double _dArray[10];
for (size_t i = 0; i < 10; i++)
{
	tuple[i] = (HTuple)_dArray[i];
}
 
const char* _strArray[10];
for (size_t i = 0; i < 10; i++)
{
	tuple[i] = (HTuple)_strArray[i];
}
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【网络星空】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值