现网上有大量VS+opencv配置方法,而且方法基本都是只需第一次配置,以后无需重新配置。一次配置就一劳永逸的优势很明显,但也有一个很不方便的缺陷所在:假如你按照这样的方法配置了VS+opencv3,使用过程中感觉:“哇塞,opencv3大量的module用起来好爽,硬件加速用起来好快啊!!”,然而当你碰到难题需要上网求助,网上搜到大牛放出的代码超级完美的时候,却发现大牛用opencv2编写的程序你无法运行。作为刚入门的小白改编成opencv3又有些许困难.这是你想起来可以自己配置环境嘛,于是下载opencv2进行配置,duang.duang.duang配置一通....结果失败了。而且opencv3竟然也不能再用了!!! 上边其实是我初期遇到的问题,之后各种重装。。。心累。 下边介绍的方法:每次都需要重新配置项目,但优势在一个稳定!!opencv2和opencv3各种版本随便切换~~
…………………………………………………………正文分割线…………………………………………………………………
1. Visual studio 2015下载安装,
C盘容量不吃紧的话建议默认安装位置,毕竟速度快一点。
(要用到opencv)组件选择:vc++ 和visual studio2015updata(其他有需要后期再安装)
2.下载opencvSDK:
a. opencv2和opencv3官网下载地址如下:
opencv2410:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.10/opencv-2.4.10.exe/download
opencv310 : https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.0/opencv-3.1.0.exe/download
b. opencv安装即解压,解压到合适的硬盘里。
![](https://img.haomeiwen.com/i8668059/30ed1a3bf6ef8776.png)
3.环境配置:
其他方法中的系统环境变量设置在此不需要。直接进行配置。
a. 新建win32控制台应用程序,选择空项目,并先创建一个.cpp源文件
![](https://img.haomeiwen.com/i8668059/6d0be888dd0b1969.png)
![](https://img.haomeiwen.com/i8668059/0e00ce7c7f7c5983.png)
![](https://img.haomeiwen.com/i8668059/7dca5cb2c7c7fa45.png)
b. 右键项目-->属性:
i). c/c++ -->附加包含目录:opencv文件/build/include(这一步操作中使用opencv2或opencv3,文件夹名称都一样)
![](https://img.haomeiwen.com/i8668059/5d39d6f25c7bf01a.png)
ii). 链接器-->常规-->附加库目录:opencv2文件/build/x86/vc12/lib(若使用opencv3文件/build/x64/vc14/lib)
![](https://img.haomeiwen.com/i8668059/411f74a8f1cf7e77.png)
iii). Link-->输入-->附加依赖项(附加依赖项贴到教程最后opencv2和opencv3附加依赖项不一样,debug和release模式也不一样),最后点击:应用,确定
![](https://img.haomeiwen.com/i8668059/1b2a3951726ede2d.png)
iv). 将opencv2和opencv3如下文件夹中的所有文件拷贝到文件夹C/windows/system32和C/windows/sysWOW64中 :
opencv2文件夹下的build/x86/vc12/bin 和
opencv3文件夹下的build/x64/vc14/bin
4.解决方案平台选择(如图):
当使用opencv2需要选择x86,
当使用opencv3需要选择x64,
![](https://img.haomeiwen.com/i8668059/600be39277888cc0.png)
如果不匹配会出现如下错误:或者“模块计算机类型X86与目标计算机类型X64冲突”
![](https://img.haomeiwen.com/i8668059/f887babd26902562.png)
5.缺失文件下载:
配置完成后第一次测试代码可能会出现某.lib后缀文件不存在(2017.11.27更新:重装系统后第一次配置opencv的时候终于记下了名字),出现这个问题的时候从网上搜索此lib后缀文件并下载放入opencv的lib库文件夹下,建议C/windows/system32和C/windows/sysWOW64中也复制进去,即可运行。
...................................................................................................................................................
以上完成以后,就能欢乐的使用opencv了,下次新建项目按需求重复3,4步,选择合适的文件夹即可。虽然每次新建项目都要多花费一分钟,但是好在opencv2与opencv3切换使用无压力不是嘛!!!
![](https://img.haomeiwen.com/i8668059/b6e8bda0b2a84538.png)
最后附上附加依赖项和测试代码:
附加依赖项:
(opencv2410,debug版)................................................................................................
opencv_ml2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib
(opencv2410,release版)................................................................................................
opencv_objdetect2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_nonfree2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_videostab2410.lib
opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
(opencv310,debug版)................................................................................................
opencv_ts310d.lib
opencv_world310d.lib
(opencv310,release版)................................................................................................
opencv_ts310.lib
opencv_world310.lib
测试代码(opencv310,debug模式)...................................................................................
#includeusing namespace cv;
void main()
{
Mat im;
im = imread("xj.jpg");
imshow("OpenCV310", im);
std::cout << "-------------------" << std::endl
<< "OpenCV310 Success!!" << std::endl
<< "-------------------" << std::endl;
waitKey(0);
}
网友评论
对Microsotf.Cpp.Win32.User右键属性,再根据上面的配置opencv2.4
然后再对Microsotf.Cpp.Win64.User右键属性,再根据上面的方法配置opencv3.1
以后切换版本的时候直接点击菜单栏的x86或者x64切换就行了,不用再重新配置