教程

https://blog.csdn.net/openbug/article/details/80921437

Windows版Kinect SDK

https://docs.microsoft.com/en-us/previous-versions/windows/kinect/dn799271(v=ieb.10)?redirectedfrom=MSDN

SDK的例子图

https://www.jianshu.com/p/70c50b02c636

开发文档中,前1个小节,What’s New和Known Issues都未有内容。然后Features特点章节中给出了不少参数。新的K4W sdk(Kinect for windows sdk)有以下特点:

#使用XBox One Kinect传感器

#在水平和垂直方向上具有更宽阔的深度和彩色视野

#全高清彩色画面(Full HD Color)

#独立照明红外(Lighting Independent Infrared ,30fps)

#深度保真(Depth fidelity,3x)

#改进的麦克风(零平衡,zero balanced)

#6个人完整25个骨骼点(每个人都有25个)

#大拇指追踪,手根部追踪(end of hand tracking),手的开与闭手势

#增强的高质量操作范围(近0.5米,远4.5米)

#多个应用可以同时使用传感器

上图

1 肢体动作检测

2 手势检测 剪刀  石头 步  分别显示不同颜色

一、Kinect for Windows V2

彩色图像:1920*1080 @30、15FPS(根据环境亮度)

深度图像:512*424 @ 30FPS、16bit距离值(mm)、可侦测范围0.5~8m

红外图像:512*424 @ 30FPS、16bit强度值

声音

根据以上数据,可以再通过软件,进行人体的追踪。骨架的辨识(0.5~4.5m)。最多6个人,每个人25个关节点,其中每个关节点可以取得空间中的位置、方向等数据。
麦克风阵列可判断声音的来源,搭配Microsoft Speech SDK,可分析声音的输入,做语音控制。

二、开发软硬件要求
系统要求:

● win8 or win10
硬件要求:
● 64位(x64)处理器
● i7 2.5-GHz或更快的处理器
● 内置USB 3.0总线(驱动安装必须正确,在USB设备里面能看到Inetel USB 3.0字样)

● 4 GB RAM
● DX11图形适配器 (用GPU-z这个工具可以检测显卡是否支持DX11)
开发环境
● Visual Studio 2012、Visual Studio 2013

建议要求

Windows 8.1

4 GB of RAM

i7 CPU running at 2.5GHZ (or higher)

DirectX 11 Compatible Video Card(NVidia GeForce GTX560,AMD Radeon 6950)

官方指明显卡(更高版本的肯定可以):

◦Intel HD 4400 integrated display adapter

◦ATI Radeon HD 5400 series

◦ATI Radeon HD 6570

◦ATI Radeon HD 7800 (256-bit GDDR5 2GB/1000Mhz)

◦NVidia Quadro 600

◦NVidia GeForce GT 640

◦NVidia GeForce GTX 660

◦NVidia Quadro K1000M

三、安装测试
Kinect SDK 2.0下载链接

https://www.microsoft.com/en-us/download/details.aspx?id=44561

安装完成之后,有三个应用程序

1.SDK Browser v2.0 所有SDK支持功能的各个版本的Demo,可以直接运行查看效果,有的还提供C#或者C++编写的样例程序可以下载

工程自己配好了k的库,需要手动添加opencv

2.Kinect Studio v2.0 可以查看2D以及3D的预览信息

3.Visual Gesture Builder - PREVIEW 手势识别预览版
(暂时没发现怎么用,应该需要另外导入Demo)

四、开发环境配置

Enviroment : win10 + vs2015 + openCV3.2.0
配置教程参考链接
Kinect开发环境配置:

配置opencv3.4.1+cuda

cublas.lib

cuda.lib

cudadevrt.lib

cudart.lib

cudart_static.lib
nvcuvid.lib OpenCL.lib cudnn.lib
opencv_aruco341.lib
opencv_bgsegm341.lib
opencv_bioinspired341.lib
opencv_calib3d341.lib
opencv_ccalib341.lib
opencv_core341.lib
opencv_cudaarithm341.lib
opencv_cudabgsegm341.lib
opencv_cudacodec341.lib
opencv_cudafeatures2d341.lib
opencv_cudafilters341.lib
opencv_cudaimgproc341.lib
opencv_cudalegacy341.lib
opencv_cudaobjdetect341.lib
opencv_cudaoptflow341.lib
opencv_cudastereo341.lib
opencv_cudawarping341.lib
opencv_cudev341.lib
opencv_datasets341.lib
opencv_dnn341.lib
opencv_dnn_objdetect341.lib
opencv_dpm341.lib
opencv_face341.lib
opencv_features2d341.lib
opencv_flann341.lib
opencv_fuzzy341.lib
opencv_hfs341.lib
opencv_highgui341.lib
opencv_imgcodecs341.lib
opencv_imgproc341.lib
opencv_img_hash341.lib
opencv_line_descriptor341.lib
opencv_ml341.lib
opencv_objdetect341.lib
opencv_optflow341.lib
opencv_phase_unwrapping341.lib
opencv_photo341.lib
opencv_plot341.lib
opencv_reg341.lib
opencv_rgbd341.lib
opencv_saliency341.lib
opencv_shape341.lib
opencv_stereo341.lib
opencv_stitching341.lib
opencv_structured_light341.lib
opencv_superres341.lib
opencv_surface_matching341.lib
opencv_text341.lib
opencv_tracking341.lib
opencv_video341.lib
opencv_videoio341.lib
opencv_videostab341.lib
opencv_xfeatures2d341.lib
opencv_ximgproc341.lib
opencv_xobjdetect341.lib
opencv_xphoto341.lib

  配置K的SDK

在【C/C++】的【常规】里,【附加包含目录】中加入【$(KINECTSDK20_DIR)\inc】 

在【链接器】的【常规】里,【附加库目录】中加入【$(KINECTSDK20_DIR)\Lib\x86】 或者 $(KINECTSDK20_DIR)\lib\x64

在【链接器】的【输入】里,【附加依赖项】中加入【kinect20.lib】

kinect20.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib

  

结果

除此之外,下载更多示例运行

再来测试一个脸部检测器

----------------------------------------------------------------------------------------------------

更多例子

https://www.jianshu.com/p/70c50b02c636

手势识控件

https://download.csdn.net/download/manoerina0411/9985636

Kinect for Windows V2开发教程的更多相关文章

  1. Kinect For Windows V2开发日志一:开发环境的配置

    算是正式进军Kinect了,前段时间学的东西现在就忘了,于是从此开始记录一下. 目前为止大部分的学习资料来自于Heresy的博客,写的非常优秀,清晰明了,十分感谢.开发语言为C++,应该会一直使用,但 ...

  2. Kinect For Windows V2开发日志八:侦测、追踪人体骨架

    简介 Kinect一个很强大的功能就是它可以侦测到人体的骨骼信息并追踪,在Kinect V2的SDK 2.0中,它最多可以同时获取到6个人.每个人25个关节点的信息,并且通过深度摄像头,可以同时获取到 ...

  3. Kinect For Windows V2开发日志六:人体的轮廓的表示

    Kinect中带了一种数据源,叫做BodyIndex,简单来说就是它利用深度摄像头识别出最多6个人体,并且用数据将属于人体的部分标记,将人体和背景区别开来.利用这一特性,就可以在环境中显示出人体的轮廓 ...

  4. Kinect For Windows V2开发日志五:使用OpenCV显示彩色图像及红外图像

    彩色图像 #include <iostream> #include <Kinect.h> #include <opencv2\highgui.hpp> using ...

  5. Kinect For Windows V2开发日志九:侦测并绘制人体骨架

    简介 在上一篇<侦测.追踪人体骨架>里,介绍了关节点的使用办法,这一篇记录将关节点与OpenCV结合的绘图方法. 代码 #include <iostream> #include ...

  6. Kinect For Windows V2开发日志七:照片合成与背景消除

    上一篇里讲到了Kinect可以从环境中区分出人体来.因此可以利用这个功能,来把摄像头前的人合成进照片里,和利用Photoshop不同的是,这样合成进去的人是动态且实时的. 简单的思路 BodyInde ...

  7. Kinect For Windows V2开发日志四:使用OpenCV显示深度图像

    代码示例: #include <Kinect.h> #include <iostream> #include <opencv2\highgui.hpp> using ...

  8. Kinect For Windows V2开发日志三:简单的深度读取

    代码示例: #include <Kinect.h> #include <iostream> using namespace std; int main(void) { IKin ...

  9. Kinect For Windows V2开发日志二:Kinect V2的基本参数

    以下内容节选自Heresy的博客:   彩色影像:1920 x 1080 @ 30 / 15 FPS(根据环境亮度) 深度影像:512 x 424 @ 30 FPS.16bit 距离值(mm).可侦测 ...

随机推荐

  1. Kubernetes 学习(九)Kubernetes 源码阅读之正式篇------核心组件之 Scheduler

    0. 前言 继续上一篇博客阅读 Kubernetes 源码,参照<k8s 源码阅读>首先学习 Kubernetes 的一些核心组件,首先是 kube-scheduler 本文严重参考原文: ...

  2. rdd 基本操作

    package com.jason.example import org.apache.spark.rdd.RDD class RddTest extends SparkInstance { val ...

  3. linux 三剑客(awk,sed,grep)

    1.awk 在某些场景下,我们需要过滤方式希望是列来匹配,而不是sed的行来匹配,而且awk还可以嵌套for等循环去使用,拓展性强,当然awk也是最难的. awk的常用命令选项: -F fs   fs ...

  4. [转]ASP.NET Core Web API 最佳实践指南

    原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 转自 介绍# 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但 ...

  5. 排序算法Java代码实现(六)—— 堆排序

    本片内容: 堆排序 堆排序 最大堆: 二叉堆是完全二叉树或者是近似完全二叉树, 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆.(父节点大于任何一个子节点) 算法思想: 把n个元素建立最大 ...

  6. sqlserver之datepart和datediff应用查找当天上午和下午的数据

    DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. DATEDIFF() 函数返回两个日期之间的时间差. --查找当天上午的数据 ) --查找当天下午的数据 ) ...

  7. 一次性删除master数据库中的所有用户添加的表

    执行查询命令 use master; go sp_msforeachtable @command1="drop table ?" go

  8. linux系统下使用nginx反向代理asp.net core,并配置免费的https证书

    反向代理是为动态 Web 应用提供服务的常见设置. 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用. 1.在asp.net core项目中的Startup的Configur ...

  9. web dom api中的Selection和Range

    如果你做过wysiwyg这样的app,一个很让人头疼的问题是如何保证执行bold,italic等格式化操作后保持先前鼠标所在的位置.要好好的解决这个问题,就必须将Selection和Range的api ...

  10. javascript(五)表达式

    表达式 (expression) JavaScript中的一个短语, JavaScript解释器会将其计算(evaluate) 出一 个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达 ...