VS2013+opencv3.4配置+永久配置
博主已经安装了OpenCV3.1.0以及他的contrib_lib。后面为了学习他的dnn模块,就及时更新了他的OpenCV3.3.0用上了他的caffe模块,但是发现无法用上tensorflow的训练模型!
一查博客才知道原来他的readNetFromTensorFlow函数并不成熟,他并不支持Net net = readNetFromTensorflow(modelpath);具体参考博客 https://blog.csdn.net/xingchenbingbuyu/article/details/78416887。
所以我决定不卸载其他且再装一下OpenCV3.4.0!!!
[PS:安装3.3的时候参考的是这份博客:https://blog.csdn.net/jinian2614/article/details/78176704?locationNum=2&fps=1]
声明一下,这个其实是为了博主以后新电脑配系统备忘,主要参考了https://blog.csdn.net/nickcry/article/details/79148772,并且加上了博主个人在配置中遇到的一些问题,为将来的自己提供参考。
1、问题提出
在对于高版本VS配置opencv时,首先是要将\opencv\build\x64路径中对应版本的vc文件夹添加到环境变量中path中去,而我们最大的问题就是没有对应的文件夹。如下图所示
2、解决方案
利用cmake生成一个~
3、使用工具
cmake:官网上直接下载最新版本即可;(按照步骤安装即可)
opencv3.4:官网上直接下载即可;(按照步骤解压即可)
Visual Studio 2013:这个官网上找不到了,但是百度能百度到下载资源的。(估计我以后也不会用这个版本了)
4、具体步骤
(1)新建文件夹opencv_vs2013_x64用于保存cmake生成的配置文件;
(2)打开cmake:在\cmake\bin里双击cmake-gui.exe打开
(3)设置cmake中相应参数
在红笔圈出的地方写入opencv的路径,在蓝笔圈出的地方写上刚才新建的文件夹的路径,如图所示。
(3)点击左下角Configure(绿圈)选择编译器(Visual Studio 12 2013 Win64);这里博主选择了WITH_CUDA,感觉问题不大,可能是手红的原因。
(4)再次点击Configure,开始配置,直到下方提示Configure done表示配置完成;
(5)点击Generate(黄圈)开始生成,直到下方提示Generate done表示生成完成;
(6)点击Open Project(黑圈),之后就会进入VS2013的界面,cmake没用了,但先别关吧,稳一点;
(7)右键ALL_BUILD,选择build。时间可能会很长(6个小时);
在这里我遇到了第一个问题,生成完后出现了七个错误。但是会弹出对话框让你调整,调整就是了,由于是总结性质文章,没有截图了,抱歉;连续选了几个后就不再弹出了,这个时候rebuild一下就行了(又是6个小时)。之后就只有一个错误了,ignore it,我们进入下一步;
(8)右键INSTALL,选择build。时间可能会长,稳住;
(9)之后在path中添加…\opencv_vs2013_x64\install\x64\vc12\bin,我们终于有它了!
(10)新建控制台工程OpencvTest
(11)选择View——>other Windows——>properties manager
这里说一下,如果没有Debug|x64,是因为Debug用的是Win32,需要更改;
更改方法见我的上份博客 贴个链接
https://blog.csdn.net/lamusique/article/details/88826831
(13)双击Debug|x64中的Microsoft.Cpp.x64.user打开属性窗口,选择Common Properties——>VC++Directories——>Include Directories
添加以下三个目录
(14)选择通用属性——>VC++目录——>库目录,添加以下目录
(15)选择Common Properties——>Linker——>Input——>Additional Dependencies
添加以下17个库
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
以上库文件存在于\opencv_vs2013_x64\install\x64\vc12\lib目录下,其中带d的是debug版本,不带d的是release版本,我们这里选择debug版本。(温馨提示:直接复制博文粘贴就行啦)
(16)还要把以下.dll的配置文件(存在D:\OPENCV\OpenCV3.4_VS2013_x86\bin\Debug中)复制到C:\Windows\System32(64位系统) || C:\Windows\SysWOW64 (32位系统)目录下,否则会出现无法启动程序的错误
5、测试
#include<iostream>
#include<opencv2\opencv.hpp>
#include <opencv2\dnn.hpp>
using namespace cv;
using namespace std;
using namespace cv::dnn;
int main()
{
cout << "OpenCV Version: " << CV_VERSION << endl;
Mat image = imread("picture.jpg");
imshow("picture", image);
waitKey(0);
return 0;
}
6、永久配置
以上配置方法需要每个项目都进行配置,无法永久配置。永久配置方法参考博客:
https://blog.csdn.net/z345436330/article/details/84888622