zoukankan      html  css  js  c++  java
  • OpenCV3.3.0 Qt5.9.1 CMake3.18.5 VS2015 编译配置

    写这篇文章的初衷,学习C++也有一段时间了,Qt和OpenCV也简单的应用过,但这些之间的配置方法网上不同的文档真的是千差万别,实现的方式也是多种多样,这篇文章记录下自己实现的方式。

    参考的书籍是《OpenCV3和Qt5计算机视觉应用开发》,一个伊朗的视觉工程师的写的。

    1.前期准备

      安装好VS2015,Qt5.9.1,CMake3.18.5。解压好opencv3.3.0。注意环境变量的配置。

      CMake如果是exe安装文件,直接安装,安装过程中注意勾选“Add Cmake to the system PATH for all users”,意思是安装时会自动添加环境变量。

      CMake如果是zip压缩文件,直接解压,需要手动添加环境变量。路径是截止到bin为止,例如我的cmake-gui.exe放在了“C:Program Files (x86)cmake-3.18.5-win64-x64in”,那么环境变量就是它。

      opencv3.3.0解压位置是C:devopencv,Qt安装位置是C:QtQt5.9.1。环境变量如下:

      

    2.编译后的文件要存放到什么位置,一般是opencv下的opencv_build文件夹,区别下opencv解压后的build文件夹

     

       点击Finish后,要把BUILD_opencv_world的勾勾上,再次Configure,完事后Generate。

    3.VS编译OpenCV.sln

      用VS2015打开C:/dev/opencv/cmakeBuildx64下的OpenCV.sln,在这里有两种方式

        3.1 菜单栏中《生成》《批生成》,这个生成很耗时,至少十几分钟,但生成的是全部的opencv文件

        3.2  在解决方案资源管理器中选择“CMakeTargets“下的“INSTALL“,右键“仅用于项目“、“仅生成INSTALL(B)“ 这种是我从别的地方看来的,生成时在我的电脑上报错。

           我还是用3.1中的生成方式,不过只勾选了INSTALL的Debug|x64,也得生成好一会。事后如果需要Release版本,也可以再次生成,不过不要勾选已生成过的。

    4.添加环境变量C:devopencvcmakeBuildx64installx64vc14in到Path

     5.制作Qt的PRI文件

      PRI文件放在C:devopencv路径下,文件名为opencvx64.pri。注意笔者生成的是64位的。

    INCLUDEPATH += C:/dev/opencv/cmakeBuildx64/install/include
    Debug: {LIBS += -lc:/dev/opencv/cmakeBuildx64/install/x64/vc14/lib/opencv_world330d}
    Release: {LIBS += -lc:/dev/opencv/cmakeBuildx64/install/x64/vc14/lib/opencv_world330}

    6.编写测试Qt程序验证

      6.1 创建Qt时选择MSVC2015_64

      6.2 在pro文件最下方写上这句话

    include(C:/dev/opencv/opencvx64.pri)

      6.3 main.cpp文件代码如下,代码中的路径要写上图片的路径

    #include "mainwindow.h"
    #include <QApplication>
    #include "opencv2/opencv.hpp"
    using namespace cv;
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
        Mat image=imread("");
        imshow("Output",image);
        return a.exec();
    }
    main.cpp

    7.构建-->>执行qmake-->>运行,是否成功,在此一举,反正我的是成功了。就是因为我新建的qt没有qmake一下,差不多用一上午的时间去查看各种编译的文档,后来qmake了一下,就成功了。

      记得一定要qmake一下,不然可能会报错。

    8.在生成测试过程中遇到Qt无法运行rc.exe的错误,解决方案如下。

      8.1 32位的程序  C:Program Files (x86)Windows Kits10in10.0.18362.0x86中的rc.exe和rcdll.dll拷贝到C:Program Files (x86)Microsoft Visual Studio 14.0VCin(VS2015的安装目录下面)

      8.2 64位的程序  C:Program Files (x86)Windows Kits10in10.0.18362.0x64中的rc.exe和rcdll.dll拷贝到C:QtQt5.9.15.9.1msvc2015_64in(Qt的安装目录下面)

  • 相关阅读:
    我的软考之路
    VB成员函数集锦
    关于软件维护问题的几点思考
    element样式调整用到的东西
    JS实现旋转的魔方
    关于echarts 重绘/图表切换/数据清空
    CSS3 @keyframes 实现匀速旋转魔方(搬运工)
    在vue的js文件引入自定义js文件
    记录 vue+element树节点的标注
    echarts 设置图例文本不可点击
  • 原文地址:https://www.cnblogs.com/yangmengke2018/p/14267538.html
Copyright © 2011-2022 走看看