写在前面的话:自己装了好久都没有成功,最后终于好了,希望可以让大家借鉴一下!部分是转载别人的,稍作修正
1、准备工作
(1)下载OpenCV
从OpenCV官方网站下载OpenCV2.4.9版本(OpenCV for Windows)
附:OpenCV2.4.9版本下载地址
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/opencv-2.4.9.exe/download
(2)安装Visual Studio 2013
安装这个就不多说了,很简单,我这里用的是VS2013旗舰版
2、解压OpenCV
首先选择解压目录,我这里选择了D:\OpenCV\2.4.9\这个目录,解压后的结果如下
可以看到在opencv文件夹下有build和sources两个文件夹,build是SDK包,sources是源码包(其中也有opencv使用例子的源码)
在build文件夹下include是C&C++头文件所在文件夹;doc是文档文件夹;java是java开发的库文件夹;python是python开发库文件夹;x64和X86是已编译好的C&C++的64位和32位库文件夹,在它里面有vc10、vc11、vc12 三个文件夹,分别对应VC++2010、VC++2012和VC++2013。任意打开vc**一个文件夹可以看到以下内容:
因不同版本VC++生成的库文件所需的运行时不同,因此配置VC++工程时需要选择相对应的二进制库文件。在VC XX文件夹下bin文件夹是公用的动态链接库,在系统环境变量里配置后,所以opencv工程都能共享他们;lib文件夹是动态库隐式调用所需的静态链接文件;staticlib文件夹是静态链接库,需要生成不依赖动态库的程序就是用它们。
3、设置环境变量
- “计算机”上右键选“属性”打开系统设置窗口
- 选择“高级系统设置”打开“系统属性”窗口
先找到自己要用的vc**目录,注意选择是需要x86/x64相关库,这个后续编写程序的时候很有用
在系统变量里找到Path变量,在Path中添加值SDK中的bin目录。
**注:环境变量配置后,需重启系统才能生效。
这一步的环境变量的设置是必须的,否则可能能够编译通过,但是不可以运行程序,程序的弹窗错误提示为“应用程序无法启动,系统找不到。。。”
这里如果重启了,后面就不会出现这个错误了,不过这个影响不大,可以后面再重启**
4.创建一个空项目
打开VisualStudio2010,创建一个新的项目,如图所示:
点击确定,然后下一步,进入图3所示界面。选择空项目。
注:命名规则注意改一下,我从别的地方盗图
首先,找到配置管理器,如下图
然后新建一个x64的平台,新建的步骤如下两图
然后我们可以看到属性管理器中有4个选项了
注:此处有一种一劳永逸的办法,即在Debug|x64下面新建一个命名为OpencvDebug的属性表,配置过程同Microsoft.Cpp.x64.user。Microsoft.Cpp.x64.user可以不用配置了。同理在Release下面操作。最后将OpencvDebug和OpencvRelease单独保存,在别的项目中添加即可,不用再次配置。
然后我们选择”Debug|x64“中的Microsoft.Cpp.x64.user(右键点击打开其属性,后面的配置和前面相同)然后弹出对话框,首先设置通用属性中的VC++目录,其中可执行文件目录、包含目录、库目录都是需要设置的,设置结果如下图:
可执行目录为:
解压文件夹下opencv\build\x64\vc12\bin;
包含目录三个为:
解压文件夹下opencv\build\include;
解压文件夹下opencv\build\include\opencv;
解压文件夹下opencv\build\include\opencv2;
库目录为:
解压文件夹下opencv\build\x64\vc12\lib;
因为我的解压文件夹是 D:\OpenCV\2.4.9\所以配置如图片显示
然后配置通用属性中的,链接器中输入中的附加依赖项,如下图
Debug下的附加依赖项如下:
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_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
添加到连接器中必须是每个单独一行的,显示如下
VC++目录配置按照前面Debug的配置配置完成后,配置”连接器“→”输入“下的附加依赖项,这个是跟Debug不同的,他们需要的动态链接库是不一样的,Release下的动态链接库如下:
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
opencv_nonfree249.lib
opencv_objdetect249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_videostab249.lib
配置完成后就可以进行OpenCV的编程了
5.编程
新建一个主函数:
code:
#include
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "pic.jpg";//如果需要,修改此处的路径
//从文件中读入图像
//Mat img = imread(imagename);//matlab 风格
Mat img = cvLoadImage(imagename);
//如果读入图像失败
if (img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
然后配置就结束了,这次是真正正确的结束了,现在我们运行这段程序选择“调试”→“开始执行(不调试)”,结果发现还是有错误,这次的错误高级了一些,是弹窗显示的,显示如下:
直接无法启动应用程序,这个原因很简单,想一下,我们之前配置了系统的环境变量,但是还没有重启计算机,所以现在就是要重新启动计算机的时候了。(如果之前配置完环境变量之后重启了,就没有这个错误了)
重启计算机结束之后,我们重新打开VS2013的这个项目,然后点击“调试”→“开始执行(不调试)”,现在我们就发现程序可以正常运行了,运行结果如下图:
这样完成了初次配置,VS中不需要加#include“stdafx.h”,且读入图片要用cvLoadImage. 祝君好运!
参考链接:
1.http://blog.csdn.net/liangkingz/article/details/45822977
2.http://www.cnblogs.com/wuyilinwudi/p/4655362.html