1.升级cmake

// Download and extract cmake 3.14.5
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz
tar -xzvf cmake-3.14.5.tar.gz
cd cmake-3.14.5/
//Install extracted source
./bootstrap
make -j4
sudo make install
cmake --versionsudo apt-get install jack-tools

2.安装ninja

sudo apt install ninja-build 

3.下载sdk

// 下载Azure Kinect release、1.1.1 版
gitclone -b v1.1.1 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git

下载relaese 1.1.1是因为目前官方还未提供libdepthengine.so.2.0库文件。
libdepthengine.so.1.0下载地址:
https://download.csdn.net/download/weixin_41628710/11484674
下载libdepthengine.so.1.0后, 放置/usr/lib/x86_64-linux-gnu/文件夹中

4.编译安装

mkdir build && cd build
cmake .. -GNinja
ninja
sudo ninja install

5.编译完成开启k4aviewer无法获取深度视频流,可尝试以下解决方案

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6

下载relaese 1.1.1是因为目前官方还未提供libdepthengine.so.2.0库文件。
libdepthengine.so.1.0下载地址:
https://download.csdn.net/download/weixin_41628710/11484674
下载libdepthengine.so.1.0后, 放置/usr/lib/x86_64-linux-gnu/文件夹中

2下载libdepthengine.so.文件

下载地址为:

https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/

想要去掉管理员权限也能启动:
进入Azure Kinect sdk 源码根目录中 scripts 文件夹,复制99-k4a.rules文件至/etc/udev/rules.d/

sudo ./script/bootstrap-ubuntu.sh. 确保这些依赖都成功安装.

另一种方法是,直接在https://github.com/lemenkov/libyuv.gitgit clone下来,并将clone下来的libyuv文件夹改名为src,放到extern/libyuv/里。

然后在。gitmodules删除libyuv的下载

6.测试

在build文件下

sudo ./bin/k4aviewer

7.c++ 代码获取

#include <stdio.h>
#include <stdlib.h>
#include <k4a/k4a.h>
#include <opencv2/opencv.hpp>int main(int argc, char **argv)
{int returnCode = 1;k4a_device_t device = NULL;const int32_t TIMEOUT_IN_MS = 1000;int captureFrameCount;k4a_capture_t capture = NULL;std::cout<<"d1"<<std::endl;uint32_t device_count = k4a_device_get_installed_count();if (device_count == 0){printf("No K4A devices found\n");return 0;}if (K4A_RESULT_SUCCEEDED != k4a_device_open(K4A_DEVICE_DEFAULT, &device)){printf("Failed to open device\n");return 0;}std::cout<<"d2"<<std::endl;k4a_device_configuration_t config = K4A_DEVICE_CONFIG_INIT_DISABLE_ALL;config.color_format = K4A_IMAGE_FORMAT_COLOR_MJPG;config.color_resolution = K4A_COLOR_RESOLUTION_2160P;config.depth_mode = K4A_DEPTH_MODE_NFOV_UNBINNED;config.camera_fps = K4A_FRAMES_PER_SECOND_30;if (K4A_RESULT_SUCCEEDED != k4a_device_start_cameras(device, &config)){printf("Failed to start device\n");return 0;}cv::Mat cv_rgbImage_with_alpha;cv::Mat cv_rgbImage_no_alpha,cv_irImage_8U,cv_depth_8U;std::cout<<"d3"<<std::endl;while (1){k4a_image_t depthImage = NULL, colorImage = NULL, irImage = NULL;switch (k4a_device_get_capture(device, &capture, TIMEOUT_IN_MS)){case K4A_WAIT_RESULT_SUCCEEDED:break;case K4A_WAIT_RESULT_TIMEOUT:printf("Timed out waiting for a capture");continue;break;case K4A_WAIT_RESULT_FAILED:printf("Failed to read a capture");goto Exit;}// std::cout<<"d3"<<std::endl;cv::Mat color;colorImage = k4a_capture_get_color_image(capture);// if(colorImage)// {//      std::cout<<"d5"<<std::endl;//    int width = k4a_image_get_width_pixels(colorImage);//  int height = k4a_image_get_height_pixels(colorImage);//    color = cv::Mat(cv::Size(width, height), CV_8UC4);//   memcpy(color.data, (void*)k4a_image_get_buffer(colorImage), width * height * 4);//     std::cout<<"dd"<<std::endl;// }cv::Mat depth;depthImage = k4a_capture_get_depth_image(capture);if (depthImage){int width = k4a_image_get_width_pixels(depthImage);int height = k4a_image_get_height_pixels(depthImage);depth = cv::Mat(cv::Size(width, height), CV_16UC1);memcpy(depth.data, (void*)k4a_image_get_buffer(depthImage), width * height * sizeof(int16_t));depth.convertTo(cv_depth_8U, CV_8U, 100 );cv::imshow("depth",cv_depth_8U);}cv::Mat IR_left, IR_right;irImage = k4a_capture_get_ir_image(capture);if (irImage != NULL){//std::cout<<"d5"<<std::endl;int width = k4a_image_get_width_pixels(irImage);int height = k4a_image_get_height_pixels(irImage);cv::Mat IR_left = cv::Mat(cv::Size(width, height), CV_16UC1);memcpy(IR_left.data, (void*)k4a_image_get_buffer(irImage), width * height * sizeof(int16_t));//cv::Mat  cv_irImage = cv::Mat(height, width, CV_16U, (void*)k4a_image_get_buffer(irImage), width * height * sizeof(int16_t));IR_left.convertTo(cv_irImage_8U, CV_8U, 1 );cv::imshow("iii",cv_irImage_8U);if(cv::waitKey(10)==27)break;}if (colorImage)k4a_image_release(colorImage);if (depthImage)k4a_image_release(depthImage);if(irImage)k4a_image_release(irImage);if(capture)k4a_capture_release(capture);cv::waitKey(2);}returnCode = 0;
Exit: if (device != NULL){k4a_device_close(device);}return returnCode;
}

cmakelists.txt


cmake_minimum_required(VERSION 2.8)
set(k4a_DIR /usr/local/lib/cmake) project(WDKinectDKDemo)find_package(k4a REQUIRED)find_package(OpenCV REQUIRED)include_directories( ${CMAKE_CURRENT_LIST_DIR} )
include_directories( ${OpenCV_INCLUDE_DIRS} )add_executable(azureCapture main_demo_Linux.cpp
)target_link_libraries(azureCapture PRIVATE k4a::k4a ${OpenCV_LIBS})set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

AZURE kinect 深度相机配置ubuntu16.04相关推荐

  1. kinect深度距离误差_azure kinect 深度相机原理

    azure kinect 深度相机原理 RGB原理就不要讲了 工作原理 Azure Kinect DK 深度相机实现调幅连续波 (AMCW) 时差测距 (ToF) 原理. 该相机将近红外 (NIR) ...

  2. Ubuntu18.04 Azure Kinect ROS Driver配置

    Ubuntu18.04 Azure Kinect ROS Driver配置 文章目录 Ubuntu18.04 Azure Kinect ROS Driver配置 1.创建工作空间 2.下载ROS驱动 ...

  3. 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow

    http://f.dataguru.cn/thread-660774-1-1.html 发表于 2016-7-20 09:04 | 只看该作者 |倒序浏览 |阅读模式 深度学习主机环境配置: Ubun ...

  4. 深度学习环境 Ubuntu16.04 LTS + GTX750Ti + CUDA9.0 + cudnn7.0 + python3.6.5 + tensorflow1.6搭建

    从0搭建Ubuntu深度学习环境 Ubuntu16.04 LTS + GTX750Ti + CUDA9.0 + cudnn7.0 + python3.6.5 + tensorflow1.6 之前仅仅在 ...

  5. ROS 乐视三合一深度相机 配置

    ROS 乐视三合一深度相机 配置 驱动 启动 标定 驱动 安装依赖 sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuv ...

  6. 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080/980ti+CUDA8.0

    8月份的时候折腾tensorflow,在ubuntu上安装nvdia显卡驱动一直有问题,没有折腾好,今天看到这篇文章,起到了一定的帮助,记录一下. bing上搜索关键字,一定要搜索 ubuntu 16 ...

  7. gtx1080 matlab,深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

    这个系列写了好几篇文章,这是相关文章的索引,仅供参考: 接上文<深度学习主机攒机小记>,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是 ...

  8. 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Bernice_lying [前言] 深度学习燎原之势势不可当,现在很多现场使用深度方法的比赛需要自行 ...

  9. Ubuntu18.04+ROS+ 乐视三合一深度相机配置使用

    一.相关配置 1.安装依赖 sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-li ...

最新文章

  1. 自主数据类型:在TVM中启用自定义数据类型探索
  2. Will it finally: 关于 try/catch 的一些细节
  3. 图像处理理论(一)——直方图、二值化、滤波基础
  4. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  5. 无线网络技术基础 01
  6. rabbitmq队列中消息过期配置
  7. Quartz 触发器(SimpleTriggerCronTrigger )配置说明 cronExpression表达式 转
  8. 洛谷 P1057 传球游戏
  9. AR/MR研究团队和机构
  10. 颜色透明度16进制对照表
  11. 前端设置画布的高度_前端页面内的高度、位置简述
  12. 微信定位真的泄露了你的精确位置
  13. 不用梯子——每日领取5块钱的ChatGPT体验券
  14. unity.生成表示地图信息的二维数组_Unity3D 中生成任意形状3D Texture amp; 体积云...
  15. 今天,传说中的老方给我们班上课了
  16. 国外调查问卷项目赚美金
  17. 机器学习Chapter-1(线性模型)
  18. Python 函数限时运行
  19. 不容错过,数据分析中最常用的10大Python库
  20. 机器学习实战教程(八):支持向量机原理篇

热门文章

  1. mysql计算订单总金额_mysql统计当天消费总额
  2. sqlserver如何从周一计算周_纯零基础,花10周时间,完全搞定Python,有没有可能?...
  3. 微信小程序图片删除php,关于微信小程序中图片处理的问题总结
  4. 极光推送java demo_极光推送- 3 分钟 Demo - 极光文档
  5. 添加公共引用目录_原来Word还可以自动生成图片和图表目录!
  6. array 前端面试题_web前端开发面试题汇总
  7. 数据可视化demo_为更快读懂报表,我们将数据可视化了
  8. mysql-5.7.24初始化数据库_MySQL5.7.28 初始化数据库
  9. 【LeetCode笔记】剑指 Offer 67. 把字符串转换成整数 (Java、字符串)
  10. simulink仿真及代码生成技术入门到精通_Simulink仿真零基础入门到精通实用教学教程 自学全套...