美文网首页
Kinect结合Unity基础使用(一)

Kinect结合Unity基础使用(一)

作者: 冷暖自知_Super | 来源:发表于2020-04-07 10:54 被阅读0次

    一、Kinect介绍

    1、Kinect for Windows 的开发配置

    • Kinect V2

    • 操作系统:Windows 8(必须) Windows Surface Windows Surface 2

    • 开发环境:Visual Studio 2017 .NET Framework 4.5 (.NET Framework 4.5)

    • 硬件要求:

      Dual-core, 2.66-GHz or faster processor

      USB 3.0 bus dedicated to the Kinect(usb 3.0 是必须的)

      2 GB of RAM

      Graphics card that supports DirectX 11(必须的)

      A Microsoft Windows Xbox One Kinect Sensor

    2、配置建议

    • kinect for xbox + 适配器

    • Kinect for window 2.0(套装)

    3、安装Kinect for Windows SDK v2.0

    SDK 安装

    4、什么是Kinect?

    kinect 是输入。类似鼠标 即时动态捕捉、影像辨识、麦克风输入、语音辨识

    二、Kinect开发介绍

    1、Kinect传感器介绍

    Kinect 是一组传感器的组合,包含一个彩色摄像头,一对深度摄像头(一个用以发射红

    外,一个用以接收) ,一组麦克风阵列和底座马达。

    彩色摄像头想必大家都已经很熟悉了。深度摄像头是由红外线提供的,返回画面上每个

    点的深度值(离 Kinect 的距离,单位是 mm,标称精度约 5mm) 。麦克风阵列其实是数个水平放置的麦克风,因为彼此间有距离,所以可以识别说话人的方向,借此粗略估计是哪个玩家在说话,便于想象的话可以理解为类似声纳图(声音我们不涉及)。

    2、Kinect使用过程

    1.代码程序首先要发现连接的Kinect
    2.被发现连接的Kinect设备要初始化完成
    3.程序必须设置需要使用的数据流,并将其状态设为可用。也就是想要获得哪些数据(数据包括彩色流,深度数据流,骨骼数据流,红外数据流)
    4.根据上一步的设置,获取相对于的数据流
    5.停止Kinect,释放Pc资源

    3、彩色数据流

    读取彩色数据流,可以获得一张1080p的图片(1920*1080);

    犹如拍照应用

    看SDK自带示例

    Color Depth D2D 彩色数据流

    4、深度数据流

    和许多输入设备不一样,Kinect 能够产生三维数据,它有红外发射器和摄像头。 Kinect SDK 从红外摄像头获取的红外数据后,对其进行计算处理,然后产生景深影像数据。

    深度帧数据中,每个像素占 16 位,即每一个像素占 2 个字节。每一个像素的深度值只占用了 16 个位中的 13 个位。

    获取每一个像素的距离很容易,但是要直接使用还需要做一些位操作。如上图所示,深度值存储在第 3 至 15 位中,要获取能够直接使用的深度数据需要向右移位,将游戏者索引(Player Index)位移除

    看SDK自带示例

    Depth Basics-D2D 深度数据流

    5、骨骼数据流

    0.5-4.5米

    25个关节点 每个关节点的 3D空间坐标和转向

    看SDK自带示例

    Body Basics D2D 骨骼数据流

    示例:

    Color Depth D2D 彩色数据流

    Depth Basics-D2D 深度数据流

    Coordinate Mapping Basics 扣出人物,置换背景

    Body Basics D2D 骨骼数据流

    相关文章

      网友评论

          本文标题:Kinect结合Unity基础使用(一)

          本文链接:https://www.haomeiwen.com/subject/csyzphtx.html