如何解决华为AREngine C ++
我正在尝试访问飞行时间传感器,以便使用数据。在华为AR Engine文档中,我发现了以下功能:
HwArPointCloud_getData(ar_session,ar_point_cloud,&point_cloud_data);
point_cloud_data是由(x,y,z和置信度)组成的浮点数组,但是我不知道如何解析它?
您有什么解决办法吗?
解决方法
因为认为每个浮点数都被分成(x | y |和DEPTH16)
不是。没道理浮点数具有某种格式,这就是使其成为浮点数的原因。如果您开始对其进行“除法”,则它不是浮点数,而是int
位域之类的东西,而不是浮点数。因此,请不要考虑这种思路。比这简单得多。
它是连续的浮点数。如果您是一位时间紧迫的华为工程师,您会想到几种不同的方式来表示此类数据? :)您很可能会在一两次尝试中弄清楚。假设先行显示x,y,z,conf
,然后再显示conf,x,z
,然后尝试显示它。 x,z
坐标的排列也很容易解开。虽然文档显然是不容轻视的,但这并不是一个很难解决的难题。但是,可视化数据是关键。将这些数字视为数字会很快让您感到厌烦。
请注意,您不应“解析”任何内容。这是一个简单的const float *array
。只需阅读它,就好像它是一个浮点数组,每点四个浮点。 C ++标准还允许您将其视为浮点数的结构数组,以使您的生活更轻松:
struct Point {
float x,confidence;
};
...
const Point *point_cloud_data = {};
...
HwArPointCloud_getData(ar_session,ar_point_cloud,reinterpret_cast<const float**>(&point_cloud_data));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。