方法一:使用官方提供的已编译好的文件
优点:方便快捷
缺点:版本限制
选择opencv-3.4.0-vc14_vc15.exe,下载完成后可以直接打开解压,即可在自己的项目中直接使用。
具体步骤为:
1.配置环境变量
打开电脑右键属性-高级系统设置-环境变量,Path中新增:E:\opencv\build\x64\vc14\bin(此处为解压对应目录)。
引入相应头文件、库文件、链接库
打开自己的工程,右键属性-配置属性-VC++目录-包含目录,新增:
E:\opencv\build\include\opencv
E:\opencv\build\include\opencv2
E:\opencv\build\include
库目录,新增:
E:\opencv\build\x64\vc14\lib(注意修改为你解压对应的目录)。
链接器-输入-附加依赖项,新增:
opencv_world340d.lib
至此所有准备工作就绪,可以愉快地编译自己的工程啦。
但想如此一劳永逸解决问题,需符合以下特点:你的VS版本是VC14(2015)或VC15(2017)。
另附几种对应关系:
Microsoft Visual Studio 6.0: VC6.0
Microsoft Visual Studio 2002: VC7.0
Microsoft Visual Studio 2003: VC7.1
Microsoft Visual Studio 2005: VC8.0
Microsoft Visual Studio 2008: VC9.0
Microsoft Visual Studio 2010: VC10.0
Microsoft Visual Studio 2012: VC11.0
Microsoft Visual Studio 2013: VC12.0
Microsoft Visual Studio 2014: VC13.0
Microsoft Visual Studio 2015: VC14.0
Microsoft Visual studio 2017: VC15.0
法二:自行编译
1.下载CMake,下载地址:https://cmake.org/download/
选择相应操作系统版本,例如我选择Windows win64-x64 Installer安装
2.使用CMake
在Where is the source code中选择OpenCV解压目录,如:E:/opencv-3.4.0/opencv-3.4.0。
一般可以在解压目录下新建一个build文件夹,用来存放编译生成的文件。
于是,在Where to build the binaries中填入该路径,如:E:/opencv-3.4.0/opencv-3.4.0/build。(也可自行选择路径)。点击Configure,选择所需环境,如:Visual Studio 2015。进入漫长的等待。如果区域有红色出现(可能是版本不对或者文件下载不成功等),需再次点击Configure,直到全部变成白色,Configuring done, 然后Generate一次,成功。
3.用VS2015编译,打开OpenCV.sln编译,Debug或者Release版本 ALL_BUILD。
4.加入opencv_contrib编译
5.添加到所需工程
根据法一:
添加环境变量:
E:\opencv-3.4.0\opencv-3.4.0\build\install\x64\vc14\bin
VS包含目录:E:\opencv-3.4.0\opencv-3.4.0\build\install\include
E:\opencv-3.4.0\opencv-3.4.0\build\install\include\opencv
E:\opencv-3.4.0\opencv-3.4.0\build\install\include\opencv2
库目录:
E:\opencv-3.4.0\opencv-3.4.0\build\install\x64\vc14\lib
链接器:
opencv_calib3d340d.lib
opencv_core340d.lib
opencv_dnn340d.lib
opencv_features2d340d.lib
opencv_flann340d.lib
opencv_highgui340d.lib
opencv_imgcodecs340d.lib
opencv_imgproc340d.lib
opencv_ml340d.lib
opencv_objdetect340d.lib
opencv_photo340d.lib
opencv_shape340d.lib
opencv_stitching340d.lib
opencv_superres340d.lib
opencv_video340d.lib
opencv_videoio340d.lib
opencv_videostab340d.lib
6.测试