(转)OpenCV - win7+vs2013(2012)+opencv3.0.0 环境配置 (以及配置技巧)
原文地址:http://demo.netfoucs.com/u013647382/article/details/42557479#
1. opencv 3.0.0 库下载地址, 这里的版本是3.0.0,其他的版本配置可能不一样,请大家注意。
http://opencv.org/downloads.html
2. 下载完成之后是一个exe文件:
双击解压它,会选择解压目录,我这里选择的是:D:\DevelopmentSoftware, 解压之后为:
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)打开属性管理器:
(3)在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“。
(4)做到这里,debug模式调试就可以使用了,为了使用release,我们需要将 步骤(3)的步骤再做一遍,创建一个opencv_release.props 。只是说我们选择的属性是release。而且刚刚已经说过了,添加链接库的时候添加的是后面没有 "d"的。
链接库:
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
(5)好了,到这里我们就已经配置完了。可以写个程序来测试一下:
- #include <opencv2\opencv.hpp> #include <iostream> #include <string> using namespace cv;using namespace std;int main(){ Mat img = imread("F:\\test.bmp"); if (img.empty()) { cout << "error"; return -1; } imshow("mypic", img); waitKey(); return 0;}
(6)这里还有一个建议,每次创建项目都要这样配置是是不是觉得很麻烦。不要忘了我们刚刚创建的项目配置文件, opencv_debug.props 和 opencv_release.props,其实这两个文件是可以提取出来。直接到项目文件夹下,搜索配置文件,直接copy出来,下次就可以直接导入。
选择添加现有属性表,选择我们以前创建好的就可以了。
这样配置简单了一点,但是每次需要添加两次,就是debug和release要分别导入。其实我们可以把两个文件写到一个属性表中,这样debug和release都添加这个就可以了。大家自己把配置文件抓出来做拼接,我这里就不带大家做了,很简单,就是在 <Link> 标签中添加了条件判断:
<Link Condition="'$(Configuration)'=='Debug'"> .... </Link>
<Link Condition="'$(Configuration)'=='Release'">.... </Link>
好了,终于完结了。真是不容易啊。配置成功了给自己一个赞!