Qt 搭建OPENCV环境,含无需编译和自行编译

这篇具有很好参考价值的文章主要介绍了Qt 搭建OPENCV环境,含无需编译和自行编译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

推荐使用编译好的opencv包,直接使用。本人使用opencv4.8.0——opencv4.1.0之间各个版本尝试编译,只有一次编译成功了,中间会出各种问题,简直折磨死人。建议不要安装到D:\Program Files (x86)和D:\Program Files这种文件路径内,在powershell界面不好操作,而且使用cd命令切换路径输入(x86)会无法识别,不好操作。

一. 不用编译配置

各种OpenCV对应的MinGW编译器编译的库下载地址:

github上有各个版本MinGW编译好的opencv库,下载地址为:https://github.com/huihut/OpenCV-MinGW-Build

下载完成后,将解压好的文件夹中的include文件夹地址添加到Qt 的pro文件中;同时将x86/mingw/lib和x86/mingw/bin 文件夹中的文件路径也添加到Qt 的pro文件中,如下图:

INCLUDEPATH += D:\Software\OpenCV-MinGW-Build-OpenCV-4.1.0\OpenCV-MinGW-Build-OpenCV-4.1.0\include

LIBS += D:\Software\OpenCV-MinGW-Build-OpenCV-4.1.0\OpenCV-MinGW-Build-OpenCV-4.1.0\x86\mingw\lib\libopencv_*.a \
        D:\Software\OpenCV-MinGW-Build-OpenCV-4.1.0\OpenCV-MinGW-Build-OpenCV-4.1.0\x86\mingw\bin\libopencv_*.dll

 注意:x86/mingw/bin 文件夹的路径必须添加到系统环境变量中,添加到环境变量之中可能要重启电脑,也可能不用重启;但是必须重启Qt。然后在Qt 随便建立个工程进行测试

#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    cv::Mat img = imread("E:\\QtFiles\\ImageCOM\\rc.jpeg");
    namedWindow( "Display window", WINDOW_AUTOSIZE );
    imshow( "Display window", img );
    Widget w;
    w.show();
    return a.exec();
}

运行后可以看到opencv读取了路径之中的图片并成功显示:

qt配置opencv,opencv,人工智能,计算机视觉

二. 自己编译opencv配置

我的编译环境
CMake:3.26.4
opencv: 4.6.0 或 4.8.0
Qt: 5.12.9

我是参考这位大佬的,大家自行查看吧,写的挺详细的,在此多谢这位大佬了:Qt配置OpenCV教程,亲测已试过(详细版)_Wi~的博客-CSDN博客

我主要讲解一下我在配置过程中遇到的问题,博主不想写代码的公举已经整理了大多数问题,非常具有参考价值,在此谢谢这位美丽善良可爱的公举了,Qt配置OpenCV教程及错误解决方法_qt配置opencv出错_不想写代码的公举的博客-CSDN博客

特别说明:1. 在CMake中点击configure 如果下面窗口出现红色警告等提示说明配置是有问题的,编译肯定无法通过的;2. 建议在CMake configure 过程中挂梯子,要不然会出现“could not resolve host name”的错误提示,详细解决方案见不想写代码的公举中的介绍。3. 配置无误之后在Generate生成的文件中打开powershell 输入mingw32-make -j 8进行编译

本人在编译过程中出现如下问题:

 Linking C static library ..\lib\liblibwebp.a
[ 15%] Built target libwebp
mingw32-make: *** [Makefile:165: all] Error 2

在CMake 中取消勾选WITH_WEBP 重新configure,generate并编译即可

接着又出现如下问题

[ 25%] Linking CXX shared library ..\..\bin\libopencv_core480.dll
D:/Qt/Qt5.12.9/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `CMakeFiles\opencv_core.dir/objects.a(vs_version.rc.obj)' is incompatible with i386:x86-64 output
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1936: bin/libopencv_core480.dll] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:1834: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make: *** [Makefile:165: all] Error 2

添加条目OPENCV_VS_VERSIONINFO_SKIP = 1,重新Configure,Generate编译

qt配置opencv,opencv,人工智能,计算机视觉

接下来编译会遇到各种各样错误,如下所示等等,选择反复编译,不用管这些错误,同时在D:\Software\opencv_4.8.0\opencv\opencv_build\lib\文件夹中可以看到生成的各种文件

[ 34%] Linking CXX shared library ..\..\bin\libopencv_imgproc480.dll
[ 35%] Built target opencv_imgproc
mingw32-make: *** [Makefile:165: all] Error 2

[ 40%] Linking CXX shared library ..\..\bin\libopencv_imgcodecs480.dll
[ 40%] Built target opencv_photo
[ 40%] Linking CXX shared library ..\..\bin\libopencv_features2d480.dll
[ 40%] Built target opencv_imgcodecs
[ 40%] Built target opencv_features2d
mingw32-make: *** [Makefile:165: all] Error 2

qt配置opencv,opencv,人工智能,计算机视觉

在进行反复编译后,直到多次遇见相同的错误 libprotobuf 时

mingw32-make[2]: *** [3rdparty\protobuf\CMakeFiles\libprotobuf.dir\build.make:676: 3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/wire_format.cc.obj] Error 1
mingw32-make[2]: *** [3rdparty\protobuf\CMakeFiles\libprotobuf.dir\build.make:481: 3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/descriptor.cc.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:1756: 3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all] Error 2
mingw32-make: *** [Makefile:165: all] Error 2

网上多数人说 取消勾选 ENABLE_CXX,但是我没有找到这个选项;但是取消勾选WITH_PROTOBUF,并重新configure,generate,编译。不出意外会一次性编译成功。

[100%] Linking CXX executable ..\..\bin\opencv_test_gapi.exe
[100%] Built target opencv_test_gapi

接着执行 mingw32-make install 命令,在D:\Software\opencv_4.6.0\opencv\opencv_build\文件夹下可以看到生成了install 文件夹,这个install文件夹才是我们最终想要的东西,将其路径添加到Qt pro文件中

qt配置opencv,opencv,人工智能,计算机视觉

INCLUDEPATH += D:\Software\opencv_4.6.0\opencv\opencv_build\install\include

LIBS += D:\Software\opencv_4.6.0\opencv\opencv_build\install\x64\mingw\lib\libopencv_*.a \
    D:\Software\opencv_4.6.0\opencv\opencv_build\install\x64\mingw\bin\libopencv_*.dll

添加测试代码

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    cv::Mat image=cv::imread("E:\\QtFiles\\cv_test\\61321.png");//一定要使用绝对路径,其他可以回报错
    namedWindow( "Display window", WINDOW_AUTOSIZE );
    cv::imshow( "Display window", image );
}

可以看到成功显示图片

qt配置opencv,opencv,人工智能,计算机视觉

本人利用此种编译过程成功编译好了opencv4.6.0和opencv4.8.0版本,亲测有效。

本人新手小白,很多配置步骤都不知道是干啥的,第一次写博客,欢迎大家评论区交流学习。文章来源地址https://www.toymoban.com/news/detail-715774.html

到了这里,关于Qt 搭建OPENCV环境,含无需编译和自行编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • OPENCV+QT环境配置

    【qt+opencv开发入门:4步搞定opencv环境配置2】https://www.bilibili.com/video/BV1f34y1v7t8?vd_source=0aeb782d0b9c2e6b0e0cdea3e2121eba 第一步: 安装QT Qt 5.15 第二步: 安装OPENCV VS2022 + Opencv4.5.5 + C++ 配置_愿飞翔的鱼儿的博客-CSDN博客 第三步: QT配置OPENCV

    2024年02月09日
    浏览(36)
  • Qt配置opencv环境

    说明:         在网上找了好多教程,opencv都编译不过去,最后踩了很多坑,把我的经验总结出来分享给大家。         本文对于Qt的安装不多描述,如果你装了Qt那么就不需要再装mingw和cmake工具了,只需要安装opencv就可以了。opencv下载地址:         Releases - OpenCV

    2024年02月16日
    浏览(40)
  • win10环境下搭建QT+opencv

    源码编译安装 免编译/cmake安装 vs2022环境安装 modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1 然后继续执行 ​ mingw32-make -j 8 进行编译。

    2024年02月07日
    浏览(49)
  • Opencv Win10+Qt+Cmake 开发环境搭建

    官网下载Opencv安装包 双击下载的软件进行解压 3. 系统环境变量添加 创建一个新的Qt项目(Non-Qt Project) 打开创建好的项目中的CMakeLists.txt,添加如下代码 main.cpp中添加以下代码 点击运行,显示图像则说明环境搭建成功

    2024年02月15日
    浏览(48)
  • 记录Qt和opencv 新环境配置过程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 为外出干项目做一些环境准备工作,需要重新配置电脑环境,那首先装的肯定就是Qt了,以前安装都没做记录,这次就记录一下吧,希望对大家有用。 提示

    2024年01月21日
    浏览(43)
  • 搭建 QT6+OpenCv4.7+CMake的环境

    本文主要介绍如何搭建QT6+OpenCv的开发环境,基本流程如下 先安装CMake3.27.3,用来编译适用用QT的OpenCv的源码,安装完成后要配置系统的环境变量 安装Qt6的开发环境,并配置环境变量,注意一定要重启电脑才能生效 下载OpenCv的源码,用于后面的编译 上述环境准备好后,使用

    2024年02月09日
    浏览(43)
  • VS2022+CMAKE+OPENCV+QT+PCL安装及环境搭建

    VS2022安装: Visual Studio 2022安装教程(千字图文详解),手把手带你安装运行VS2022以及背景图设置_vs安装教程_我不是大叔丶的博客-CSDN博客 CMAKE配置: win11下配置vscode+cmake_心儿痒痒的博客-CSDN博客 OPENCV配置: VS2022 + Opencv4.5.5 + C++ 配置_愿飞翔的鱼儿的博客-CSDN博客 VS2022安装Im

    2024年02月09日
    浏览(57)
  • 在Ubuntu18.04中搭建基于QT的opencv环境

    前言 在看这篇文章之前,需要读者已经安装了qt环境如果还没有安装可以移步至这篇文章的后半断 链接: qt移植 获取cmake-gui sudo apt-get install cmake-gui 这一步主要是一会儿编译opencv的时候会用到 获取opencv的依赖环境 sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcod

    2024年01月17日
    浏览(47)
  • Ubuntu 配置OpenCV 环境并在Qt下运行

    之前发过一篇Ubuntu20.04配置OpenCV3.4.14的文章,由于理解有限,其实配置方法不是很好,比如直接将OpenCV直接编译到了/usr/local/路径下,这样做会导致文件夹混乱,最好的方法是自建新一个文件夹并以编译的OpenCV+版本号命名,这样可以方便控制管理。后来和其他同学也讨论了一

    2024年02月16日
    浏览(39)
  • Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)

    1.opencv配置使用问题         opencv在cmake的时候有两个问题,ippicv长时间卡住下载失败,ffmpeg不会卡住但是也不会配置成功。所以这两个包只能手动下载安装。         ippicv是什么         OpenCV设计用于高效的计算,十分强调实时应用的开发。它由C++语言编写并进行了深

    2024年02月11日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包