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版本. 在一些特殊情况下,低版本数据库不能动,高版 ...
随机推荐
- IdentityServer4同时使用多个GrantType进行授权和IdentityModel.Client部分源码解析
首先,介绍一下问题. 由于项目中用户分了三个角色:管理员.代理.会员.其中,代理又分为一级代理.二级代理等,会员也可以相互之间进行推荐. 将用户表分为了两个,管理员和代理都属于后台,在同一张表,会员单 ...
- 关于H5的一些相关基础知识
HTML只是简写全写是(Hyper Text Markup Language)表示的是:超文本标记语言; HTML5表示的是html的第5次重大修改的第5个版本,(而html5是W3C和WHATWG ...
- 使用 ElasticSearch Aggregations 进行统计分析(转)
https://blog.csdn.net/cs729298/article/details/68926969 ElasticSearch 的特点随处可见:基于 Lucene 的分布式搜索引擎,友好的 ...
- python多线程与多进程异步事件框架
多线程简单实现 #!/usr/bin/env python # -*- coding: UTF-8 -*- import logging import queue import threading f ...
- TDDL生成全局ID原理
TDDL 在分布式下的SEQUENCE原理 TDDL大家应该很熟悉了,淘宝分布式数据层.很好的为我们实现了分库分表.Master/Salve.动态数据源配置等功能. 那么分布式之后,数据库自增序列肯定 ...
- ORACLE 存储过程提高
1.SQLCODE和SQLERRM 2.%TYPE和%ROWTYPE的使用 3.sql%rowcount的作用 1.SQLCODE和SQLERRM SQLCode:数据库操作的返回码,其中 --成功: ...
- tcp关闭连接:挥手讨论
讨论焦点: 如果client发送FIN后,服务器端未返回完成的数据(缓存区中)还执行返回吗? 参考文档:https://download.csdn.net/download/u013547552/10 ...
- 作为一个java高级工程师的进阶之路
本文可能可能更偏向于是内心的独白篇和面试技巧总结 一.独白 之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试别人我喜欢问项目中他用到了那些,然后针对 ...
- 【python】python 自动发邮件
一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...
- Free lunch is over
译文:http://www.mamicode.com/info-detail-1324737.html 原文:http://www.gotw.ca/publications/concurrency-d ...