• QT:编译opencv4.5.3


    软件版本

      QT:5.9.11
      OpenCV 4.5.3
      mingw 530(32位)
      cmake 3.15.3

    下载地址:

      opencv下载:https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/

      cmake下载:https://cmake.org/files/

      qt下载:http://download.qt.io/archive/qt/

    一. 安装Qt

      参考之前的QT安装,需要注意的是当前版本qt自带的mingw是32位的版本

    二.安装cmake

      需要文件:cmake-3.15.3-win64-x64.msi

      安装时需要选择将cmake加到系统环境变量。
    在这里插入图片描述

    在这里插入图片描述

    三 配置Cmake Gui

       打开 cmake-gui,设置源码和生成路径:

       where is the source code 填写的源码的文件夹

       where to build the binaries 填写用来存放编译完的文件夹

       填写好了之后,点击Configure.,如图选择(注意嵌入式板子上选择4交叉编译)
    在这里插入图片描述
    直接点击下一步。选择gcc,g++。这里选择Qt目录下面的gcc,还有g++,点击Finish
    在这里插入图片描述
       编译工具选择mingw32-make.exe
    在这里插入图片描述
       配置项一定要选WITH_QT和勾选 WITH_OPENGL(默认已勾选)
    在这里插入图片描述
       勾选之后点击Configure,等到进度条读完之后,再次依次配置:
    在这里插入图片描述
       生成了编译编译文件后直接进入需要编译的目录make即可
       参考https://blog.csdn.net/phr_nick/article/details/70485919
       mingw32-make -j 12
    在这里插入图片描述

    报错指南

    路径下找到OpenCVCompilerOptions.cmake注释掉add_extra_compiler_option(-Werror=non-virtual-dtor)
    在这里插入图片描述
    cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler …
    在这里插入图片描述
    windres.exe C:\Users\Administrator\Desktop\QT\qt_4input\opencv\opencv\opencv_build\modules\core\vs_version.rc -O coff C:\Users\Administrator\Desktop\QT\qt_4input\opencv\opencv\opencv_build\modules\core\CMakeFiles\opencv_core.dir\vs_version.rc.obj

       参考https://blog.csdn.net/G_C_H/article/details/124679040
    在这里插入图片描述

    在这里插入图片描述

    测试代码:

    QApplication app(argc, argv);
         QString version = CV_VERSION;
         qDebug()<<version;
         // 检查 OpenCV 是否成功移植
             cv::Mat bgr_image = cv::imread("test.png"); // 读取测试图片
             if (bgr_image.empty()) {
                 qDebug() << "无法读取测试图片";
                 return -1;
             }
             cv::Mat rgb_image;
             cv::cvtColor(bgr_image, rgb_image, cv::COLOR_BGR2RGB);
    
             // 如果成功读取图片,则说明移植成功
             qDebug() << "OpenCV 移植成功";
             // 将 OpenCV 图像转换为 Qt 可识别的图像格式
             QImage qimage(rgb_image.data, rgb_image.cols, rgb_image.rows, rgb_image.step, QImage::Format_RGB888);
             QPixmap pixmap = QPixmap::fromImage(qimage);
    
             // 显示图像
             QLabel label;
             label.setPixmap(pixmap);
             label.show();
             return app.exec();
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    PS:安装完成后需要重启电脑,环境变量添加才会生效。

    最后,祝自己生日快乐,节日快乐

  • 相关阅读:
    每日一练 | 华为认证真题练习Day122
    Three.js对模型进行多区域染色
    通过IP地址如何防范钓鱼网站诈骗?
    【java】 对命名规范的思考——VO,BO,PO,DO,DTO是什么
    数据治理:为什么不见BI作关联分析
    微信小程序踩坑记录
    github 的 Network graph 是什么玩意
    编码命名方式知多少
    C++中数组和指针的类似之处
    pinia下载使用时报错如何解决?
  • 原文地址:https://blog.csdn.net/qq_42330920/article/details/133278808