现网上有大量VS+opencv配置方法,而且方法基本都是只需第一次配置,以后无需重新配置。一次配置就一劳永逸的优势很明显,但也有一个很不方便的缺陷所在:假如你按照这样的方法配置了VS+opencv3,使用过程中用opencv3很方便,然而当你碰到难题需要上网求助,网上搜到大牛放出的代码超级完美的时候,却发现大牛用opencv2编写的程序你无法运行。作为刚入门的小白改编成opencv3又有些许困难.这是你想起来可以自己配置环境,于是下载opencv2进行配置,duang.duang.duang配置一通…结果失败了。而且opencv3竟然也不能再用了!!!故障原因也找不到。 上边其实是我初期遇到的问题,之后各种重装。。。。 下边介绍的方法:每次都需要重新配置项目,但优势在一个稳定!!opencv2和opencv3各种版本随便切换~~
Visual studio 2015下载安装
C盘容量不吃紧的话建议默认安装位置,毕竟速度快一点。(要用到opencv)组件选择:vc++ 和visual studio2015updata(其他有需要后期再安装)
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
-
opencv安装即解压,解压到合适的硬盘里。
环境配置:
- 新建win32控制台应用程序,选择空项目,并先创建一个.cpp源文件
- 右键项目–>属性:
a. c/c++ -->附加包含目录:opencv文件/build/include
b. 链接器–>常规–>附加库目录:opencv2文件/build/x86/vc12/lib(若使用opencv3文件/build/x64/vc14/lib)
c. Link–>输入–>附加依赖项(附加依赖项贴到教程最后opencv2和opencv3附加依赖项不一样,debug和release模式也不一样),最后点击:应用,确定
d. 将opencv2和opencv3如下文件夹中的所有文件拷贝到文件夹C/windows/system32和C/windows/sysWOW64中 :opencv2文件夹下的build/x86/vc12/bin 和 opencv3文件夹下的build/x64/vc14/bin
解决方案平台选择(如图):
如果出现如下错误,或者或者 “模块计算机类型X86与目标计算机类型X64冲突”,
对解决方案平台进行切换即可.
缺失文件下载:
配置完成后第一次测试代码可能会出现某.lib后缀文件不存在,出现这个问题的时候从网上搜索此lib后缀文件并下载放入opencv的lib库文件夹下,建议C/windows/system32和C/windows/sysWOW64中也复制进去,即可运行。
以上完成以后,就能欢乐的使用opencv了,下次新建项目按需求重复3,4步,选择合适的文件夹即可。虽然每次新建项目都要多花费一分钟,但是好在opencv2与opencv3切换使用无压力才最重要。
附上附加依赖项和测试代码:
附加依赖项:
(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);
}