ZED stereo camera开发入门教程(4)

阅读: 评论:0

ZED stereo camera开发入门教程(4)

ZED stereo camera开发入门教程(4)

教程4:使用ZED进行位置跟踪

原教程及代码链接:

本教程将介绍如何使用ZED作为位置跟踪器。程序将循环,直到1000位置被抓住。我们假设你已经遵循了以前的教程。

先决条件

  • Windows 7 64位或更高版本,Ubuntu 16.04
  • ZED SDK及其依赖项(CUDA)

构建程序

构建Windows

  • 在源文件夹中创建一个“build”文件夹
  • 打开cmake-gui并选择源和构建文件夹
  • 生成Visual Studio Win64解决方案
  • 打开生成的解决方案并将配置更改为 Release
  • 构建解决方案

构建Linux

在示例目录中打开一个终端,并执行以下命令:

mkdir build
cd build
cmake ..
make

代码概述

创建一个相机

与以前的教程一样,我们创建,配置和打开ZED。

// Create a ZED camera object
Camera zed;// Set configuration parameters
InitParameters init_params;
init_params.camera_resolution = RESOLUTION_HD720; // Use HD720 video mode (default fps: 60)
dinate_system = COORDINATE_SYSTEM_RIGHT_HANDED_Y_UP; // Use a right-handed Y-up coordinate system
dinate_units = UNIT_METER; // Set units in meters// Open the camera
ERROR_CODE err = zed.open(init_params);
if (err != SUCCESS)exit(-1);

启用位置跟踪

一旦相机打开,我们必须启用位置跟踪模块才能获得ZED的位置和方向。
// Enable positional tracking with default parameters
sl::TrackingParameters tracking_parameters;
err = ableTracking(tracking_parameters);
if (err != SUCCESS)exit(-1);
在上面的例子中,我们留下默认的跟踪参数。有关可用参数的列表,请查看在线文档。

拍摄姿势数据

现在打开ZED并启用位置跟踪,我们创建一个循环来抓取并检索相机位置。
相机位置由类sl :: Pose给出。该类包含相机的翻译和方向,以及图像时间戳和跟踪信心(质量)。
姿势总是与参考框架相关联。SDK提供了两个参考框架:REFERENCE_FRAME_WORLD和REFERENCE_FRAME_CAMERA。
本教程的目的不在于参考这些参考框架的细节。阅读文档了解更多信息。
在这个例子中,我们得到了在World Frame中的设备位置。
// Track the camera position during 1000 frames
int i = 0;
sl::Pose zed_pose;
while (i < 1000) {if (ab() == SUCCESS) {Position(zed_pose, REFERENCE_FRAME_WORLD); // Get the pose of the left eye of the camera with reference to the world frame// Display the translation and timestampprintf("Translation: Tx: %.3f, Ty: %.3f, Tz: %.3f, Timestamp: %llun", Translation().tx, Translation().ty, Translation().tz, zed_pose.timestamp);// Display the orientation quaternionprintf("Orientation: Ox: %.3f, Oy: %.3f, Oz: %.3f, Ow: %.3fnn", Orientation().ox, Orientation().oy, Orientation().oz, Orientation().ow);i++;}
}
这将循环,直到ZED被跟踪1000帧。我们在控制台窗口中显示照相机翻译(以米为单位),并在退出应用程序之前关闭相机。

// Disable positional tracking and close the camera
zed.disableTracking();
zed.close();
return 0;
您现在可以使用ZED作为内向外位置跟踪器。您还可以阅读下一个教程,了解如何使用空间映射。

本文发布于:2024-02-05 01:23:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170720862261769.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:入门教程   ZED   stereo   camera
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23