前言:之前看过opencv的入门视频,却很少主动编程深入理解其机理,苦于知其原理却不能够分析程序,为加强学习opencv特写博客记录自己的成长历程。本次采用的VS2013+opencv2.49,之所以采用VS2010,是刚装opencv出现问题,想卸载VS2010发现很难清理干净,最后采用最笨的方法就是将VS2010的安装插件逐个卸载。于是才想换成VS2013版本。将VS2013+opencv2.49安装过程如下。本次安装配置参考《opencv3编程入门》毛星云编著。
- 配置环境变量
在【计算机】-【(右键)属性】-【高级系统设置】-【高级】-【环境变量设置】中,双击系统变量的PATH,在变量值里添加相应变量。
在系统变量里找到Path变量,在Path中添加值SDK中的bin目录。
本人解压时设置的目录是D:\Program Files,用到是32位库,VC++用的是2013,因此添加到bin目录为
D:\Program Files\opencv\build\x86\vc12\bin
在用户变量里,新建一个opencv的变量值为(根据解压目录)
D:\Program Files\opencv\build
PATH里增加(注:中间加;隔开,是英文状态下的)
D:\Program Files\opencv\build\x86\vc12\bin
注:环境变量配置后,需重启系统才能生效。
2.VC++工程配置
(1)在这里我们先新建一个空的win32控制台程序,命名为test0。
(2)接下里点击源文件–》添加–》新建项,新建一个c++文件,命名为test,点击添加。
(3)接下来我们配置include包含文件路径,我这里是通过配置文件配置的,当然其他方式也可以的,这里我点击视图–》其他窗口–》属性管理器
(4)在debug|win32下,对文件夹Mircrosoft.cpp.Win32.userDirectories右键属性,【通用属性】-【VC++目录】-【包含目录】-点击编辑选项,添加以下三个文件
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv2
D:\Program Files\opencv\build\include\opencv
(5)接下来就是工程库(lib)目录的配置,添加路径
D:\Program Files\opencv\build\x86\vc12\lib
这里说明以下,无论是32位系统还是64位的系统,只跟选择的编译器有关,因为编译器选的win32的,所以选择X86文件配置。其中vc10表示vs2010,vc11表示是Visual Studio 2012,vc12表示是VS2013。
(6)下一步就是附加依赖项的链接库的配置了。具体位置是:链接器–》输入–》附加依赖项–》编辑。
这里添加opencv249版本 debug所需要的依赖库,添加如下249版本的lib(这样的lib顺序是:19个带d的debug版的lib写在前面,19个不带d的release版的lib写在后面):
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_videostab249d.lib
配置release的时候,则是末尾不带d的lib文件
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
到此我们整个环境就搭建好了,最后我们测试一下环境。
3.#环境测试
测试代码:
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
int main()
{
IplImage * image;
image = cvLoadImage("D:\\1.JPG");//载入图像
cvNamedWindow("demo", 1);//创建窗口
cvShowImage("demo", image);//显示
cvWaitKey(0);//等待输入
cvDestroyWindow("demo");//关闭窗口
cvReleaseImage(&image);//释放图像
system("pause");
return 0;
}
结果显示
最后,中间遇到应用程序无法正常启动0x000007b 问题。这是lib包含的问题,解决办法是将dll放到系统盘windows的SysWow64下。