Qt 配置 OpenCV

embedded/2024/9/23 13:53:29/
  1. MinGW

  2. CMake

  3. 下载 OpenCV 源代码

  4. 使用 CMake 生成 OpenCV 的 Makefile

    1. // 设置源码 Where is the source code:
      C:\Program Files\OpenCV\source
      // 生成路径
      C:\Program Files\OpenCV\build
      
    2. 点击 Configure,设置编译器

    3. Specify the generator for this project: MinGW Makefiles

    4. Specify native compilers

    5. Next

    6. Compilers C: C:\Qt\Tools\mingw1120_64\bin\gcc.exe

    7. Compilers C++: C:\Qt\Tools\mingw1120_64\bin\g++.exe

    8. Finish

    9. 编译配置:

      1. CMAKE_build_type Release
        build_opencv_world 勾选 
        WITH_OPENGL 勾选 
        WITH_QT	勾选 
        WITH_OPENCL_D3D11_NV 不勾选 
        ENABLE_PRECOMPILED_HEADERS 不勾选 
        WITH_IPP 不勾选 
        python 不勾选 
        BUILD_JAVA 不勾选 
        
    10. 点击 Configure,Generate 生成 Makefile

  5. 编译 OpenCV

    cd C:\Program Files\OpenCV\build
    mingw32-make -j 16
    mingw32-make install
    
  6. Qt 使用 CMake 构建 文件末尾添加如下内容

    # 指向 OpenCV 的安装路径
    set(OPENCV_HOME "C:/Program Files/OpenCV/build")# 将 OpenCV 的头文件路径添加到项目中
    include_directories(${OPENCV_HOME}/include)# 设置 OpenCV 库文件的位置
    set(OpenCV_LIB_DIR ${OPENCV_HOME}/x64/mingw/lib)# 查找 OpenCV 库文件
    find_library(OpenCV_LIBS NAMES opencv_world490 PATHS ${OpenCV_LIB_DIR} REQUIRED)# 将 OpenCV 库链接到你的目标
    target_link_libraries(OpenCVQt PRIVATE ${OpenCV_LIBS})
    
  7. 来一段测试代码 将代码放入 main.cpp 文件中即可

    #include <QApplication>
    #include <opencv2/opencv.hpp>#include "widget.h"int main(int argc, char *argv[]) {cv::Mat img = cv::imread("C:/Code/OpenCVQt/lena.jpg");cv::imshow("img", img);cv::waitKey(0);QApplication a(argc, argv);Widget w;w.show();return a.exec();
    }
    

http://www.ppmy.cn/embedded/33067.html

相关文章

JVM-02

字节码文件是一种特殊的文件格式&#xff0c;它包含了将源代码转换为机器可执行代码所需的指令集。字节码文件通常是由编译器将源代码编译为字节码的中间表示形式。 在Java中&#xff0c;字节码文件的扩展名为.class&#xff0c;它存储了编译后的Java代码。这些字节码文件可以在…

vue设置必填项

表单&#xff1a; <el-form-item label"标题" prop"title" ><el-input placeholder"标题" v-model"form.title"></el-input></el-form-item> 在data中添加一个rules来规定 rules: {title: [{ required: t…

Golang日志管理精讲:`log`库的高级用法与性能优化

Golang日志管理精讲&#xff1a;log库的高级用法与性能优化 引言log库概览核心组件介绍日志级别的设置标准Logger与自定义Logger 基础用法创建基础日志实例日志级别的设置标准Logger与自定义Logger 高级技巧日志格式自定义多日志文件分流集成系统服务中的日志管理 并发与性能优…

【Nginx 开发】反向代理配置,负载均衡配置,动静分离配置

nginx 配置 反向代理配置负载均衡配置动静分离 反向代理 我们根据实例进行讲解&#xff0c;效果是通过在浏览器访问www.hlh.com,跳转到Linux系统的tomcat主页面中 第一步&#xff1a;在windows系统的host文件进行域名和ip对应关系的配置 在host文件中添加自己的地址映射 192.…

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律&#xff08;Moores law&#xff09;是由英特尔&#xff08;Intel&#xff09;创始人之一戈登摩尔提出的。其内容为&#xff1a;集成电路上可容纳的晶体管数目&#xff0c;约每隔两年便会增加一倍&#xff1b;而经常被引用的“18个月”&#xf…

C++关联容器1——map,multimap,set,multiset介绍,pair类型

目录 关联容器 使用关联容器 使用map 使用set 关联容器概述 定义关联容器 初始化multimap或multiset 关键字类型的要求 有序容器的关键字类型 使用关键字类型的比较函数 pair 类型 创建pair 对象的函数 关联容器 关联容器支持高效的关键字查找和访问。 两个主要的关…

Redis实际应用中的解决方案

Redis缓存使用问题 1数据一致性 分析一下几种方案&#xff1a; 1&#xff1a;先更新缓存&#xff0c;再更新数据库 2&#xff1a;先更新数据库&#xff0c;在更新缓存 3&#xff1a;先删除缓存&#xff0c;后更新数据库 4&#xff1a;想更新数据库&#xff0c;后删除缓存 …

【数据结构】集合与散列表

文章目录 集合基本概念静态查找表顺序查找顺序表查找有序表的顺序查找 折半查找非递归折半查找递归折半查找 分块查找 动态查找表二叉查找树查找递归查找非递归查找 插入递归插入非递归插入 删除递归删除非递归删除算法 散列表概念构造的方法平方取中法除留余数法 解决冲突的方…