- Kinect for windows.
- Kinect SDK Studying 参考博客
[TOC]
- Bug
- 首次安装KinectSDK-v1.8-Setup
- 连上kinect后,打开一次后,第二次打开提示 “ No kinet to connect ”
- 重新卸载后,安装KinectSDK-v1.7-Setup,成功
- 在官方网站下载Kinect for Windows SDK和Developer Toolkit:
- 参考教程
- KinectSDK-v1.7-Setup.exe
- KinectDeveloperToolkit-v1.7.0-Setup.exe
- 安装成功后,连上kinect, 设备管理器出现 “ Kinect for windows ”
- 通过kinect tools 测试 XBox的好坏
- 安装教程
- Download Visual Studio Community免费版
- 选择工作负载这里仅勾选”使用C++的桌面开发”,单个组件和语音包使用默认
- 按照需要选择要安装的模块(但是我下载后没有已安装的选项)
- VS2017的文件目录 C:\Users\quronghui\source\repos
- 直接安装VS2017,并且卸载完之前安装的VS2015版本(如果可以的话直接升级)
- 我的是因为之前安装的VS2015 ios镜像不成功,卸载不完全,导致的系统重装.
- Mircosoft 的软件安装的时候,不要中途暂停,不然容易造成卸载不了的问题
- 解决方案
- 重装系统后,直接安装VS2017,这样就不会报错了
- 因该是以前装VS其他版本没有卸载干净,导致的后果
-
Kiinect SDK 关于 VS 的配置
-
使用VS进行开发的话,需要配置include和lib路径
-
进入VS,右键-项目属性,Debug + x64,选择VC++Directories:
{% asset_img KinectEnvironment.PNG %}
Debug and Release 都要添加 Include files : add C:\Program Files\Microsoft SDKs\Kinect\v1.7\inc; Library files : add C:\Program Files\Microsoft SDKs\Kinect\v1.7\lib\x64; 链接器 : add Kinect10.lib
-
-
C:\Program Files\MicrosoftSDKs\Kinect\v1.6\inc 目录下有:
- NuiApi.h ---包含所有的NUI(自然用户界面) API头文件和定义基本的初始化和函数访问入口。这是我们C++工程的主要头文件,它已经包含了NuiImageCamera.h 和 NuiSkeleton.h。 - NuiImageCamera.h ---定义了图像和摄像头服务的API,包括调整摄像头的角度和仰角,打开数据流和读取数据流等。 - NuiSkeleton.h ---骨架有关的API,包括使能骨架跟踪,获取骨架数据,骨架数据转换和平滑渲染等。 - NuiSensor.h ---音频API,包括ISoundSourceLocalizer接口,用于返回声源的方向(波束形成)和音频的位置。
- 本次安装的opencv,是为了迁移上一个工程师的代码,所以opencv的版本需要一致才能编译成功。
- opencv 2.4.6.0,vc10
- 提取码:f3pz
- Opencv 的安装和配置教程
-
我是直接复制工程师的 opencv 解压包,只是进行依赖链接的配置。
-
环境变量
{% asset_img OpencvEnvironment.jpg %}
-
Opencv Start Dll 文件的复制
-
dll 文件都在安装的opencv的 bin 目录下
-
copy : opencv_ffmpeg .dll to C:\Windows\System32 copy : opencv_other .dll to C:\Windows\SysWOW64
{% asset_img OpencvStartDll.PNG %}
-
-
VS 属性中( Include Direction):
Include Direction: C:\Software\opencv\opencv\include C:\Software\opencv\opencv\build\include\opencv C:\Software\opencv\opencv\build\include\opencv2 C:\Software\opencv\freetype\include // 为了在opencv里面检测的图片上加上字
- {% asset_img OpencvVsInclude.PNG %}
-
VS 属性里面的 库目录
Library Direction: C:\Software\opencv\opencv\build\x64\vc10\lib
- {% asset_img OpencvVsLibrary.PNG %}
-
VS 属性 -- 链接器 -- 输入项 -- 附加依赖项
" **在 Debug x64 下面进行配置**" Link : opencv_core246d.lib // lib 库下面 opencv_xxx "d" : 代表的是Debug版本使用的库 opencv_highgui246d.lib opencv_video246d.lib opencv_imgproc246d.lib opencv_photo246d.lib
- {% asset_img OpencvVsLink.PNG %}
" **切换 Release x64 下面进行配置**" Link : opencv_core246.lib // lib 库下面 opencv_xxx : 代表的是Release版本使用的库 opencv_highgui246.lib opencv_video246.lib opencv_imgproc246.lib opencv_photo246.lib
- {% asset_img OpencvVsLinkR.PNG %}
-
Notes: QT组件的选取: MSVC 2017 64-bit : VS2017 的QT编译器 MinGW 5.3.0 32 bit : gcc 的编译器吧
-
Notes
VS 属性 -- 链接器 -- 输入项 -- 附加依赖项 :加入QT. lib 如果报错再加入: qtmain.lib Qt5Core.lib Qt5Gui.lib Qt5Widgets.lib
{% asset_img OTVsLinkDR.PNG %}
-
VC ++ 目录 :
- 下面的包含目录和库目录。
- 注意修改迁移项目的目录链接。
- (之前背的工程师的SDK or opencv 放在其他的目录下)
-
Qt Meta-Object Complier:
-
Include Path
{% asset_img QtVsInclude.PNG %}
-
-
C/C++ 目录
-
常规 -- 附加包含目录:
{% asset_img C++Direction.PNG %}
-
所有选项 -- 附加包含目录
-
-
代码迁移后,会报计算机中丢失 MSVCP100D.dll
-
解决方案:去对应工程师的电脑下,拷贝MSVCP100D.dll
- download 提取码:fkvr
copy xxx.dll files to C:\Windows\SysWOW64 copy xxx.dll files to C:\Windows\System32
- 主函数 main.cpp 就是QtGui的主函数;
- QtGuiApplication1.h and QtGuiApplication1.cpp
- 里面定义之后的字段以及函数声明,以及槽的实现,都是在这里,Qt的逻辑功能设计主要是修改这个文件。
- 这个就是逻辑函数
-
QtGuiApplication1.h
// QtGuiApplication1(工程的名字Widget)类的头文件,定义一些字段和函数声明, //包括最重要的slots(槽)函数的声明,以及界面ui句柄,以便通过“ui.***”的方式访问到界面的各个控件, // 比如访问界面的Label控件里的文字可以这样:ui.label->text();就是字面意思,很容易理解。
-
QtGuiApplication1.cpp
- 逻辑代码文件;
- 所有实现功能的函数文件
-
/*进行Kinect的连接和初始化 */
-
获取Color , Skeleton, and Depth Data
-
自动完成拍摄正面和侧面
调用函数: (1)mt = new MyTimer(this); (2) /*界面上显示的测量时间倒计时,以及显示文字,是否可以换成语音播报*/ script = new Script(7,4); (3)unit.cpp
-
// 身体数据填充到身体数据流 /**************3.函数进行第三次跳转,获取bodydate*********/
- Skeleton 骨骼点数据时,使用的函数
- // 摄像头采集的frame,每秒30帧
- 没找到在哪里调用。
- 一个学习的函数,不在工程里。
-
将需要发布的exe(Release )文件编译后(如QtGuiApplication1.exe),放到单独的目录。
-
在“开始菜单”启动Qt 5.9.1 32-bit for Desktop (MSVC 2015);
-
Win + R 进去 cmd编辑;
-
cd C:\Software\kinect\QtGuiApplication1\x64\Release 进入 exe 文件的目录
-
执行命令
windeployqt.exe QtGuiApplication1.exe --qmldir C:\Qt\Qt5.12.1\5.12.1\msvc2017_64\qml
-
生成运行时需要的文件。(源程序发生改变,需要重新生成一次)
-
-
Vs 2017的依赖库
进入路径 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Remote Debugger\x64 拷贝文件 api-ms-win-core-* concrt140.dll msvcp140.dll ucrtbase.dll vcruntime140.dll 粘贴到 *步骤一的目录下*
-
这样迁移到相同屏幕尺寸的电脑下,就可以运行了。
-
如果出现Qt提示的文字超出界面,修改字体的大小就能自适应平板了。