转载:VS+opencv3.4配置+永久配置

时间:2024-03-29 14:54:44

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中去,而我们最大的问题就是没有对应的文件夹。如下图所示

转载:VS2013+opencv3.4配置+永久配置

2、解决方案

利用cmake生成一个~

3、使用工具

cmake:官网上直接下载最新版本即可;(按照步骤安装即可)

opencv3.4:官网上直接下载即可;(按照步骤解压即可)

Visual Studio 2013:这个官网上找不到了,但是百度能百度到下载资源的。(估计我以后也不会用这个版本了)

4、具体步骤

(1)新建文件夹opencv_vs2013_x64用于保存cmake生成的配置文件;

转载:VS2013+opencv3.4配置+永久配置

(2)打开cmake:在\cmake\bin里双击cmake-gui.exe打开

 

转载:VS2013+opencv3.4配置+永久配置

(3)设置cmake中相应参数

转载:VS2013+opencv3.4配置+永久配置

在红笔圈出的地方写入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,我们终于有它了!

转载:VS2013+opencv3.4配置+永久配置

(10)新建控制台工程OpencvTest

转载:VS2013+opencv3.4配置+永久配置

(11)选择View——>other Windows——>properties manager

转载:VS2013+opencv3.4配置+永久配置

这里说一下,如果没有Debug|x64,是因为Debug用的是Win32,需要更改;

转载:VS2013+opencv3.4配置+永久配置

更改方法见我的上份博客 贴个链接 

https://blog.csdn.net/lamusique/article/details/88826831

(13)双击Debug|x64中的Microsoft.Cpp.x64.user打开属性窗口,选择Common Properties——>VC++Directories——>Include Directories

转载:VS2013+opencv3.4配置+永久配置

添加以下三个目录

转载:VS2013+opencv3.4配置+永久配置

(14)选择通用属性——>VC++目录——>库目录,添加以下目录

转载:VS2013+opencv3.4配置+永久配置

(15)选择Common Properties——>Linker——>Input——>Additional Dependencies

转载:VS2013+opencv3.4配置+永久配置

添加以下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版本。(温馨提示:直接复制博文粘贴就行啦)

转载:VS2013+opencv3.4配置+永久配置

(16)还要把以下.dll的配置文件(存在D:\OPENCV\OpenCV3.4_VS2013_x86\bin\Debug中)复制到C:\Windows\System32(64位系统)   ||   C:\Windows\SysWOW64 (32位系统)目录下,否则会出现无法启动程序的错误

转载:VS2013+opencv3.4配置+永久配置

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

博主推荐一定安装最新最稳定的OpenCV包,像我这样太麻烦头疼了,都已经装了四次了,哎祝大家少历风霜,多获知识。