前言
最近研究了一下opencv的kalman滤波算法,想要运行里面的示例,折腾了半天,在网上找了一些资料,终于搞定了,主要是配置vs的环境,这里做个详细的步骤总结。
软件下载
首先,在opencv官网下载软件。官网下载地址。
注意,4.0.0版本是近期才发布的,是大版本改动,有些接口变化了,所以为了保险起见还是先用老版本吧,如果是64位呢可以下载3.4.4版本,如果是32位就下载2.4.13版本,因为3.4版本只能选择64位来安装,而2.4版本可以选择32为或者64位安装。
ok,我这里需要32位,所以安装2.4.13版本,直接点击win pack即可自动下载。
解压软件
下载完成后是一个opencv-2.4.13.6-vc14.exe文件,直接双击会让其选择解压位置,选择相应位置后点击Extract即可。
解压完成文件列表如下:
其中build是已经编译过的直接可用的库相关文件,sources是源码。这里我们只需要用到build目录下的文件。
添加环境变量
接着需要把opencv的路径添加到环境变量中去。
右击“我的电脑”,打开属性->高级系统设置
![](https://img-blog.csdnimg.cn/20181123191033651.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b3lheXVuMzYx,size_16,color_FFFFFF,t_70)
然后将\build\x86\vc14\bin;绝对路径添加进去,注意用分号和原有的设置隔开。
我这里的路径是 D:\opencv\opencv2.4.13\build\x86\vc14\bin;
注意,如果是64位的话 就添加x64目录下的vc14\bin;
配置vs2015
打开vs2015,新建一个win32控制台空项目程序。
创建成功后开始来配置opencv的依赖环境。
添加包含目录
右击工程名,打开属性。
在左侧依次打开 vc++目录 ->包含目录,点击右侧倒三角,然后点击编辑:
添加目录:
分别将以下三个目录添加进去:
以上是我电脑的路径,根据opencv所在的路径添加即可。
添加库目录
和上面一样:
如果是64位,就添加x64下的库目录,我这里添加的是32位。
添加附加库目录
同样在属性页面,打开如下路径:
点击编辑,将库目录添加进去
添加附加依赖项
在属性中,依次打开以下路径
点击编辑,将D:\opencv\opencv2.4.13\build\x64\vc14\lib文件夹中的所有文件名添加进去。
注意,每个库对应了debug和release版本,debug版本后缀是d结尾,如:opencv_calib3d2413d.lib
我这里添加的是debug的依赖项
opencv_ml2413d.lib
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_objdetect2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_nonfree2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_videostab2413d.lib
ok,完成以上配置后,基本环境就配置好了。
接下来跑个示例看一下,我这里直接运行opencv自带的示例 kalman,将D:\opencv\opencv2.4.13\sources\samples\cpp 下的kalman.cpp直接拷贝到我们新建的vs工程目录下,然后在项目中添加现有文件:
因为我要编译32位的程序, 所以这里选择x86,然后点击本地windows调试器按钮,然后会报错,找不到库:无法启动此程序,因为计算机中丢失opencv_core2143d.dll
接下来,回到opencv的安装目录,D:\opencv\opencv2.4.13\build\x86\vc14\bin 找到相应的库,拷贝到vs项目编译输出的目录下opencvDemo\Debug,与可执行程序同级
最后再次编译运行,发现可以跑起来了,看看效果:
ok,大功告成。