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语言文件操作函数大全(超详细)

    本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下
    2013-05-05
  • 如何用矩形法(梯形法)求定积分

    如何用矩形法(梯形法)求定积分

    思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和
    2013-09-09
  • 必须知道的C语言八大排序算法(收藏)

    必须知道的C语言八大排序算法(收藏)

    这篇文章主要介绍了C语言八大排序算法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-10-10
  • C++深入探究不同的继承体系

    C++深入探究不同的继承体系

    继承是C++面向对象编程中的一门。继承是子类继承父类的特征和行为,或者是继承父类得方法,使的子类具有父类得的特性和行为。重写是子类对父类的允许访问的方法实行的过程进行重新编写,返回值和形参都不能改变。就是对原本的父类进行重新编写,但是外部接口不能被重写
    2022-05-05
  • C语言实现简单学生成绩管理系统

    C语言实现简单学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C++关于字符的接收与输出操作示例

    C++关于字符的接收与输出操作示例

    这篇文章主要介绍了C++关于字符的接收与输出操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • C++使用宏实现动态库加载

    C++使用宏实现动态库加载

    开发的时候,有些项目不能静态链接动态库,需要程序运行时加载动态库。本文将使用宏来实现动态库的加载,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 基于C++中setiosflags()的用法详解

    基于C++中setiosflags()的用法详解

    下面小编就为大家带来一篇基于C++中setiosflags()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 详解c++中的异常

    详解c++中的异常

    程序在运行过程中,有对也就有错,正确那么就不用说了,但是如果错误,那么我们如何快速的定位到错误的位置,以及知道发生了什么错误。当一个函数发现自己无法处理的异常,就会抛出一个异常,让函数调用者直接或者间接的处理这个错误。本文将详解介绍c++中的异常
    2021-06-06
  • 详解C语言整数和浮点数在内存中的存储

    详解C语言整数和浮点数在内存中的存储

    这篇文章主要介绍了C语言整数和浮点数在内存中是如何存储的,文中有详细的代码示例供大家参考,对大家了解学习C语言整数和浮点数在内存中的存储有一定的帮助,需要的朋友可以参考下
    2024-03-03

最新评论