Kinect For Windows V2开发日志一:开发环境的配置
算是正式进军Kinect了,前段时间学的东西现在就忘了,于是从此开始记录一下。
目前为止大部分的学习资料来自于Heresy的博客,写的非常优秀,清晰明了,十分感谢。开发语言为C++,应该会一直使用,但是也有可能更换为C#。
文档位于MSDN,所有的用法都可以在这里找到。
首先应该到微软官网下载SDK,安装完后就开始配置。
VS 2015的配置:
在写项目之前首先要配置好VS的环境,我用的是VS 2015社区版,SDK版本为2.0,配置方式如下:
- 首先,新建个项目,然后在【解决方案资源管理器】中右键项目名,选择【属性】
- 在【C/C++】的【常规】里,【附加包含目录】中加入【$(KINECTSDK20_DIR)\inc】
- 在【链接器】的【常规】里,【附加库目录】中加入【$(KINECTSDK20_DIR)\Lib\x86】
- 在【链接器】的【输入】里,【附加依赖项】中加入【kinect20.lib】
上面做完之后应该就可以编译运行了,但是我发现写代码时不会对【Kinect.h】中出现的函数这些进行自动补全,而且语法检查时提示【Kinect.h】找不到,如果你也出现此问题,那就在【解决方案资源管理器】中的【头文件】这里右键添加【Kinect.h】,它位于【C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\inc】中。
OpenCV的配置:
我后期用到了OpenCV ,所以将OpenCV的配置方法也记录一下。OpenCV的配置方法网上有很多种,但是每个项目都要添加一遍那么多的东西,所以我采用了将其写成属性表直接导入的方法,方法如下:
- 下载OpenCV并解压(我用的是3.0版本)
- 右键单击【此电脑】,选择【属性】->【高级】->【环境变量】
- 在系统变量里面新建变量,名为 【OPENCV】 ,值为opencv文件夹里build的路径,如 D:\opencv\build
- 在系统变量里面编辑【 Path】 变量,在末尾添加 【;%OPENCV%\x86\vc12\bin】
- 在网上搜索opencv300.props并下载
- 在VS中,选择【视图】->【其它窗口】->【属性管理器】,然后在【属性管理器】中右键单击项目名,选择【添加现有属性表】,然后将opencv300.props添加进去
有个问题是网上搜索到的opencv300.props可能会报错,并且要注意opencv300.props只适用于opencv3.0的版本。报错的话一般是编译时提示找不到xxx,解决方法是打开opencv300.props,找到提示的那一项并删除就可以,注意可能要删除很多个。如果不会的话也可以给我留言或者发邮件我给你发一份。
好了,目前为止环境算是配置好了,另外再附上一份检测openCV是否配置正确的测试代码:
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("img.jpg"); //先要在项目的文件夹里放入一张名为img.jpg的图片来测试
if (img.empty())
{
cout << "error" << endl;
return ;
}
imshow("TEST", img);
waitKey(); return ;
}
Kinect For Windows V2开发日志一:开发环境的配置的更多相关文章
- Kinect for Windows V2和V1对照开发___深度数据获取并用OpenCV2.4.10显示
V1深度分辨率:320x240 V2深度分辨率:512x424 1. 打开深度图像帧的方式 对于V1: hr = m_PNuiSensor->NuiImageStreamOpen( NUI_I ...
- Kinect for Windows V2和V1对照开发___彩色数据获取并用OpenCV2.4.10显示
V1彩色分辨率:640x480 V2彩色分辨率:1920x1080 1,打开彩色图像帧的方式 对于V1: 使用NuiImageStreamOpen方法打开 hr = m_PNuiSensor-> ...
- Kinect for Windows V2开发教程
教程 https://blog.csdn.net/openbug/article/details/80921437 Windows版Kinect SDK https://docs.microsoft. ...
- Kinect for Windows V2.0 新功能
系统要求: win8 or win8.1 硬件要求: 64位(x64)处理器 i7 2.5-GHz或更快的处理器 内置USB 3.0总线 4 GB RAM DX11图形适配器 外观: 第二代Kin ...
- 史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开发环境,就我个人而言,比较推崇 Zend Studio 和 PhpS ...
- [转]史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
本文转自:https://www.cnblogs.com/lishiyun19/p/4470086.html 在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体 ...
- windows系统Android-sdk的下载与环境变量配置
最近一段时间在做app的开发,作为前端而言,开发app并不像android工程师那样熟悉android开发:无论是使用cordova.js或者react-native开发都需要配置android开发环 ...
- Kinect For Windows V2开发日志八:侦测、追踪人体骨架
简介 Kinect一个很强大的功能就是它可以侦测到人体的骨骼信息并追踪,在Kinect V2的SDK 2.0中,它最多可以同时获取到6个人.每个人25个关节点的信息,并且通过深度摄像头,可以同时获取到 ...
- Kinect For Windows V2开发日志六:人体的轮廓的表示
Kinect中带了一种数据源,叫做BodyIndex,简单来说就是它利用深度摄像头识别出最多6个人体,并且用数据将属于人体的部分标记,将人体和背景区别开来.利用这一特性,就可以在环境中显示出人体的轮廓 ...
随机推荐
- 关于 mobile sui a外链 老是出现加载失败的解决办法
mobile sui 框架里面的a本身都绑了了一个ajax方法,ajax只能处理同域,跨域就会出现问题 ,所以mobile sui 中的a如果是外链的话就会出现加载失败的提示,这种明显的bug,让用户 ...
- JQuery 的bind和unbind函数
测试:页面代码:<body> <input type="button" name="aaa" value="点击我" ...
- EASYUI DATAGRID 多列复选框CheckBox
主要实现: 用的 easyui 1.3.2 实现多个复选框列,各列互不影响.能够实现全选.主要部门用红色标记了的. easyui datagrid 初始化: <script> functi ...
- $( document ).ready()&$(window).load()
$( document ).ready() https://learn.jquery.com/using-jquery-core/document-ready/ A page can't be man ...
- HttpRuntime.Cache 失效
最近做一个报纸内容类网站,为了提高响应速度,将首页各栏目以及二级栏目中Part文献列表存储在HttpRuntime.Cache缓存中,发布后发现问题,刚插入的缓存很快就失效,本机调试没有问题. 由于H ...
- How to Use a Function or a Procedure as a Parameter in another Function
http://delphi.about.com/od/adptips2006/qt/functionasparam.htm In Delphi, procedural types (method po ...
- CSS布局经验谈
1.盒子模型 CSS最具特色也是最本质的可以浓缩成盒子模型. 整个页面可以通过大盒子套小盒子,盒子挨着盒子放,摆成一个页面即可. 盒子即所谓的块元素,只有块元素才有宽和高,有了宽和高才能使盒子挨着盒子 ...
- 【M33】将非尾端类设计为抽象类
1.考虑下面的需求,软件处理动物,Cat与Dog需要特殊处理,因此,设计Cat和Dog继承Animal.Animal有copy赋值(不是虚方法),Cat和Dog也有copy赋值.考虑下面的情况: Ca ...
- git有merge时如何删除分支
不小心增加了一个分支,并且有了merge,如何删除掉? 具有merge时不能切换分支 可以利用git stash命令 git rm controllers/InterfaceController.ph ...
- java建立二叉树,递归/非递归先序遍历,递归/非递归中序遍历,层次遍历
import java.util.LinkedList; import java.util.Scanner; import java.util.Stack; //structure of binary ...