gpt4 book ai didi

android - 如何从 ARCore NDK 中的 ArCamera Pose 获取 Matrix4x4?

转载 作者:太空宇宙 更新时间:2023-11-04 12:42:40 27 4
gpt4 key购买 nike

在谷歌上 Samples我可以获得有关从 ArAnchor 生成的 Pose 中获取 Matrix 的样本。或来自 ArPlane .但是当我试图从 ArCamera不起作用,我的结果是一个单位矩阵

我的代码的一小部分:

ScopedArPose scopedArPose(ar_session_);
ArCamera_getPose(ar_session_, ar_camera, scopedArPose.GetArPose());
std::array<float, 16> out_matrix_col_major_4x4;

ArPose_getMatrix(ar_session_, scopedArPose.GetArPose(), out_matrix_col_major_4x4.data());

什么是有效的:

ArSession正在工作,ArFrame没关系,我可以得到 ArCamera , ArCameraIntrinsics没关系,ArImage没关系,AImage没问题。

Image 中的格式和 NumberOfPlanes 都可以。

ScopedArPose类与谷歌示例相同。 array<float, 16>工作正常,在谷歌示例中测试。

缺少什么?

最佳答案

为了解决这个问题,需要先检查相机状态。

ArTrackingState camera_tracking_state;
ArCamera_getTrackingState(ar_session_, ar_camera, &camera_tracking_state);
// If the camera isn't tracking don't bother to go forward
if (camera_tracking_state != AR_TRACKING_STATE_TRACKING) {
LOGI("ARCoreOdometry: Camera Not Tracking");
return;
}

关于android - 如何从 ARCore NDK 中的 ArCamera Pose 获取 Matrix4x4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53378991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com