【翻译】Kinect v2程序设计(C++) Color篇
Kinect SDK v2预览版,获取数据的基本流程的说明。以及取得Color图像的示例程序的介绍。

// Sensor
IKinectSensor* pSensor; ……
HRESULT hResult = S_OK;
hResult = GetDefaultKinectSensor( &pSensor ); ……
if( FAILED( hResult ) ){
std::cerr << "Error : GetDefaultKinectSensor" << std::endl;
return -;
}
hResult = pSensor->Open(); ……
if( FAILED( hResult ) ){
std::cerr << "Error : IKinectSensor::Open()" << std::endl;
return -;
}列表1.1 相当于图1「Sensor」的部分1 处理Kinect v2预览版的Sensor接口。2 取得默认的Sensor。3 打开Sensor。
从「Sensor」取得「Source」。
// Source
IColorFrameSource* pColorSource; ……
hResult = pSensor->get_ColorFrameSource( &pColorSource ); ……
if( FAILED( hResult ) ){
std::cerr << "Error : IKinectSensor::get_ColorFrameSource()" << std::endl;
return -;
}列表1.2 相当于图1「Source」的部分1 获取Color Frame的Source接口。2 从Sensor取得Source。
// Reader
IColorFrameReader* pColorReader; ……
hResult = pColorSource->OpenReader( &pColorReader ); ……
if( FAILED( hResult ) ){
std::cerr << "Error : IColorFrameSource::OpenReader()" << std::endl;
return -;
}列表1.3 相当于图1「Reader」的部分1 获取Color Frame的Reader接口。2 从Source打开Reader。
int width = ; ……
int height = ; ……
unsigned int bufferSize = width * height * * sizeof( unsigned char ); ……
cv::Mat bufferMat( height, width, CV_8UC4 ); ……
cv::Mat colorMat( height / , width / , CV_8UC4 ); ……
cv::namedWindow( "Color" );
while( ){
// Frame
IColorFrame* pColorFrame=nullptr; ……
hResult=pColorReader->AcquireLatestFrame( &pColorFrame ); ……
if( SUCCEEDED( hResult ) ){
hResult = pColorFrame->CopyConvertedFrameDataToArray( bufferSize, reinterpret_cast<BYTE*>( bufferMat.data ), ColorImageFormat_Bgra ); ……
if( SUCCEEDED( hResult ) ){
cv::resize( bufferMat, colorMat, cv::Size(), 0.5, 0.5 ); ……
}
}
SafeRelease( pColorFrame );
// Show Window
cv::imshow( "Color", colorMat );
if( cv::waitKey( ) == VK_ESCAPE ){
break;
}
}列表1.4 相当于图1「Frame」,「Data」的部分1 Color图像的尺寸(1920×1080)。这里为了简化说明,画像尺寸用硬编码来设定,示例程序可以从Source取得着Frame信息。2 Color图像的数据尺寸。3 为了处理Color图像,准备OpenCV的cv::Mat。「bufferMat」是原始的图像数据,「colorMat」是Resize图像数据的处理。「CV_8UC4」,是无符号8bit整数(8U),4个channel(C4)并列来表现1个像素的数据格式。4 取得Color图像的Frame接口。5 从Reader取得最新的Frame。6 从Frame取得Color图像。默认的格式是YUY2(亮度与色差表现的格式),不过可以经过简单处理变换为BGRA。7 缩小为长宽各一半的尺寸(960×540)。


【翻译】Kinect v2程序设计(C++) Color篇的更多相关文章
- 【翻译】Kinect v2程序设计(C++) Body 篇
Kinect SDK v2预览版的主要功能的使用介绍,基本上完成了.这次,是关于取得Body(人体姿势)方法的说明. 上一节,是使用Kinect SDK v2预览版从Kinect v2预览版取得B ...
- 【翻译】Kinect v2程序设计(C++-) AudioBeam篇
Kinect v2,Microphone Array可以用来对于水平面音源方向的推测(AudioBeam)和语音识别(Speech Recognition).这一节是介绍如何取得AudioBeam. ...
- 【翻译】Kinect v2程序设计(C++) BodyIndex篇
通过Kinect SDK v2预览版,取得BodyIndex(人体区域)的方法和示例代码. 上一节,介绍了从Kinect v2预览版用Kinect SDK v2预览版获取Depth数据的方法. 这 ...
- 【翻译】Kinect v2程序设计(C++) Depth编
Kinect SDK v2预览版,取得Depth数据的方法说明. 上一节,介绍了通过使用Kinect for Windows SDK v2预览版(以下简称为,Kinect SDK v2预览版)从Kin ...
- 【翻译】Kinect v1和Kinect v2的彻底比较
本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较. ...
- 【计算机视觉】深度相机(五)--Kinect v2.0
原文:http://blog.csdn.NET/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...
- Ubuntu_ROS中应用kinect v2笔记
Ubuntu_ROS中应用kinect v2笔记 个人觉得最重要的资料如下: 1. Microsoft Kinect v2 Driver Released http://www.ros.org/new ...
- 【计算机视觉】深度相机(六)--Kinect v2.0 手势样本库制作
目录为1.如何使用Kinect Studio录制手势剪辑:2.如何使用Visual Gesture Builder创建手势项目:3.如何在我的C#程序中使用手势:4.关于录制.剪辑手势过程中的注意事项 ...
- Kinect v2.0 for windows开发环境说明
官方文档里是这些: Supported Operating Systems and Architectures The following operating systems and architec ...
随机推荐
- 了解 hadoop
<Hadoop基础教程>之初识Hadoop 博客分类: 读后感 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我 ...
- struts2 标签问题----日期显示
对于要显示按照自己的意愿进行显示的话: <s:date name="date" format="yyyy-MM-dd HH:mm:ss.SSS" /> ...
- 移动App该如何保存用户密码(转)
原文地址:http://blog.csdn.net/hengyunabc/article/details/34623957 移动App该如何保存用户密码? 这个实际上和桌面程序是一样的. 先看下一些软 ...
- svn Error: post-commit hook failed (exit code 127) with output
Command: Commit Modified: C:\Users\xsdff\Desktop\project\index.html Sending content: C:\Users\xsdff\ ...
- android 兼容性测试 CTS 测试过程(实践测试验证通过)
source: http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明 ...
- AppInventor学习笔记(二)——Hello Purr
一.设计组件 1.定义: 就是WPF中的控件一个意思,直接调用不需要知道怎么写的,只需要写响应函数即可. 2.Designer: (1)界面如下: (2)分区: ①预览窗口: 用于放置应用中所需的组件 ...
- Winedt打开tex文件报错error reading的解决方案
我刚装就发现winedt打开一些.tex文件时会出现reading error,然后看不到任何文字(网上有人讨论打开是乱码的问题,但是我的是完全看不到任何东西),我的系统winxp,网上有人说好像是和 ...
- SU Demos-02Filtering-05Suk1k2filter
本人数学不咋地,本demo也是一知半解,敬请谅解. 这是生成的脉冲数据
- Open Xml SDK Word模板开发最佳实践(Best Practice)
1.概述 由于前面的引文已经对Open Xml SDK做了一个简要的介绍. 这次来点实际的——Word模板操作. 从本质上来讲,本文的操作都是基于模板替换思想的,即,我们通过替换Word模板中指定元素 ...
- okhttp3 get post 简单封装
最近打算在新项目中使用 okhttp3, 简单封装了一下异步 get post 因为 CallBack 也是在子线程中执行,所以用到了 Handler public class MyOkHttpCli ...