Kinect1代+KinectSDK1.8+OpenNI2.2+NITE2.0+Opencv2.4.10环境配置(2)
来源:互联网 发布:植物大战僵尸2 知乎 编辑:程序博客网 时间:2024/05/29 08:24
昨天安装好了NITE2.0和OpenNI2.2并成功运行示例程序之后以为已经彻底完工,今天准备开始着手深度图像与彩色图像的对齐,然后一脸懵逼的发现。。嗯,图像貌似没法显示( ̄口 ̄),苦酒入喉心作痛,然后继续上网查资料,发现基本都是借用opencv实现的,那好吧,开始安装opencv,所以这篇文是紧跟上一篇的,在安装配置opencv的基础上,填坑(因为昨天只安装了NITE和OpenNI,并没有在VS里配置)。
前文链接:http://blog.csdn.net/uranus1024/article/details/72802995
正文开始:我们先配置opencv,我使用的opencv版本是2.4.10
kinectSDK1.8+NITE2.0+OpenNI2.2+OpenCv2.4.10大礼包:链接:http://pan.baidu.com/s/1nv5FDln 密码:nviz
STEP1:
下载好OPENCV2.4.10后,解压,注意记录你自己选择的解压路径,一会儿会用到,这里我直接在D盘根目录下创建了一个新文件夹用于解压
然后等待解压完成
STEP2:配置环境变量
按Windows+E组合键打开文件资源管理器,鼠标右击“此电脑”,选择属性
然后在弹出的窗口左边,点击高级系统设置
在弹出的“环境变量”窗口->系统变量下,单击新建
变量名取为PATH,变量值通过浏览目录定位到你刚才opencv所解压的路径,一直向下选中至bin,确定(注意这里无论电脑系统位数是32还是64位,都选择X86,否则后续会出问题)
单击确定,添加完后的结果应该是这样的
再下一步添加用户变量,点击用户变量下的新建,如图所示
变量名取为opencv,变量值和上步类似,定位到build文件夹即可
然后单击确定,在环境变量窗口单击确定,系统属性窗口单击应用->确定,即完成了环境变量的配置。(OpenNI2在安装的时候就会自动配置环境变量)
STEP3:打开VS,新建win32控制台程序,新建源文件。然后粘贴一段示例代码,我使用的实例代码来自http://blog.csdn.net/chenxin_130/article/details/8619909?utm_source=tuicool&utm_medium=referral
粘贴进源文件后我们会发现报错
然后我们需要右键项目名点击菜单最下方的属性进行设置
(注:STEP3的这些步骤可以参考我上一篇文章里的图解)
首先进入配置属性->VC++目录->包含目录,编辑
这里需要加入4条内容,添加包含目录的步骤可以参考我上一篇文章的图解,这里只放最后添加的结果
(注:前三条包含目录为我的电脑上的解压目录,读者目录可能会与我的设置不一致,不影响结果)
设置好后单击确定,然后编辑库目录,编辑完后的结果为
接下来配置附加依赖项,依次进入链接器->输入->附加依赖项,编辑,在上方空白框中粘贴以下内容
kernel32.libuser32.libgdi32.libwinspool.libcomdlg32.libadvapi32.libshell32.libole32.liboleaut32.libuuid.libodbc32.libodbccp32.lib%(AdditionalDependencies)opencv_ml2410d.libopencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410d.libopencv_gpu2410d.libopencv_highgui2410d.libopencv_imgproc2410d.libopencv_legacy2410d.libopencv_objdetect2410d.libopencv_ts2410d.libopencv_video2410d.libopencv_nonfree2410d.libopencv_ocl2410d.libopencv_photo2410d.libopencv_stitching2410d.libopencv_superres2410d.libopencv_videostab2410d.libOpenNI2.lib注意!这里我使用的opencv版本为2.4.10,所以lib文件前末尾格式都为2410d,如果你用的是2.4.9版本的opencv,则上面的2410d全部都需要改为249d,否则编译会报错:无法打开xxxxx2410d.lib。
图为我用的2.4.10版本的opencv却添加的是249d.lib所以编译报错的结果
添加完后的结果
然后一路确定下来就好了,这个时候我们会发现代码里的报错已经没有了,但是F5编译运行可能仍然会出现错误。
比如
我在百度之后查明了原因,是因为是用debug模式编译的,MSVCP120D最后的D就代表DEBUG,如果使用release编译就不会报错,但是我不信邪啊,我就要搞出来,然后去网上下好了这个dll(上面的度盘链接里就有这两个dll),并按照网上的教程:把dll文件放进windows\system32目录下,以管理员身份运行cmd进入system32目录下运行这个dll。。。结果,告诉我无法创建关联 \("▔□▔)/\("▔□▔)/\("▔□▔)/。。。然后,我又试着把这个dll扔进了opencv\build\x86\vc12\bin目录下,结果。。结果。。结果就好了(/・ω・\),纯属意外,瞎扔结果一发入魂。
然后美滋滋的编译...
我靠什么鬼啦(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`)
有着前面的经验铺垫,我立马去OpenNI2的redist目录下把OpenNI2.dll文件撸了过来砸进了刚才上面的那个OPENCV的路径,心想稳了
然后。。。我。。。
那就换个思路,扔进工程目录下肯定没问题了吧。。。结果...在运行黑框里告诉我No such files matching xxx\xxx\xxxx *.dll,然后又开启了度娘之旅,一堆回答配置错误的,很是无语(我不听,我配置的明明是对的),最终百度到一个回答说重启就好的,然后满怀希望的重启。。。再运行。。缺少OpenNI2.dll。。。(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`)
然后又把OpenNI2,NITE卸载重装了。。也没用,最后终于找到了答案,要把OpenNI2下redist文件夹下的所有文件全部拷贝到工程文件目录下...心态崩了,之前我还在环境变量里在包含目录里加上了OpenNI2\redist,没用,结果最简单粗暴的办法反而最有效。然后编译运行。
运行成功!
你问我运行成功为什么没图像啊...因为我不想上镜啊,逃~
以上。
- Kinect1代+KinectSDK1.8+OpenNI2.2+NITE2.0+Opencv2.4.10环境配置(2)
- Kinect1代+KinectSDK1.8+OpenNI2.2+NITE2.0环境配置(1)
- kinect+openni2+nite2+opencv2.4手势跟踪
- Kinect nite2 openNI2 配置遇到的问题
- 在Win10 +64位 配置 Kinect SDK 1.8 + OpenNI2.0(64)+NITE2.0(64)+ opencv-2.4.12 + VS2013
- Ubuntu14.04下openni2以及nite2的配置-kinectv1篇
- Kinect开发STEP1:KinectSDK1.8在win32控制台程序下的环境配置
- Opencv2.4+kinect1.0 手语识别 (三)深度图的通道问题
- OpenCV+kinect1.0手语识别(一) 环境配置+彩色流深度流骨架流的处理
- VS2010下配置OpenCV2.2运行环境
- QT5.2+vs2012+opencv2.4.7环境配置
- ubuntu16.04 编译和配置openni2 opencv2 libfreenect2(OpenKinect)
- OpenNI2+VS2012(64bit)环境配置
- 浅析OpenNI2---Driver开发(2)
- 也谈windows 平台下Qt+OpenCV2.2环境配置
- XBOX之Kinect1与2的区别
- vs2010配置opencv2.2
- opencv2.2 + vs2010配置
- django 的安装及配置方法
- Java程序性能优化
- 多线程-进程和线程的概述
- 关于js异步上传文件
- 3d 鼠标控制Camera
- Kinect1代+KinectSDK1.8+OpenNI2.2+NITE2.0+Opencv2.4.10环境配置(2)
- 反射
- Caffe——solver优化方法
- 一位资深程序员大牛给予Java初学者的学习路线建议
- oracle分表分区提高检索速度的相关方法
- JavaBean编程学习--使用JavaBean提高JSP的代码重用性
- codevs1060 搞笑世界杯(dp)
- vmware workstation11 虚拟机连接网络配置
- python制作一个简单网络爬虫