Kinect学习笔记之(一)开发环境配置

 

                                    Kinect学习笔记之(一)开发环境配置

                                                                                          Email:809315756@qq.com

                                                                                          https://blog.csdn.net/qq_37904531

我的Kinect开发平台是:

Windows10+Kinect2.0+VisualStudio2019+opencv4.5,具体安装配置步骤如下:

1、安装 kinect for windows SDK 2.0

安装成功后可以看到:

kinect插电后,电源适配器指示灯为黄色,当kinect通过USB与电脑连接后,电源适配器指示灯变为白色(这一点并不能区分USB2.0和3.0,因为都会变为白色)。

 

启动SDK Browser v2.0

其中第一个Kinect Configuration Verifier是kinect自检程序,运行后

USB Controller显示警告不影响正常开发使用,可不用理会,只要没有出现x就代表正常。

 

2.在VS2019中配置Kinect2.0SDK和OpenCV4.5

新建一个控制台应用程序test3,解决方案->属性->配置中要选择x64 debug,不然会报 “fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”。

这个问题可以参考博客 https://blog.csdn.net/tfy1028/article/details/8660823/

接下来设置项目的属性:

(1)VC++目录(包含目录和库目录)

(2)链接器->输入->附加依赖项,添加Kinect20.lib

接下来是配置OpenCV4.5,可以在官网自行下载,解压后记得配置Path环境变量

接下来和添加kinect过程类似

(1)VC++目录中分别添加包含目录,库目录

(2)链接器->输入->附加依赖项

以上便是基本的配置步骤啦,可以用如下的程序做个测试,显示深度图像。

#include <iostream>

// OpenCV 头文件
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
// Kinect for Windows SDK 头文件
#include <Kinect.h>

using namespace std;

int main()
{
	cout << "Hello World!\n";

	// 1a.获取感应器
	IKinectSensor* pSensor = nullptr;
	GetDefaultKinectSensor(&pSensor);

	// 1b. 打开感应器
	pSensor->Open();

	// 2a. 取得深度数据
	IDepthFrameSource* pFrameSource = nullptr;
	pSensor->get_DepthFrameSource(&pFrameSource);

	// 2b. 取得深度数据的描述信息(宽、高)
	int        iWidth = 0;
	int        iHeight = 0;
	IFrameDescription* pFrameDescription = nullptr;
	pFrameSource->get_FrameDescription(&pFrameDescription);
	pFrameDescription->get_Width(&iWidth);
	pFrameDescription->get_Height(&iHeight);
	pFrameDescription->Release();
	pFrameDescription = nullptr;

	// 2c. 取得感应器的“可靠深度”的最大、最小距离
	UINT16 uDepthMin = 0, uDepthMax = 0;
	pFrameSource->get_DepthMinReliableDistance(&uDepthMin);
	pFrameSource->get_DepthMaxReliableDistance(&uDepthMax);
	cout << "Reliable Distance: "
		<< uDepthMin << " – " << uDepthMax << endl;

	// 建立图像矩阵,mDepthImg用来存储16位的图像数据,直接用来显示会接近全黑
	//不方便观察,用mImg8bit转换成8位再显示
	cv::Mat mDepthImg(iHeight, iWidth, CV_16UC1);
	cv::Mat mImg8bit(iHeight, iWidth, CV_8UC1);
	cv::namedWindow("DepthImage");

	// 3a. 打开深度数据阅读器
	IDepthFrameReader* pFrameReader = nullptr;
	pFrameSource->OpenReader(&pFrameReader);

	// 主循环
	while (1)
	{
		// 4a. 取得最新数据
		IDepthFrame* pFrame = nullptr;
		if (pFrameReader->AcquireLatestFrame(&pFrame) == S_OK)
		{
			// 4c. 把数据存入16位图像矩阵中
			pFrame->CopyFrameDataToArray(iWidth * iHeight,
				reinterpret_cast<UINT16*>(mDepthImg.data));//强制转换数据类型

		   // 4d. 把16位转换成8位
			mDepthImg.convertTo(mImg8bit, CV_8U, 255.0f / uDepthMax);//converto()第一个参数是输出矩阵,第二个是转换类型,第三个是缩放因子,其中4500是深度数据的最大距离
			cv::imshow("DepthImage", mImg8bit);
			//要改变显示的颜色和效果,就改变从mDepthImg到mImg8bit的转换  
			// 4e. 释放变量pFrame
			pFrame->Release();
		}

		if (cv::waitKey(30) == VK_ESCAPE) {
			break;
		}
	}

	// 3b. 释放变量pFrameReader
	pFrameReader->Release();
	pFrameReader = nullptr;

	// 2d.释放变量pFramesSource
	pFrameSource->Release();
	pFrameSource = nullptr;

	// 1c.关闭感应器
	pSensor->Close();

	// 1d.释放感应器
	pSensor->Release();
	pSensor = nullptr;

	return 0;


}

此外,如果运行程序出现错误“ 无法启动此程序,因为计算机中丢失opencv_world450.dll。请尝试重新安装改程序已解决此问题”,解决方法如下:

定位到OpenCV的bin目录,我的路径是H:\opencv\opencv\build\x64\vc15\bin,复制如下三个文件到C:\Windows\System32后便可以解决了。可以参考博客:

https://www.cnblogs.com/tansuoxinweilai/p/10424361.html

 

以上便是VS2019配置Kinect2.0和OpenCV4.5的基本步骤可可能出现错误的解决方法,如果有不足的地方欢迎大家留言指正。大家一起交流,共同进步。

 

 

 

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Kinect是微软开发的一款体感控制设备,Kinect2.0是该设备的第二代产品。Kinect2.0程序开发文档是微软提供给开发者的一份指南,旨在帮助他们了解如何使用和开发Kinect2.0的应用程序。 该开发文档包含了以下内容: 1. 硬件介绍:文档首先介绍了Kinect2.0的硬件组成,包括摄像头、红外传感器、麦克风等。开发者可以通过了解硬件的具体功能和特点,为后续的程序开发做好准备。 2. 开发环境搭建:文档详细介绍了如何搭建Kinect2.0的开发环境,包括操作系统的选择和安装、Kinect2.0 SDK的下载和配置等。开发者需要按照文档的步骤进行操作,确保开发环境的稳定和正确。 3. API和工具使用:文档中提供了Kinect2.0的应用程序编程接口(API)的使用指南,包括如何使用API读取Kinect2.0传感器的数据、如何控制设备的运动和触摸等。开发者可以通过学习和使用这些API,为自己的应用程序添加更多的交互和体验。 4. 示例代码和案例:文档中还提供了一些示例代码和案例,用于帮助开发者更好地理解和使用Kinect2.0。开发者可以通过研究这些示例,了解Kinect2.0的各种功能和应用场景,并从中获取灵感和思路。 总之,Kinect2.0程序开发文档是一份重要的参考资料,对于想要使用和开发Kinect2.0的应用程序的开发者来说,具有很大的帮助。文档详细介绍了硬件的组成、开发环境的搭建、API的使用和示例代码的分析,为开发者提供了一个系统而全面的学习开发平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xloserbin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值