QT+opencv源码编译

这篇具有很好参考价值的文章主要介绍了QT+opencv源码编译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

时间记录:2024/1/20

一、版本介绍

QT5.12.7+cmake3.22.0+opencv4.5.4

二、编译步骤

(1)下载opencv源码,然后安装,opencv的安装即对源码的解压过程,解压后的文件目录如下
QT+opencv源码编译,QT,qt,opencv,c++
(2)opencv安装解压后的目录介绍:

  1. build文件夹vs编译源码后的文件,QT项目使用vs套件编译的可以直接使用本文件夹下的文件
  2. sources文件夹opencv的源代码,mingw32套件编译qt源码的项目需要先使用mingw32编译器编译opencv源码,然后引入QT进行使用。

(3)配置环境变量,将cmake和QT的mingw32编译器的路径添加到Path环境变量中(注意:QT两个路径)
QT+opencv源码编译,QT,qt,opencv,c++
(4)QT的两个路径,一个是gcc和g++所在的路径,一个是qmake所在的路径
(5)打开cmake-gui界面,"Where is the source code"选项选择opencv源码的文件夹,"Where to build the binaries"选项选择一个新建的文件夹保存编译后的文件和编译过程中产生的中间文件
QT+opencv源码编译,QT,qt,opencv,c++
(6)选择完毕后,点击左下方的Configure按钮配置mingw32编译器
QT+opencv源码编译,QT,qt,opencv,c++
(7)选择MinGW Makefiles,"Specify native compilers"自定义编译器
QT+opencv源码编译,QT,qt,opencv,c++
(8)编译器选择QT的Tools目录下对应套件下的gcc和g++编译器来编译c和c++程序
QT+opencv源码编译,QT,qt,opencv,c++
(9)点击Finish便会开始进行opencv默认组件的编译
(10)ffmpeg下载报错,原因ffmpeg在外网,网络连接失败/超时
QT+opencv源码编译,QT,qt,opencv,c++
解决办法:
  https://github.com/opencv/opencv_3rdparty下载正确版本的ffmpeg,opencv4.5.4对应版本20211005,将下载的文件中“ffmpeg_version.cmake”、“opencv_videoio_ffmpeg.dll”和“opencv_videoio_ffmpeg_64.dll”三个文件复制到opencv的下载缓存文件夹“sources.cache\ffmpeg”中,然后打开cmd窗口切换到此文件夹,然后输入命令“certutil -hashfile 文件名 MD5”查看文件的MD5码,查看和未下载成功文件的MD5码是否相同,相同则修改文件名,然后重新点Configure
QT+opencv源码编译,QT,qt,opencv,c++
修改前文件
QT+opencv源码编译,QT,qt,opencv,c++
修改后文件
QT+opencv源码编译,QT,qt,opencv,c++
文件大小不对便是没有下载成功
(11)Configure之后窗口没有报红便编译成功了
QT+opencv源码编译,QT,qt,opencv,c++
(12)组件设置,可以在Search框中直接搜名字查找
QT+opencv源码编译,QT,qt,opencv,c++
”CMAKE_BUILD_TYPE“设置编译类型,Debug和Release
”WITH_1394“选择框选中
“WITH_OPENGL”选择框选中
“WITH_QT”选择框选中
其他的选项保持默认即可,然后再次点击Configure
(13)Configure完毕后将QT的一些路径进行设置为自己本地安装的QT路径,这是以后编译QT项目时候使用到的文件查找路径,设置完毕后再次Configure
QT+opencv源码编译,QT,qt,opencv,c++
(14)框中显示Configure done便完成了配置
QT+opencv源码编译,QT,qt,opencv,c++
(15)点击Generate生成Makefile,完成后显示“Generating done”
QT+opencv源码编译,QT,qt,opencv,c++
(16)关闭cmake-gui,打开cmd,切换到opencv的编译路径下,开始使用mingw32进行编译安装,“mingw32-make -j8”,使用Makefile进行编译,“-j 8”表示使用8个线程进行编译,编译速度快一些,编译前可以先查看一下电脑的线程数
(17)编译libopencv_corexxx.dll报错中断退出
QT+opencv源码编译,QT,qt,opencv,c++
解决办法:返回cmake,添加Entry,名字为OPENCV_VS_VERSIONINFO_SKIP,Value选中,将CMAKE_CXX_FLAGS选项的值修改为“-std=c++11”,支持c11,然后再次Configure,Generate,mingw32-make -j8进行编译,成功编译后进行安装
QT+opencv源码编译,QT,qt,opencv,c++
(18)使用mingw32-make install命令进行安装,安装成功后便会在同级目录下生成一个install文件夹,这个文件夹下便是mingw套件编译源码后的文件
QT+opencv源码编译,QT,qt,opencv,c++

三、QT中使用opencv

(1)将opencv的install文件夹下的“\x64\mingw\bin”,路径添加到环境变量Path
(2)新建QT项目,注意:选择编译套件的时候一定要选择和opencv编译时候用的套件一致
(3)QT项目在pro文件中使用INCLUDEPATH引入opencv的头文件,LIBS引入opencv的静态文件

INCLUDEPATH += D:\apps\Opencv\opencv\mingw32-build\install\include
LIBS += D:\apps\Opencv\opencv\mingw32-build\lib\libopencv_*.a

(4)引入头文件#include “opencv/opencv.hpp”
(5)使用cv命名空间using namespace cv;
(6)使用opencv中的函数编写项目
(7)发布程序,使用windeployqt程序将qt的dll文件复制到程序目录下,然后运行程序,因为缺少opencv的dll文件会报错,程序无法运行,根据报错时提示缺少哪些dll文件,到opencv的install目录下复制到发布的应用程序同级目录下,问题解决。文章来源地址https://www.toymoban.com/news/detail-811176.html

到了这里,关于QT+opencv源码编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt配置OpenCV【视频+编译好的OpenCV文件百度网盘】

    这是我们一个项目中用到l Qt和OpenCV,但是我配置OpenCV总是搞不好他的编译。后面才发现,原来可以直接用别人编译好的就行了。 给我的教训就是,先得弄懂一些基本的知识,比如opencv安装下来的目录有啥,配置的dll文件,Qt的INCLUDEPATH和LIBS是什么…等等。由于我只是想跑起来

    2023年04月08日
    浏览(84)
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8

      上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。     系统版本:      参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》   

    2024年02月08日
    浏览(55)
  • Qt配置OpenCV教程,无需复杂的编译过程,(详细版)

    win10系统Qt5.9.2配置OpenCV4.5.0库教程(其中OpenCV库已经编译过的,可以直接用) Qt和opencv安装包资源 云盘链接:https://pan.baidu.com/s/1stA2sQzfpiuyG8rtooJJ4A  提取码:809t          话不多说,配置过程如下:双击Qt的安装包 一、Qt的安装 点击next 点击Skip   设置安装路径(我是把qtCreato

    2024年02月08日
    浏览(52)
  • 飞腾ARM UOS编译Qt 5.15.2源码及Qt Creator

    在 ARM 架构下,UOS 系统,需要使用 Qt 5.15.2 版本环境,所以只能通过源码编译的形式进行 Qt 环境的部署。 软硬件相关信息: 处理器: 飞腾 FT-2000 4 核 制造商: Phytium 架构: aarch 64 家族: ARMv 8 系统:UOS V 20 1060 内核:4.19.0-arm 64-desktop 这里选择的是国内的镜像地址进行下载源码。

    2024年02月03日
    浏览(41)
  • Qt4.8.6 源码编译流程详解

    1.Qt官网网址:http://download.qt.io/archive/qt/4.8/4.8.6/qteverywhere-opensource-src-4.8.6.tar.gz 下载 Qt 4.8.6 的源码包后,在命令行输入: sudo tar -xvf qt-everywhere-opensource-src-4.8.6.tar.gz 完成源码包解压 2.下面我们需要构建我们的交叉工具链进行编译,如果直接在x86下编译,则默认的工具链即可编

    2024年02月12日
    浏览(42)
  • QT----opencv4.8.0编译cuda版本,QTcreater使用

    cuda12.1 opencv4.8.0 vs2019 cmake3.29 打开cmake,选择opencv480路径,build路径随意 点击configure后,选择这些选项,opencv_word,cuda全选,with_qt,NONFREE,4.8.0第三方模块的路径 点击config后,添加qt的安装路径,打开两个fast,将arch显卡算力设置为自己显卡的算力,打开with_OPENGL 取消勾选这三个

    2024年04月09日
    浏览(60)
  • Windows环境利用QT+CMake编译mingw版本的opencv

    Opencv官网没有提供mingw版本的opencv库,所以需要自己编译,下面是编译过程,32位64位方法类似。 可以直接下载编译好的mingw版本opencv4.4: 使用CMAKE3.22+QT5.13编译后的opencv4.4(32位的)资源-CSDN文库 如果网络不好,可能会需要自己手动下载下面的文件:  opencv_videoio_ffmpeg.dll+ope

    2024年02月13日
    浏览(51)
  • Qt5.15.2 Webassembly源码裁剪编译

    第一步:      .configure -debug-and-release -opensource -prefix \\\"D:qt-everywhere-srccompFile\\\" -platform win32-g++ -nomake examples 第二步:     mingw32-make -j4 第三步:     mingw32-make install   编译core与gui模块:     C:Qt5.15.2yuanmaqt-everywhere-src-5.15.2qtbasesrcgui     C:Qt5.15.2yuanmaqt-everywhere-src

    2024年02月10日
    浏览(57)
  • VS2022编译安装Qt6.5源码

    包括安装VS2022,Windows SDK,Python3,这里就不再一一介绍了,需要说明的一点是如果要编译 QtWebEngine 和 QtPdf 两个组件的依赖问题,当然如果不需要,也可以不管它,则不会编译。 python库 html5lib : 使用 pip install html5lib 安装。 gperf、bison、flex 如果安装有Qt 5的Windows版本,比如

    2024年02月04日
    浏览(74)
  • Qt —— 编译Qt5版本QFTP库,并实现连接服务、获取列表、上传、下载、删除文件等操作(附源码、附基于Qt5编译好的QFTP库)

    示例效果1   示例效果2   介绍      QFTP是Qt4的库,Qt5改用了QNetworkAccessManager来代替。但是Qt5提供的QNetworkAccessManager仅支持FTP的上传和下载,所以只能 将QFTP库编译为Qt5的库来进行调用。      QFTP在Github的下载地址:https://github.com/qt/qtftp   客户端源码生成的rele

    2024年01月20日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包