Qt编译OpenCV的实现步骤

 更新时间:2024年01月18日 09:40:34   作者:不朽の燃梦  
本文主要介绍了Qt编译OpenCV的实现步骤,通过详细的步骤和说明,帮助开发者在Qt环境中成功集成并编译OpenCV,从而为各类计算机视觉项目提供强大的支持,感兴趣的可以了解一下

1.CMake下载安装

官网地址:CMake - Upgrade Your Software Build System

(1)下载后双击安装

(2)进入安装界面,点击【Next】

(3)同意协议,点击【Next】

(4)将Cmake添加进用户变量,黄色框是创建桌面图标,可根据自己需要选择,点击【Next】

(5)选择路径,点击【Next】

(6)开始安装,点击【Install】

(7)安装完毕,点击【Finish】

(8)安装完毕,进行测试。

打开cmd黑窗,输入命令查看版本

cmake /V

2.OpenCV下载

OpenCV官网:Releases - OpenCV

opencv_contrib下载地址:GitCode - 开发者的代码家园

3.Qt编译OpenCV

(1)Qt配置CMake

(2)使用Qt打开opencv/sources/CMakeLists.txt

(3)开始配置Qt工程

打开这两个,然后提交:

编译:这个过程可能需要两个小时等待

如编译过程中出现错误:

Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj 
gcc: error: long: No such file or directory 

解决方法是根据build.make中的错误行,自己修改编译命令,手动生成vs_version.rc.obj,并重新执行mingw32-make命令编译。在终端执行命令:

windres.exe D:\opencv\opencv\build-sources-Desktop_Qt_5_9_0_MinGW_32bit-Default\modules\core\vs_version.rc -O coff D:\opencv\opencv\build-sources-Desktop_Qt_5_9_0_MinGW_32bit-Default\modules\core\CMakeFiles\opencv_core.dir\vs_version.rc.obj

(4)安装

勾选install,再构建

(5)使用

  • 库文件:D:\opencv\opencv\build-sources-Desktop_Qt_5_9_0_MinGW_32bit-Default\install\x64\mingw\lib\libopencv_*.a
  • 头文件:D:\opencv\opencv\build-sources-Desktop_Qt_5_9_0_MinGW_32bit-Default\install\include
  • DLL文件:D:\opencv\opencv\build-sources-Desktop_Qt_5_9_0_MinGW_32bit-Default\bin

Qt工程在使用OpenCV时需要将dll文件拷贝到程序运行目录下,然后需要在pro文件中加入:

INCLUDEPATH += $$PWD/OpencvLib/include
LIBS += $$PWD/OpencvLib/lib/libopencv_*.a

到此这篇关于Qt编译OpenCV的实现步骤的文章就介绍到这了,更多相关Qt编译OpenCV内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • C++深入刨析类与对象的使用

    C++深入刨析类与对象的使用

    类和对象是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型;变量就是可以变化的量,存储在内存中—个可以拥有在某个范围内的可变存储区域
    2022-05-05
  • C++实现LeetCode(172.求阶乘末尾零的个数)

    C++实现LeetCode(172.求阶乘末尾零的个数)

    这篇文章主要介绍了C++实现LeetCode(172.求阶乘末尾零的个数),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C++二叉树的创建及遍历详情

    C++二叉树的创建及遍历详情

    这篇文章主要介绍了C++二叉树的创建及遍历详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-07-07
  • C++11如何实现无锁队列

    C++11如何实现无锁队列

    这篇文章主要介绍了C++11如何实现无锁队列,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • C++中为什么要使用动态内存

    C++中为什么要使用动态内存

    大家好,本篇文章主要讲的是C++中为什么要使用动态内存,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • C与汇编混合编程的实现示例

    C与汇编混合编程的实现示例

    本文主要介绍了C与汇编混合编程的实现示例,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • C语言实现扫雷小游戏的全过程记录

    C语言实现扫雷小游戏的全过程记录

    这篇文章主要给大家介绍了关于C语言实现扫雷小游戏的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C++中memset函数用法详解

    C++中memset函数用法详解

    这篇文章主要介绍了C++中memset函数用法,结合实例形式详细分析了memset函数的功能、使用方法与相关注意事项,需要的朋友可以参考下
    2016-06-06
  • C语言中的内存泄露 怎样避免与检测

    C语言中的内存泄露 怎样避免与检测

    堆经常会出现两种类型的问题:1.释放或改写仍在使用的内存(称为:“内存损坏”)。2.未释放不再使用的内存(称为:“内存泄露”)。这是最难被调试发现的问题之一
    2013-09-09
  • Qt定时器类QTimer使用详解与注意事项

    Qt定时器类QTimer使用详解与注意事项

    Qt提供了两种定时器,一种是QObject类的定时器,另一种是QTimer类的定时器,这篇文章主要给大家介绍了关于Qt定时器类QTimer使用与注意事项的相关资料,需要的朋友可以参考下
    2023-10-10

最新评论