Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤
Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤
一、在ubuntu下尝试
1. 在虚拟机VWware Workstation 12.0安装ubuntu14.04按照《Ubuntu安装Kinect v1驱动(openni、NITE、Sensor)及遇到的问题》安装了Kinect v1的驱动,但是最终运行示例出现的窗口和网址提供的不一样,右侧彩色图都是重叠起来的,并且一直在跳动。原因可能是由于kinect v1在虚拟机上驱动有问题,不能运行。
2. 在双系统的ubuntu14.04中按照《Ubuntu安装Kinect v1驱动(openni、NITE、Sensor)及遇到的问题》安装了Kinect v1的驱动,操作之后就可以运行了。但是保存下来的彩色和深度图像都是截屏生成的图像,而不是原始数据。然后利用rqt方法(《ROS视觉和图像-Kinect V1使用》)保存下来的彩色图和深度图均为640*480的三通道的图像,而深度图的原始图像应为16位的单通道图像。综上,ubuntu系统下无法保存深度图像的原始数据。
二、在window10系统下完成Kinect v1 的彩色和深度图像对的采集
Kinect v1的彩色和深度图像对window下采集需要的驱动和软件在百度网盘下载。链接:https://pan.baidu.com/s/1bpydLGb 密码:utjq。
1. 在windows下安装kinect_v1的驱动KinectSDK-v1.8-Setup.exe。
2. 通过usb2.0或者usb3.0连接kinect v1到电脑。
3. 打开KinectSaver文件夹下的KinectExplorer-D2D.exe。出现的界面如下所示:

4. 右下角有声音、加速度和tilt角度和Recording选项
选择Recording选项:
首先选择保存数据的盘符、文件夹名称
(eg:
Local Disk: D;会自动在D盘生成文件夹KinectData。
Folder Name: Test; 会自动在D:\KinectData\Test下生成两个文件夹Color和Depth)
然后color选择image,depth选择binary选项。
彩色图像保存的是位深度为32的bmp图像(应该是4通道图像,但是第4个通道没有数据,所以在matlab下显示的是3通道数据),
深度数据保存的是二进制的数据流(如果depth选择image直接保存的话,保存的深度图也是位深度为32位的bmp图像,不是原始数据,深度图原始数据为16位的单通道图像)。
5. 在D:\KinectData\Test路径下的深度数据是二进制的数据流需要处理得到真正的16位的单通道图像。
将D:\KinectData\Test\Depth\下的二进制的数据流文件重命名为test.binary。在matlab软件中新建一个脚本文件Kinectv1outputdepth.m。
%Kinectv1outputdepth.m
clc
clear all size_s=*; %输入的图像的大小 fid = fopen('test.binary');
R = fread(fid,'uint16'); %读入文件并转化为16位深度信息
fclose(fid); num=length(R)/size_s; %计算里面包含多少张图片
G = reshape(R, size_s,num); %把长向量转换为每张图片深度信息为一行的矩阵 for i=:num
eval(['S',num2str(i),'=','G(:,',num2str(i),');']) %逐行提取出深度信息行向量
eval(['data',num2str(i),'=','(reshape(S',num2str(i),',640,480))'';']) %把行向量转换为480*640的矩阵形式
eval(['data',num2str(i),'=','(uint16(data',num2str(i),'));']) %批量强制转换
%eval(['mirror',num2str(i),'=','fliplr(data',num2str(i),');']) %由于采集到的深度信息是镜像的,对其进行镜像恢复
end for i=:num
eval(['imwrite(data',num2str(i),',''data',num2str(i),'.png'');']) %循环保存深度图像
end
6. 最后将深度图像保存为位深度是16的png格式的深度图像。
附加:
RGBD相机的彩色图像和深度图像的分辨率
|
RGBD相机型号 |
彩色图像分辨率 |
深度图像分辨率 |
|
Kinect v1 |
640x480 |
640x480 |
|
320x240 |
320x240 |
|
|
Kinect v2 |
1920x1080(hd) |
1920x1080(hd) |
|
960x540(qhd) |
960x540(qhd) |
|
|
512x424(sd) |
512x424(sd) |
|
|
Realsense-ZR300 |
1920x1080@30fps |
628x468@60fps |
|
640x480@60fps |
480x360@60fps |
|
|
320x240@60fps |
320x240@60fps |
Kinect v1 (Microsoft Kinect for Windows v1 )彩色和深度图像对的采集步骤的更多相关文章
- Kinect v2(Microsoft Kinect for Windows v2 )配置移动电源解决方案
Kinect v2配置移动电源解决方案 Kinect v2如果用于移动机器人上(也可以是其他应用场景),为方便有效地展开后续工作,为其配置移动电源是十分必要的. 一.选择移动电源 Kinect v2原 ...
- 【翻译】Kinect v1和Kinect v2的彻底比较
本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较. ...
- Kinect SDK(1):读取彩色、深度、骨骼信息并用OpenCV显示
Kinect SDK 读取彩色.深度.骨骼信息并用OpenCV显示 一.原理说明 对于原理相信大家都明白大致的情况,因此,在此只说比较特别的部分. 1.1 深度流数据: 深度数据流所提供的图像帧中,每 ...
- [Kinect]XBox One Kinect连接Windows
注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) XBox One带体感套装去年就买了,昨天京东349元入了个适配器,下午就送到了,开箱. ...
- Kinect开发-Hello Kinect
置好开发环境后,首先测试下是否真的完成,也就是能够正常进行开发.此时,当然就得祭出Hello World大法! 1.首先创建一个WPF Application工程,之后添加对Microsoft.Kin ...
- Realsense 提取彩色和深度视频流
一.简要介绍 关于realsense的介绍,网上很多,这里不再赘述,sdk及相关文档可参考realsense SDK,也可参考开发人员专区. 运行代码之前,要确保你已经安装好了realsense的DC ...
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
- Windows 10 取消桌面右键“图像属性”、“图像选项”
Windows 10 取消桌面右键"图像属性"."图像选项" 桌面右键 说明:在windows 10中,桌面右键出现"图像属性"." ...
- 关于Windows安装两个不同版本的MySQL详细步骤
关于Windows安装两个不同版本的MySQL详细步骤 安装两个不同版本的数据库原因 由于大部分教程所使用的数据库为5.7版本,而我之前安装的是8.0版本. 在一些特殊情况下,低版本数据库不能动,高版 ...
随机推荐
- C#如何调用C++(进阶篇)
上一篇文章最后,提出的一个问题:如果一个c++库中有很多方法,需要一个个声明??这样岂不是要写很多代码??,而且没有智能提示看到提供了那些方法. 如下图: 如果有朋友需要用这种方式调用,而又不知道怎么 ...
- Python多个装饰器的顺序 转载
3.使用两个装饰器当一个装饰器不够用的话,我们就可以用两个装饰器,当然理解起来也就更复杂了,当使用两个装饰器的话,首先将函数与内层装饰器结合然后在与外层装饰器相结合,要理解@语法的时候到底执行了什么, ...
- SublimeText 3 常见快捷键
·F12 跳转至预定义 ·F11 全屏模式 ·Ctrl+A 本文全选 ·Ctrl+F 打开底部搜索框,查找关键字. ·Ctrl+D 本文件选中光标选中的单词 ·Ctrl+L 选中光标所在一行 ·C ...
- 在Linux下执行Jmeter脚本
前言 Jmeter这款接口测试工具,已经在越来越多的公司被要求会使用了. 而且,现在应该部分小伙伴们都开始用起来了. 但是,你们知道除了在Windows用图形化界面的Jmeter执行脚本之外,还有其他 ...
- Hibernate入门第一讲——Hibernate框架的快速入门
Hibernate框架的概述 什么是框架? 框架指的是软件的半成品,已经完成了部分功能. JavaEE开发的三层架构 了解框架的基本概念之后,我们就来看看Hibernate框架处于JavaEE开发的经 ...
- Kafka的性能分析
都说Kafka的吞吐量很大,但是我一直不直到Kafka为何有如此大的吞吐量.最近在看Kafka权威指南,陆陆续续得到了如下结论: 1.分区:Kafka支持分区,这样就支持多个生产者和多个消费者同时请求 ...
- pymysql 1064, 'You have an error in your SQL syntax; check the manual that corresponds to
在python 连接mysql时,最近一直出现了 1064, 'You have an error in your SQL syntax; check the manual that correspo ...
- vue3.0+typeScript项目
https://segmentfault.com/a/1190000018720570#articleHeader15 https://segmentfault.com/a/1190000016423 ...
- js重写页面之后后台如何获取重写后的控件值
需求描述:专业分流系统中,学生在选择志愿时,我想实现在页面按照点击相应专业的顺序来设置选专业的志愿,如首先点击“工商”,则工商专业为第一志愿,接着点击“营销”,则营销专业为第二志愿,以此类推.从而达到 ...
- 如何比较js 浮点数
浮点数的定义,非整数的Number类型无法用 ==(===也不行) 来比较,这就是为什么在JavaScript中,0.1+0.2不能=0.3: console.log( 0.1 + 0.2 == 0. ...