Bootstrap

MircroSoft Azure Kinect Camera及其SDK使用

       ~~~~~~       由于毕设需要用到体感相机采集数据 ,那么在调研了许多深度相机参考资料后,结合实验室已有的设备,最开始选的是一款SICK的工业3D相机,在调试过后决定还是选择微软的这款相机。原因很简单:这款相机功能强大,包含Color、Depth、IR、IMU等多种数据类型,并且相机已经校准好了。下面是调研看的一些博客和MicroSoft的官方文档地址。

1.什么是立体视觉相机?(What is a stereo vision camera?)_视觉相机是什意思-CSDN博客
2.How to select your Stereo Camera? - e-con Systems
3.Azure Kinect Camera Doc

       ~~~~~~       不知道这款相机是否适合自己项目需求的可以先看一下它的设备参数,地址如下:

https://learn.microsoft.com/en-us/previous-versions/azure/kinect-dk/hardware-specification

       ~~~~~~       启动相机过程按照官方的Quick Start基本没啥问题,遇到问题注意看一些指示灯的含义:只有当前后两个灯都是Solid White才是正常工作的(相机前面的灯在启动5s后会熄灭,用于提示处于正常唤醒状态)
image1
      ~~~~~      启动相机后,下载SDK到本地:一般在C:/Program File/ 目录下
(注意:这里地址带空格,后面SDK程序可能会无法识别里面的静态链接库,可以移动到其他无空格的地址下)
      ~~~~~      打开tools文件下的的k4aviewer.exe,按照文档说明测试功能就行,k4arecorder.exe需要在终端使用命令启动记录:

k4arecorder [options] output.mkv

 Options:
  -h, --help              Prints this help
  --list                  List the currently connected K4A devices
  --device                Specify the device index to use (default: 0)
  -l, --record-length     Limit the recording to N seconds (default: infinite)
  -c, --color-mode        Set the color sensor mode (default: 1080p), Available options:
                            3072p, 2160p, 1536p, 1440p, 1080p, 720p, 720p_NV12, 720p_YUY2, OFF
  -d, --depth-mode        Set the depth sensor mode (default: NFOV_UNBINNED), Available options:
                            NFOV_2X2BINNED, NFOV_UNBINNED, WFOV_2X2BINNED, WFOV_UNBINNED, PASSIVE_IR, OFF
  --depth-delay           Set the time offset between color and depth frames in microseconds (default: 0)
                            A negative value means depth frames will arrive before color frames.
                            The delay must be less than 1 frame period.
  -r, --rate              Set the camera frame rate in Frames per Second
                            Default is the maximum rate supported by the camera modes.
                            Available options: 30, 15, 5
  --imu                   Set the IMU recording mode (ON, OFF, default: ON)
  --external-sync         Set the external sync mode (Master, Subordinate, Standalone default: Standalone)
  --sync-delay            Set the external sync delay off the master camera in microseconds (default: 0)
                            This setting is only valid if the camera is in Subordinate mode.
  -e, --exposure-control  Set manual exposure value (-11 to 1) for the RGB camera (default: auto exposure)

image2

      ~~~~~      安装上述命名就能得到一个.mkv的文件(文件很大),而且要注意的是在终端开始record的时候要把Viewer关了,不然终端会报错!

https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/1739

      ~~~~~      如果上述都成功,那么证明设备没问题,接下来就是读SDK文档了,因为记录下来的数据我们需要处理成数据集的形式,并且要适合标注!
− − − − − − − − − − − − − − − − − − − − − − − − ------------------------
接下来是如何适配SDK进入我们常用的IDE,由于是C/C++语言(我不太会),参考了一些文献
1.VS Code和Visual Studio:
Visual Studio 2022/VSCode C++配置第三方库(libsndfile)_vs2022添加第三方库-CSDN博客
注意,VS需要自己安装MinGW或者使用Visual Studio的MSVC编译器,而且需要自己修改tasks.json链接静态库,并且把动态库(就是C:\Program Files\Azure Kinect SDK v1.4.2\sdk\windows-desktop\amd64\release\bin)这个路径加到系统变量,让编译器在编译时候可以找到需要的动态库。

;