1、下载kinect SDK (

Kinect for Windows SDK 2.0

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

下载以后直接安装,注意,必须是win8或者win10系统,由于是微软的产品,所以SDK安装过程非常简单,点击下一步就行,安装完成以后在:C:\Program Files\Microsoft SDKs   目录下

2、安装Visual Studio2015

3、安装Opencv3

4、新建项目KinectTest,在源文件创建test.cpp文件,然后配置

设置为  Debug模式  x64

4.1 配置包含目录

打开包含目录配置窗口,分别配置Kinect和opencv

C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\inc   (默认)
E:\Opencv\opencv3_2_1\opencv\mybuild\install\include   (自己opencv的目录)
E:\Opencv\opencv3_2_1\opencv\mybuild\install\include\opencv  (自己opencv的目录)
E:\Opencv\opencv3_2_1\opencv\mybuild\install\include\opencv2  (自己opencv的目录)

4.2  配置库目录

C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\Lib\x64   (默认)
E:\Opencv\opencv3_2_1\opencv\mybuild\install\x64\vc14\lib  (自己opencv的目录)

4.3 配置连接器

属性页 ->  链接器 -> 输入->附加依赖项

输入:

opencv_world300.lib
Kinect20.lib

参考代码:https://blog.csdn.net/ktigerhero3/article/details/49934745

===============================================代码

#include <stdio.h>
#include <iostream>
#include <Kinect.h>
#include <windows.h>
#include <opencv/highgui.h>
#include <cv.h>

using namespace cv;
using namespace std;

int main()
{
  IKinectSensor* m_pKinectSensor;
  IColorFrameSource* pColorFrameSource;
  IColorFrameReader* m_pColorFrameReader;
  IFrameDescription* pFrameDescription = NULL;
  ColorImageFormat imageFormat = ColorImageFormat_None;
  int nWidth, nHeight;
  uchar *pBuffer = NULL;

  UINT nBufferSize = 0;

  HRESULT hr = GetDefaultKinectSensor(&m_pKinectSensor);//获取默认传感器
  assert(hr >= 0);
  hr = m_pKinectSensor->Open();//打开传感器
  assert(hr >= 0);
  hr = m_pKinectSensor->get_ColorFrameSource(&pColorFrameSource);//打开颜色信息源
  assert(hr >= 0);
  pColorFrameSource->OpenReader(&m_pColorFrameReader);//打开颜色帧读取器
  assert(hr >= 0);
  while (1){
    //获取最近的彩色帧
    IColorFrame* pColorFrame = NULL;
    while ((hr < 0) || (NULL == pColorFrame))//循环直到获取到最近的一帧
    {
      hr = m_pColorFrameReader->AcquireLatestFrame(&pColorFrame);
    }
    //获取彩色图片信息包括宽,高,格式
    assert(hr >= 0);
    pColorFrame->get_FrameDescription(&pFrameDescription);//获取图片描述信息
    pFrameDescription->get_Width(&nWidth);
    pFrameDescription->get_Height(&nHeight);
    cout << "width=" << nWidth << endl;//我的kinect摄像头宽为1920
    cout << "Height=" << nHeight << endl;//我的kinect摄像头高为1080
    pColorFrame->get_RawColorImageFormat(&imageFormat);//输出结果为 ColorImageFormat_Yuy2  = 5,为Yuy2格式
    /*YUY2格式,以4:2:2方式打包 YUV 4:2:2
    每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4 : 4的一半。对非压缩的8比特量化的图像来说,
    每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。
    下面的四个像素为:[Y0 U0 V0][Y1 U1 V1][Y2 U2 V2][Y3 U3 V3]
    存放的码流为:Y0 U0 Y1 V1 Y2 U2 Y3 V3
    映射出像素点为:[Y0 U0 V1][Y1 U0 V1][Y2 U2 V3][Y3 U2 V3]*/
    cout << "imageformat is " << imageFormat << endl;

    Mat colorImg(nHeight, nWidth, CV_8UC4);//新建一个mat对象,用于保存读入的图像,注意参数的高在前,宽在后
    pBuffer = colorImg.data;
    nBufferSize = colorImg.rows*colorImg.step;

    /*调用CopyConvertedFrameDataToArray,此函数的作用是从pColorFrame对象中拷贝nBufferSize个字节到pBuffer所指的Mat矩阵中,按
    ColorImageFormat_Bgra格式保存*/
    hr = pColorFrame->CopyConvertedFrameDataToArray(nBufferSize, reinterpret_cast<BYTE*>(pBuffer), ColorImageFormat_Bgra);
    pColorFrame->Release();

    namedWindow("display");
    imshow("display", colorImg);
    if (27 == waitKey(50))
      break;
  }
  return 0;
}

==============================================

或者在  C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\Samples   下面找一份项目,启动项目

win10 Kinect2 Visualstudio2015 opencv3环境搭建的更多相关文章

  1. win10下Spark的环境搭建

    win10下Spark的环境搭建 2018-08-19  18:36:45 一.jdk 1.8.0 安装与配置 二.scala 2.11.8 安装与配置http://www.scala-lang.or ...

  2. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  3. win10 + cuda10 +cudnn + GLUON 环境搭建

    1. <动手学深度学习> 由于新型非典型肺炎扩散,上班日期挪到2.10 日了,在家比较无聊决定了解一下深度学习. 在github 上找到一个资源,可以动手学深度学习,便打算按照这本书的内容 ...

  4. QGIS 3.14插件开发——Win10系统PyCharm开发环境搭建四步走

    前言:最近实习要求做一个QGIS插件,网上关于QGIS 3.14插件开发环境搭建的文档不多,而且也不算太全面.正好实习的时候写了一个文档,在这里给大家分享一下. 因为是Word转的Markdown,可 ...

  5. Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe

    目录 准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow.mxnet.pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 ...

  6. win10 , JAVA安装 环境搭建

    一.关于下载地址及方式: 1.百度搜索JDK,进入下载官网,具体网址如下: click me!!! 2.根据你电脑的不同系统选择对应的下载,当然首先你要点击Accept License Agreeme ...

  7. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

    目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...

  8. kali linux 入门(1) 基于win10和docker的环境搭建

    1. 前言 渗透测试并没有一个标准的定义.国外一些安全组织达成共识的通用说法是,渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点.技术缺陷或漏 ...

  9. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

随机推荐

  1. 【转载】取得系统中网卡MAC地址的三种方法

    From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址 ...

  2. 理解SQL【转http://blog.jobbole.com/55086/】

    很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言) ...

  3. maven打war包后无法依赖本地工程的jar包,造成debug时跳到class文件而不是本地java文件

    问题现象:项目结构如下 growup-service | - - - - - -growup-api | - - - - - -growup-core | - - - - - -growup-war ...

  4. JGroups 入门实践

    前言 JGroups是一个开源的纯java编写的可靠的群组通讯工具.其工作模式基于IP多播,但可以在可靠性和群组成员管理上进行扩展.其结构上设计灵活,提供了一种灵活兼容多种协议的协议栈. JGroup ...

  5. JSONObject转换Int类型--java.lang.Integer cannot be cast to java.lang.String

    参数 params={"abc":0} JSONObject转换Int类型 JSONObject json = JSONObject.fromObject(params); if ...

  6. zk 06之:ZooKeeper命令、命令行工具及简单操作

    常用命令ZooKeeper 支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 ZooK ...

  7. 关于 Mybatis的原生连接池 和 DBCP 连接池

    一 遇到的问题:  项目用的play框架,数据库DB2, 持久化框架是Mybatis, 连接池用的是Mybatis原生的,遇到的问题是:有时候抛出如下异常: play.api.UnexpectedEx ...

  8. python学习(四) 字典:当索引不好用时

    第四章 字典:当索引不好用时 4.1 字典的使用 字典的适用场景: 表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组: 存储文件修改时间,用文件名作为键: 数字电话/地址簿 4.2 创建和使用字典 ...

  9. linux 下 进程和线程的区别

    1.进程与线程 进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集.从内核的观点看,进程的目的就是担当分配系统资源(CPU时间.内存等)的基本单位. 线程是进程的一个执行流,是C ...

  10. MOS管防止电源反接的原理

    [导读]  一般可以使用在电源的正极串入一个二极管解决,不过,由于二极管有压降,会给电路造成不必要的损耗,尤其是电池供电场合,本来电池电压就3.7V,你就用二极管降了0.6V,使得电池使用时间大减. ...