WIN7+OpenCV3.3+QT5.9.1+Cmake3.9.1+VisualStudio2015环境配置经验分享

来源:互联网 发布:vb picture 图形放大 编辑:程序博客网 时间:2024/06/03 20:25

0、写在前面

最近在学习Opencv的知识,作为图像处理的小学生,光是配置这个环境就浪费了不少时间,写在这里是为了让他人少走弯路。好了,废话不说了,直接讲配置过程。

1、准备基本软件环境

系统:win7 64bit。

OpenCV3.3   OpenCV下载地址:http://opencv.org/downloads.html

QT5.9.1:Qt Creator下载地址:https://www.qt.io/download-open-source/

Cmake3.9.1:Cmake下载地址:https://cmake.org/download/ (推荐下最新版msi安装文件)

VisualStudio2015:https://www.visualstudio.com/zh-hans/downloads/

2、安装上面的这些软件

OpenCV3.3这个最简单,只需解压到你想放在的目录即可,然后配置一下系统环境变量path,这个不会配置的可以百度一下,很多教程的。这里说一下我的路径:D:\OpenCV\build\x64\vc14\lib


QT5.9.1的安装:可以下载图中的版本,安装时选择msvs2015的选项包即可:其他步骤很简单!


Cmake3.9.1的安装路径不要有中文和空格,防止出现错误!

Cmake的安装也比较简单,下载完安装文件之后,一路next即可。
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
安装过程大概2分钟左右,很快。 
这里写图片描述 
这里写图片描述

VisualStudio2015安装这里不详细说明了!读者可以自行百度!

3、使用Cmake编译OpenCV库

1.打开Cmake 
1)填写OpenCV3.1的源代码目录; 
2)生成目录(建议根目录,方便以后使用); 
3)点击配置;


配置编译器,这里使用VS2015 64位编译器,默认选择即可。点击Finish开始配置。



这里勾选一下点击红色区域的WITH,勾选WITH_QT 和 WITH_OPENGL,然后再次configure。 

如果出现错误,一般是路径不对,可以自己手动添加的,然后再次configure,直到所有的错误消失出现

然后点击Generate


此时编译器以及环境配置已经完成,下一步开始生成。 

4、使用msvs2015编译库

打开目标文件夹的工程


然后进行运行编译,每次大概20分钟。这是编译后的结果:分别Debug和Release

这里写图片描述

但这里面并不全是我们所需的文件,在生成的OpenCV目录里,只保留bin和lib就行了,其余都可以删除。

然后再把我们前面解压的OpenCV3.3的build文件中包含的include复制过来,就构成了我们所需的全部OpenCV文件。 


我们再为自己编译的OpenCV配置一下环境,以便以后的使用,在系统环境变量PATH中添加:

D:\opencvbuild\bin\Release;

D:\opencvbuild\bin\Debug;

D:\OpenCV\build\x64\vc14\bin;

5、在QT中配置OpenCV环境

新建一个Qt Application工程,在pro文件中添加 :

INCLUDEPATH+=D:\opencvbuild\include\opencv2
INCLUDEPATH+=D:\opencvbuild\include\opencv
INCLUDEPATH+=D:\opencvbuild\include
LIBS+= -LD:\opencvbuild\lib\Debug\
-lopencv_calib3d330d\
-lopencv_core330d\
-lopencv_dnn330d\
-lopencv_features2d330d\
-lopencv_flann330d\
-lopencv_highgui330d\
-lopencv_imgcodecs330d\
-lopencv_imgproc330d\
-lopencv_ml330d\
-lopencv_objdetect330d\
-lopencv_photo330d\
-lopencv_shape330d\
-lopencv_stitching330d\
-lopencv_superres330d\
-lopencv_ts330d\
-lopencv_video330d\
-lopencv_videoio330d\
-lopencv_videostab330d

然后main.cpp里:

#include<opencv2/opencv.hpp>
#include<iostream>
#include<cstdlib>
using namespace cv;
using namespace std;
int main()
{
    Mat src = imread("D:\\111.jpg",1);
    if(src.empty()){
        cout<<"ERROR:Cannot open the figure!"<<endl;
        exit(-1);
    }
    namedWindow("Test",WINDOW_AUTOSIZE);
    imshow("Test",src);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

最后结果:

写在最后:其他可以参考链接

http://blog.csdn.net/cv_jason/article/details/53078554

http://blog.csdn.net/jieyanzhe3873/article/details/73775620

http://blog.csdn.net/abcvincent/article/details/68486522

原创粉丝点击