图像编程

当前位置:首页>技术新闻>图像编程
全部 8658 内部新闻 12 行业动态 18 视觉技术 876 图像编程 626 下载中心 7126

如何将LabVIEW浮点数转换为Halcon元组?

时间:2025-06-07   访问量:0

如何将LabVIEW浮点数转换为Halcon元组?

在使用LabVIEW调用Halcon算子时,很多参数的输入值都是浮点数的(双精度DBL或单精度SGL)。当然,在Halcon中本身有浮点数的格式,也就是double双精度或者是Real实数,这个在HDevelop环境中是很好判断的,有如需要初开,使用real()的转换函数,浮点形常量 通常都是使用含小数点的数来表示实数,而没有小数点的,则通常是整数。不过要用到LabVIEW环境中,则都是使用HTuple元组类型来表示。HTuple元组,则更类似于LabVIEW的变体数据类型,是可以包含多种数据类型的。因此,在使用LabVIEW调用Halcon算子需要输入浮点数时,通常是将LabVIEW的浮点数转换为HTuple元组格式。

Halcon算子中的浮点数需要使用HTuple(double)来描述

在Halcon的HOperetorSet类算子集中,并没有将LabVIEW的浮点数转换为HTuple的功能。而HTuple本身是属于一个类的,所以,只有在HTuple类中,才可以将LabVIEW的浮点数转换为HTuple类。

HTuple类下的方法或属性本身也没有浮点数转HTuple类,而是必须在打开HTuple构造器时选择相应的构造器,才可以将LabVIEW的浮点数转换为HTuple类:

.NET选板中的构造器节点Constructor Node

首选选择在程序集Assembly中选择halcondotnet的.NET库:

选择halcondotnet程序集

然后在Objects对象中选择HTuple:

选择HTuple对象

之后在Constructors构造器中选择HTuple(Double d):

选择构造器HTuple(Double d)

OK确定后,就可以得到一个构造器:

HTuple(Double d)构造器节点

这个HTuple(Double d)构造器节点,就是将LabVIEW浮点数转换为HTuple的方法。注意,这里是.NET的构造器节点来实现的,不是打开HTuple类后的属性或方法来实现的。

上面的构造器节点函数放置后VI还是错误的,不能运行,这个是因为d端必须要连线才可以:

d端连线后VI可运行

这时如果在HTuple引用后面加一个HTuple的属性Type,可以得到当前的HTuple类型是双精度Double:

HTuple(Double d)的类型是浮点数

通过上面的方法,就可以将LabVIEW中的浮点数,转换为Halcon中的HTuple(Double d)元组双精度数了,方法其实是非常简单的。

需要注意的是,Halcon中只有双精度的浮点数,并没有单精度的浮点数。如果是LabVIEW中的SGL单精度的数,也是通过上面的方法,将其转换为HTuple的双精度,或者是直接在LabVIEW中先将SGL转换为DBL之后转换为HTuple双精度。

SGL单精度直接转HTuple(Double)

这时的d接线端是有红色箭头的,也就是SGL是有强制转换为DBL的。

SGL转DBL后再转HTuple(Double)


上一篇:如何将LabVIEW字符串数组转换为Halcon元组?

下一篇:没有了!

标签:LabVIEW  Halcon  LabVIEW调用Halcon  元组  HTuple  Halcon算子  LabVIEW浮点数转换为Halcon元组 

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部