Azure Kinect DK 基本开发流程
Azure Kinect DK 是微软目前最新的一款深度相机,并且目前的销量一般,使用的开发者相对较少,生态目前来说还不太好,所以导致了很多想使用Azure Kinect DK开发的一些的开发者,会遇到很多问题。现在将一些KinectDK的常用开发流程清点一下。
简单介绍一下Azure Kinect DK传感器SDK的系统要求
支持的操作系统
Windows 10 2018 年 4 月版 (x64) 或更高版本。
装有 OpenGLv4.4 或更高版本 GPU 驱动程序的 Linux Ubuntu 18.04 (x64)。
所以使用win7的小伙伴可能得装win10了
主机电脑的最低硬件要求
电脑主机的硬件要求取决于在主机电脑上执行的应用程序/算法/传感器帧速率/分辨率。 对 Windows 建议的最低传感器 SDK 配置为:
第七代 Intel® CoreTM i3 处理器(双核 2.4 GHz,搭载 HD620 或更快的 GPU)
4 GB 内存
专用 USB3 端口
支持 OpenGL 4.4 或 DirectX 11.0 的图形驱动程序
大概只需要这么一些要求,提醒Kinect DK有俩根线,一根是数据线是USB接口和type-c接口 一根是供电的线是圆孔和USB接口,我就看见有人把Kinect DK的USB接口搞错了,还非说坏了要我去退货O.O,还有就是数据线的USB接口要接USB3.0的端口。
Azure Kinect DK的基本开发流程
Azure Kinect DK 可以使用 C,C++,C#进行开发,其实根本来说还是使用的C语言进行的开发,别的只是将C语言的一些东西进行封装而已,同时我还发现有unity3D的插件,使用unity3D开发的话比较轻松。在此我使用的是C++进行开发。
1.寻找相机设备
const uint32_t device_count = k4a::device::get_installed_count();//查看设备个数
if (device_count == 0)
{
printf("未发现设备");
return 0;
}
如果获取的相机设备数量位0的话,也就没有必要继续下去了。
2.打开设备
k4a::device device = k4a::device::open(K4A_DEVICE_DEFAULT);//打开设备
如果只有一个设备的话就用这个参数来打开默认的设备。
3.配置设备的参数
k4a_device_configuration_t config = K4A_DEVICE_CONFIG_INIT_DISABLE_ALL; //设定设备参数
config.color_format = K4A_IMAGE_FORMAT_COLOR_BGRA32;
config.color_resolution = K4A_COLOR_RESOLUTION_1080P;
config.depth_mode = K4A_DEPTH_MODE_NFOV_UNBINNED;
config.camera_fps = K4A_FRAMES_PER_SECOND_30;
有没有发现config的声明和前面的不一样,你猜的没错就是C+C++混合编程0.0。
4.打开相机
device.start_cameras(&config);//使用何种设置配置打开相机
5.获取捕捉
k4a::capture capture;//声明捕捉
device.get_capture(&capture, std::chrono::milliseconds(0))//获取捕捉
6.获取各类图像
rgbImage = capture.get_color_image();//获取彩色图像
depthImage = capture.get_depth_image();//获取深度图像
irImage = capture.get_ir_image();//获取红外图像
7.自由发挥
可以对获取到的图片进行各类操作包括获取他的长、宽、图像数据等或者是进行各种转换、校正和可视化等等。
8.释放捕捉和关闭相机
capture.reset();
device.close();