AZURE kinect 深度相机配置ubuntu16.04
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相关推荐
- kinect深度距离误差_azure kinect 深度相机原理
azure kinect 深度相机原理 RGB原理就不要讲了 工作原理 Azure Kinect DK 深度相机实现调幅连续波 (AMCW) 时差测距 (ToF) 原理. 该相机将近红外 (NIR) ...
- Ubuntu18.04 Azure Kinect ROS Driver配置
Ubuntu18.04 Azure Kinect ROS Driver配置 文章目录 Ubuntu18.04 Azure Kinect ROS Driver配置 1.创建工作空间 2.下载ROS驱动 ...
- 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
http://f.dataguru.cn/thread-660774-1-1.html 发表于 2016-7-20 09:04 | 只看该作者 |倒序浏览 |阅读模式 深度学习主机环境配置: Ubun ...
- 深度学习环境 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 之前仅仅在 ...
- ROS 乐视三合一深度相机 配置
ROS 乐视三合一深度相机 配置 驱动 启动 标定 驱动 安装依赖 sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuv ...
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080/980ti+CUDA8.0
8月份的时候折腾tensorflow,在ubuntu上安装nvdia显卡驱动一直有问题,没有折腾好,今天看到这篇文章,起到了一定的帮助,记录一下. bing上搜索关键字,一定要搜索 ubuntu 16 ...
- gtx1080 matlab,深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
这个系列写了好几篇文章,这是相关文章的索引,仅供参考: 接上文<深度学习主机攒机小记>,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是 ...
- 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Bernice_lying [前言] 深度学习燎原之势势不可当,现在很多现场使用深度方法的比赛需要自行 ...
- Ubuntu18.04+ROS+ 乐视三合一深度相机配置使用
一.相关配置 1.安装依赖 sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-li ...
最新文章
- 自主数据类型:在TVM中启用自定义数据类型探索
- Will it finally: 关于 try/catch 的一些细节
- 图像处理理论(一)——直方图、二值化、滤波基础
- P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
- 无线网络技术基础 01
- rabbitmq队列中消息过期配置
- Quartz 触发器(SimpleTriggerCronTrigger )配置说明 cronExpression表达式 转
- 洛谷 P1057 传球游戏
- AR/MR研究团队和机构
- 颜色透明度16进制对照表
- 前端设置画布的高度_前端页面内的高度、位置简述
- 微信定位真的泄露了你的精确位置
- 不用梯子——每日领取5块钱的ChatGPT体验券
- unity.生成表示地图信息的二维数组_Unity3D 中生成任意形状3D Texture amp; 体积云...
- 今天,传说中的老方给我们班上课了
- 国外调查问卷项目赚美金
- 机器学习Chapter-1(线性模型)
- Python 函数限时运行
- 不容错过,数据分析中最常用的10大Python库
- 机器学习实战教程(八):支持向量机原理篇
热门文章
- mysql计算订单总金额_mysql统计当天消费总额
- sqlserver如何从周一计算周_纯零基础,花10周时间,完全搞定Python,有没有可能?...
- 微信小程序图片删除php,关于微信小程序中图片处理的问题总结
- 极光推送java demo_极光推送- 3 分钟 Demo - 极光文档
- 添加公共引用目录_原来Word还可以自动生成图片和图表目录!
- array 前端面试题_web前端开发面试题汇总
- 数据可视化demo_为更快读懂报表,我们将数据可视化了
- mysql-5.7.24初始化数据库_MySQL5.7.28 初始化数据库
- 【LeetCode笔记】剑指 Offer 67. 把字符串转换成整数 (Java、字符串)
- simulink仿真及代码生成技术入门到精通_Simulink仿真零基础入门到精通实用教学教程 自学全套...