VS2013+opencv3.0+win7的完整配置
如果你的win7是64位的,直接也装32就可以了,程序跑的时候在32位下,不然在vs还得换配置器,麻烦
转载:https://www.cnblogs.com/ssjie/p/4943439.html
1. opencv 3.0.0 库下载地址, 这里的版本是3.0.0,其他的版本配置可能不一样,请大家注意。
http://sourceforge.net/projects/opencvlibrary/files/latest/download?source=top3_dlp_t5
2. 下载完成之后是一个exe文件:
双击解压它,会选择解压目录,这里选择的是:D:\DevelpomentSoftware, 解压之后为:
3. 配置系统环境变量:计算机 > 属性 > 高级系统设置 > 环境变量
(1) 首先创建opencv的环境变量, 变量名:OPENCV, 变量值:D:\DevelopmentSoftware\opencv\build (你的opencv解压目录的 build目录)
(2)添加到Path变量。双击 Path, 然后直接在变量值末尾添加即可: %OPENCV%\x86\vc12\bin(最后没有 " ; " )
ps: opencv/build目录下有 x64和x86两个目录,里面都有 vc10, vc11, vc12。 这里注意一定要选x86目录,因为编译都是32位的。 vc12 对应 vs2013,不是vs2012,不要被误导了。 (vc11-> vs2012, vc10->vs2010)
4. 到这里,就可以打开vs2013,开始创建项目了。
(1)创建一个win32空项目:
(2)接着在解决方案资源管理器的【源文件】处右击->添加->新建项,准备在工程中新建一个cpp源文件。
(3)然后选定C++源文件,取个名字,比如叫“main”,然后点【添加】,那么,一个新的cpp文件就添加到了工程中
(4)打开属性管理器:
(5)在debug上右键,添加新项目属性表,创建一个属性表: opencv_debug.props, 双击它开始编辑:
然后 点击VC++目录 ,我们需要分别添加包含目录和库目录
<1> 包含目录 -> 编辑,添加这三个目录到包含目录下:
D:\DevelopmentSoftware\opencv\build\include
D:\DevelopmentSoftware\opencv\build\include\opencv
D:\DevelopmentSoftware\opencv\build\include\opencv2
<2> 然后添加库目录:
D:\DevelopmentSoftware\opencv\build\x86\vc12\lib
D:\DevelopmentSoftware\opencv\build\x86\vc12\staticlib
<3> 链接器 -> 附加依赖项 -> 编辑
直接拷贝进去:
opencv_ts300d.lib
opencv_world300d.lib
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
libwebpd.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
zlibd.lib
这里链接时使用到的库。 这里有两点需要注意:
1. 各个版本的opencv链接的库文件不一样,这里只适用于 opencv3.0.0(alpha)版本。
2. 现在我们添加进的是 debug使用的库, 可以发现每个lib文件文件名后有一个“d”,表示debug。所以下一步我们在添加release版本的时候,添加的链接库和上面的一样,只是后面没有“d“。
(6)做到这里,debug模式调试就可以使用了,为了使用release,我们需要将 步骤(4)的步骤再做一遍,创建一个opencv_release.props 。只是说我们选择的属性是release。而且刚刚已经说过了,添加链接库的时候添加的是后面没有 "d"的。
<1> 包含目录 -> 编辑,添加这三个目录到包含目录下:
D:\DevelopmentSoftware\opencv\build\include
D:\DevelopmentSoftware\opencv\build\include\opencv
D:\DevelopmentSoftware\opencv\build\include\opencv2
<2> 然后添加库目录:
D:\DevelopmentSoftware\opencv\build\x86\vc12\lib
D:\DevelopmentSoftware\opencv\build\x86\vc12\staticlib
<3> 链接器 -> 附加依赖项 -> 编辑
链接库:
opencv_ts300.lib
opencv_world300.lib
IlmImf.lib
ippicvmt.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
libwebp.lib
opencv_calib3d300.lib
opencv_core300.lib
opencv_features2d300.lib
opencv_flann300.lib
opencv_highgui300.lib
opencv_imgcodecs300.lib
opencv_imgproc300.lib
opencv_ml300.lib
opencv_objdetect300.lib
opencv_photo300.lib
opencv_shape300.lib
opencv_stitching300.lib
opencv_superres300.lib
opencv_video300.lib
opencv_videoio300.lib
opencv_videostab300.lib
zlib.lib
(7)到这里我们就已经配置完了。可以写个程序来测试一下:
ps:在上面新建的mian.cpp中,图片命名为:FreeBamb.jpg,且图片要和main.cpp在同一个文件夹下
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("FreeBamb.jpg"); 读入一张图片(游戏原画)
if (img.empty())
{
cout << "error";
return -1;
}
imshow("FreeBamb靓照", img);//窗口显示FreeBamb靓照
waitKey(10000);// 等待6000 ms后窗口自动关闭
return 0;
}
运行结果
(8)这样子弄每次创建项目都要这样配置很麻烦。不要忘了我们刚刚创建的项目配置文件, opencv_debug.props 和 opencv_release.props,其实这两个文件是可以提取出来。直接到项目文件夹下,搜索配置文件,直接copy出来,下次就可以直接导入。
选择添加现有属性表,选择我们以前创建好的就可以了。Debug Win32添加opencv_debug.props,而Release Win32添加opencv_release.props。可以拷贝出来,每次新建工程添加一下即可。
如果嫌上面的方式太麻烦,可以参考下面的方式:
https://blog.csdn.net/u010009145/article/details/50756751
个人总结:安装的opencv版本不一致时,库不能随意替换,一定要细心!!!