Kinect 获取数据和可视化

基于 Azure Kinect SDK 和 Open3D 实现灾害现场的三维重建。 首先,通过获取 Kinect 的 IMU 数据、捕获彩色图像和深度图像,将图像数据转换为点云数据。 随后,根据 IMU 数据实现点云的粗配准,使用彩色ICP算法实现点云的精配准。并将点云数据转换为三角网格数据即场景模型数据。 最后,通过 Protocal Buffers 技术发送给客户端。客户端可在 HoloLens2 上进行智能可视化。 然后,我们将点云数据转换为三角网格数据,生成场景模型数据。最后,使用 Protocal Buffers 技术将场景模型数据发送给客户端,实现在 HoloLens2 上进行可视化操作。通过完成以上步骤,我们可以高效地把灾后场景还原为一个准确的三维场景模型,使救援和重建工作变得更为快捷、高效。

2024年06月16日 · 1 分钟 · Cassius0924

构建 Open3D 官方 Azure Kinect 示例时找不到 AzureKinect*** 的解决方法

此文章旨在帮助解决 C++ 版 Open3D 编译时找不到 AzureKinect 相关函数的问题。 问题描述在尝试构建官方Azure Kinect示例时(AzureKinectViewer.cpp、AzureKinectMKVReader.cpp和AzureKinectRecord.cpp)报错: [1/1] Linking CXX executable AzureKinectViewer FAILED: AzureKinectViewer : && /usr/bin/c++ CMakeFiles/AzureKinectViewer.dir/AzureKinectViewer.cpp.o -o AzureKinectViewer -L/usr/local/lib -L/usr/local/cuda/lib64 -Wl,-rpath,/usr/local/lib:/usr/local/cuda/lib64 /usr/lib/aarch64-linux-gnu/libk4a.so.1.4.1 /usr/local/lib/libOpen3D.so && : CMakeFiles/AzureKinectViewer.dir/AzureKinectViewer.cpp.o: In function `main': AzureKinectViewer.cpp:(.text+0x4fc): undefined reference to `open3d::io::AzureKinectSensor::ListDevices()' AzureKinectViewer.cpp:(.text+0x50c): undefined reference to `open3d::io::AzureKinectSensorConfig::AzureKinectSensorConfig()' AzureKinectViewer.cpp:(.text+0x75c): undefined reference to `open3d::io::AzureKinectSensor::AzureKinectSensor(open3d::io::AzureKinectSensorConfig const&)' AzureKinectViewer.cpp:(.text+0x76c): undefined reference to `open3d::io::AzureKinectSensor::Connect(unsigned long)' AzureKinectViewer.cpp:(.text+0x84c): undefined reference to `open3d::io::AzureKinectSensor::CaptureFrame(bool) const' AzureKinectViewer.cpp:(.text+0x93c): undefined reference to `open3d::io::AzureKinectSensor::~AzureKinectSensor()' AzureKinectViewer.cpp:(.text+0xb2c): undefined reference to `open3d::io::AzureKinectSensor::~AzureKinectSensor()' CMakeFiles/AzureKinectViewer.dir/AzureKinectViewer.cpp.o: In function `open3d::io::AzureKinectSensorConfig::~AzureKinectSensorConfig()': AzureKinectViewer.cpp:(.text._ZN6open3d2io23AzureKinectSensorConfigD2Ev[_ZN6open3d2io23AzureKinectSensorConfigD5Ev]+0xc): undefined reference to `vtable for open3d::io::AzureKinectSensorConfig' AzureKinectViewer.cpp:(.text._ZN6open3d2io23AzureKinectSensorConfigD2Ev[_ZN6open3d2io23AzureKinectSensorConfigD5Ev]+0x10): undefined reference to `vtable for open3d::io::AzureKinectSensorConfig' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. 这是因为安装Open3D时未开启Azure Kinect的支持选项。 ...

2023年04月08日 · 1 分钟 · Cassius0924