Kinect v2.0原理介绍之二:6种数据源

19 篇文章 106 订阅 ¥39.90 ¥99.00
本文介绍了Kinect v2.0的6种数据源,包括ColorFrameSource、InfraredFrameSource、DepthFrameSource、BodyIndexFrameSource、BodyFrameSource和AudioSource。详细阐述了从打开传感器到获取数据的步骤,如C++中读取彩色图像的示例,涉及Sensor、Source、Reader、Frame和Data的交互过程。
摘要由CSDN通过智能技术生成

~~有兴趣的小伙伴,加kinect算法交流群:462964980。

Kinect Data Sources – 6种数据源

(1)ColorFrameSource
这里写图片描述这里写图片描述

(2)InfraredFrameSource

这里写图片描述这里写图片描述

(3)DepthFrameSource
这里写图片描述这里写图片描述

(4)BodyIndexFrameSource
这里写图片描述 这里写图片描述

(5)BodyFrameSource
这里写图片描述这里写图片描述

(6)AudioSource

获取这六种数据源的目的是为了得到最终需要的数据,Kinect v2中获取并处理数据源接口步骤如下:

Sensor -> Source -> Reader -> Frame -> Data

以C++读取彩色图像为例:

第一步:打开Kinect传感器:

hr = GetDefaultKinectSensor(&m_pKinectSensor);

hr = m_pKinectSensor->Open();

第二步:显示数据源的源数据并为阅读器(readers)提供途径、为传感器每个数据提供一种数据源。

hr = m_pKinectSensor->get_ColorFrameSource(&pColorFrameSource);

第三步:提供获取帧的途径(事件机制、轮询机制)。

hr = pColorFrameSource->OpenReader(&m_pColorFrameReader);

第四步:发送帧事件参数。

获取最近一帧的数据。

hr = m_pColorFrameReader->AcquireLatestFrame(&pColorFrame);得到这每一帧的数据,就可以不用kinect提供的sdk,做点对图像想做的事情。

获取最近一帧ID为iFace的人脸数据。

hr = m_pFaceFrameReaders[iFace]->AcquireLatestFrame(&pFaceFrame);

第五步:提供获取数据的途径、包含了帧中的元数据(彩色帧、帧格式、宽度、高度等)、更重要的是,它可以减少获取帧的时间(不会提供不需要的处理帧)

例如:

1、获取ID为iFace的脸部帧:

hr = pFaceFrame->get_FaceFrameResult(&pFaceFrameResult);

然后通过pFaceFrameResult能够获取更多的脸部信息。

2、获取每帧的描述,进而得到,帧的高度、宽度等信息。

hr = pColorFrame->get_FrameDescription(&pFrameDescription);

hr = pFrameDescription->get_Width(&nWidth);

hr = pFrameDescription->get_Height(&nHeight);

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MachineLP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值