Kinect for Windows V2开发教程
教程
https://blog.csdn.net/openbug/article/details/80921437
Windows版Kinect SDK
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开发教程的更多相关文章
- Kinect For Windows V2开发日志一:开发环境的配置
算是正式进军Kinect了,前段时间学的东西现在就忘了,于是从此开始记录一下. 目前为止大部分的学习资料来自于Heresy的博客,写的非常优秀,清晰明了,十分感谢.开发语言为C++,应该会一直使用,但 ...
- Kinect For Windows V2开发日志八:侦测、追踪人体骨架
简介 Kinect一个很强大的功能就是它可以侦测到人体的骨骼信息并追踪,在Kinect V2的SDK 2.0中,它最多可以同时获取到6个人.每个人25个关节点的信息,并且通过深度摄像头,可以同时获取到 ...
- Kinect For Windows V2开发日志六:人体的轮廓的表示
Kinect中带了一种数据源,叫做BodyIndex,简单来说就是它利用深度摄像头识别出最多6个人体,并且用数据将属于人体的部分标记,将人体和背景区别开来.利用这一特性,就可以在环境中显示出人体的轮廓 ...
- Kinect For Windows V2开发日志五:使用OpenCV显示彩色图像及红外图像
彩色图像 #include <iostream> #include <Kinect.h> #include <opencv2\highgui.hpp> using ...
- Kinect For Windows V2开发日志九:侦测并绘制人体骨架
简介 在上一篇<侦测.追踪人体骨架>里,介绍了关节点的使用办法,这一篇记录将关节点与OpenCV结合的绘图方法. 代码 #include <iostream> #include ...
- Kinect For Windows V2开发日志七:照片合成与背景消除
上一篇里讲到了Kinect可以从环境中区分出人体来.因此可以利用这个功能,来把摄像头前的人合成进照片里,和利用Photoshop不同的是,这样合成进去的人是动态且实时的. 简单的思路 BodyInde ...
- Kinect For Windows V2开发日志四:使用OpenCV显示深度图像
代码示例: #include <Kinect.h> #include <iostream> #include <opencv2\highgui.hpp> using ...
- Kinect For Windows V2开发日志三:简单的深度读取
代码示例: #include <Kinect.h> #include <iostream> using namespace std; int main(void) { IKin ...
- Kinect For Windows V2开发日志二:Kinect V2的基本参数
以下内容节选自Heresy的博客: 彩色影像:1920 x 1080 @ 30 / 15 FPS(根据环境亮度) 深度影像:512 x 424 @ 30 FPS.16bit 距离值(mm).可侦测 ...
随机推荐
- Kubernetes 学习(九)Kubernetes 源码阅读之正式篇------核心组件之 Scheduler
0. 前言 继续上一篇博客阅读 Kubernetes 源码,参照<k8s 源码阅读>首先学习 Kubernetes 的一些核心组件,首先是 kube-scheduler 本文严重参考原文: ...
- rdd 基本操作
package com.jason.example import org.apache.spark.rdd.RDD class RddTest extends SparkInstance { val ...
- linux 三剑客(awk,sed,grep)
1.awk 在某些场景下,我们需要过滤方式希望是列来匹配,而不是sed的行来匹配,而且awk还可以嵌套for等循环去使用,拓展性强,当然awk也是最难的. awk的常用命令选项: -F fs fs ...
- [转]ASP.NET Core Web API 最佳实践指南
原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 转自 介绍# 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但 ...
- 排序算法Java代码实现(六)—— 堆排序
本片内容: 堆排序 堆排序 最大堆: 二叉堆是完全二叉树或者是近似完全二叉树, 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆.(父节点大于任何一个子节点) 算法思想: 把n个元素建立最大 ...
- sqlserver之datepart和datediff应用查找当天上午和下午的数据
DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等. DATEDIFF() 函数返回两个日期之间的时间差. --查找当天上午的数据 ) --查找当天下午的数据 ) ...
- 一次性删除master数据库中的所有用户添加的表
执行查询命令 use master; go sp_msforeachtable @command1="drop table ?" go
- linux系统下使用nginx反向代理asp.net core,并配置免费的https证书
反向代理是为动态 Web 应用提供服务的常见设置. 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用. 1.在asp.net core项目中的Startup的Configur ...
- web dom api中的Selection和Range
如果你做过wysiwyg这样的app,一个很让人头疼的问题是如何保证执行bold,italic等格式化操作后保持先前鼠标所在的位置.要好好的解决这个问题,就必须将Selection和Range的api ...
- javascript(五)表达式
表达式 (expression) JavaScript中的一个短语, JavaScript解释器会将其计算(evaluate) 出一 个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达 ...