Qt+OpenCV配置历程

Win7平台下 opencv2.4.11+CMake+Qt5.8.0 开发环境配置 为了把代码往arm-linux移植,准备先用qt来重新编译代码。结果用了整整一天半的时间,终于配置成功了。 其中的过程是一步一个坎,极为坎坷,看博客看得要吐,部分环节投机取巧,所幸最后配置成功。 现在就把这一天半以来的配置历程总结一下,也为大家提供借鉴。第一次此写技术博文,多有不足之处,望大家指出改正。 第一步:下载并安装opencv2.4.11,Qt5.8.0,CMake( ht 阅读详情

零、前言

    初来实验室,接触的第一个项目就是用Qt与OpenCV做的图像识别。本来查了一下教程,挺简单的一个配置环节,哪知道配置的过程一波三折。但是这次曲折的过程,却也让我有所收获。

一、Qt与OpenCV环境的配置

    配置环境的是在官网下载Qt和OpenCV了,Qt的官网下载地址是:https://www.qt.io/download/,OpenCV的官网下载地址是:https://opencv.org/releases.html。

    一开始我没有注意版本问题(于是隐患就此埋下),我直接下载了比较新的两个版本,Qt5.8与OpenCV3.4,我用的IDE是VS2017,Qt配置步骤如下:

    1.运行qt-opensource-windows-x86-msvc2015_64-5.8.0,一步步安装即可;

    2.打开VS的工具→扩展和更新,搜索Qt Visual Studio Tools,安装;

    3.将Qt文件夹下的bin路径配置到系统的环境变量中;

    4.重新打开VS,此时已经出现了一个新的选项卡→Qt VS Tools,打开该选项卡的Qt Options选项,点击Add按钮,选中msvc文件夹并确定即可。

    然后是OpenCV,这个配置看起来更简单,步骤如下:

    1.打开安装包,一路点确定即可;

    2.将OpenCV文件夹下的build\x64\vc15\bin路径配置到系统的环境变量中。

    做到这里都还是比较顺利的,此时我重启了计算机,使环境变量生效,准备配置项目属性。、

二、在项目中配置Qt

    项目属性的配置也不算复杂,打开属性管理器,右键本项目选择属性,在VC++目录中的包含目录栏,添加Qt和OpenCV的include文件夹路径,在库目录栏添加OpenCV的lib文件夹路径,没有其他步骤了,但是当我编译代码的时候,就开始报错了。

    由于我下载的Qt与OpenCV的版本跟项目所用的版本相差太远,果不其然地报错了。于是我下载了与项目版本一致的Qt4.8.6,并将项目属性中的include改为4.8.6版本的路径,但是一经编译,还是报错。这就奇怪了,版本我也按照项目的版本设置在项目属性中了,怎么还是报Qt的错呢?

    仔细检查过后发现,Qt Options选项中的地址配置的依然是Qt5.8.0的路径,这就难怪了。而且令人窒息的是,Qt Options选项并不能配置4.8.6的地址,换而言之,4.8.6的Qt,没有msvc这个文件夹,因此没有办法配置到Qt Options,这就麻烦了。

    经过查阅资料,我发现5.6版本之前的Qt是通过Qt Visual Studio Add-in来配置的,而5.6及以后的版本则是通过Qt VS Tools,于是我下载了一个Add-in,然而安装了之后完全没有用,VS依然只有Qt VS Tools选项卡,而不是Add-in对应的Qt选项卡。 再研究好一阵,发现项目用的是VS2010来开发的,玄机可能就在这里。

    由于官网遛了一圈没有发现旧版本的VS,在刘师兄的建议下,我在ITellYou上面下载了2010版本的VS,再一次配置过后,传说中的Qt选项卡终于出现了。Qt选项卡的设置就比较简单,地址配置只需要选择它所在的路径即可,不要求有msvc文件夹。这一次终于不再报Qt的错误了,然而OpenCV的错误也终究要面对。

三、在项目中配置OpenCV

    这又是一个谜之错误,Qt和IDE的环境中,我在版本问题上吃了亏,面对OpenCV我依然不长记性,一开始面对的问题是计算机位数问题,因为我的计算机是64位,因此我配置环境的时候是按64位配置的,然而项目原本却是在32位的平台上跑,于是又报错了,解决方案是把项目属性→链接器→高级→目标计算机改为MachineX86,并引用32位的OpenCV文件。

    由于OpenCV官网没有与项目一致的2.4.6版本,于是我下载了与之版本比较接近的2.4.10版本。此时又出现了dll文件不匹配的问题(附加依赖项不匹配),我于是鬼使神差地把附加依赖项引入的文件改成2.4.10的文件,多退少补,这下不会报不匹配的错了,转而报各种类和函数的错误,好吧,看来还是版本问题,老老实实地去找2.4.6版本来解决问题。

    漫漫求索的长路由此开始,这个版本的安装包很邪门地就是找不到,官网是下架了该版本,它之前和之后的版本都有,偏偏这个版本就没有,甚至google上搜也找不到,正当陷入僵局之时,实验室的一位同学突然提醒我,Git上应该有源码。此刻我才醍醐灌顶如梦方醒,而下架了这个版本的OpenCV团队可能也是百密一疏,并没有从Git上撤下这个版本的源码,这下问题就解决了。

四、事后的总结与思考

    一切配置完成后,项目正常地编译运行了,于是到这周结束我才正式进入看代码阶段,进度算是相当缓慢了。

    关于这个过程我还有几点总结与思考:

    1.越怕麻烦就越麻烦,一开始总想着用其他方法来代替,以避免找版本的麻烦,结果适得其反;

    2.遇到麻烦不要怕,有麻烦往往意味着有收获,解决问题就是在不断学习;

    3.OpenCV为什么要单单下架2.4.6版本呢?是因为有重大Bug因此禁止用户使用吗?为什么我们项目还要选用这个版本呢(这一点是一位朋友跟我聊的时候提醒我的)?


    配环境还只是第一步,我希望自己在接下来的项目历程中,可以更高效、更有条理地解决问题与完成任务。如有不到之处,还请各位多指教啦。

【AI辅助生成】QT发展演化路径、技术需求、发展趋势 这篇博客使用AI技术辅助生成。 QT作为一款跨平台的C++图形用户界面应用程序框架。QT作为全球领先的GUI框架之一,发展历程反映了技术演进的轨迹。这篇博客将深入剖析QT的发展历程、技术需求、应用案例及未来趋势。 阅读详情

相关推荐

Qt-OpenCV开发环境搭建(史上最详细)

一、环境介绍 系统:Windows10 IDE:Qt 5.13 OpenCV版本:3.4.11 二、OpenCV下载 打开OpenCV官网:http://opencv.org,点击Release下载OpenCV 三、OpenCV结构介绍 Sources:是当前版本的OpenCV源代码; Windows:Windows环境下编译好的文件(build)+源码; IOS pack:IOS环境下编译好的文件(build)+源码; Android:Android环境下编译好的文件(build)+源码;

贝勒里恩的博客 4万+

ubuntu下配置qt+opengl+opencv

本文博客链接:http://blog.youkuaiyun.com/jdh99,作者:jdh,转载请注明.     恩,开始学习图像处理,有同好的同学可以互相探讨.     我的平台:ubuntu10.04+qt+opengl+opencv     opengl是qt自带的,windows下的版本opengl库已经随同qt的windows发行版一同安装,linux版本则没有安装.       1.首

jdh99的专栏 1万+

Qt结合OpenCV的图像处理应用开发

在现代软件开发领域,Qt和OpenCV已经成为了两个不可或缺的工具库。它们分别是跨平台应用程序和计算机视觉领域内的重要成员。本章将对这两个库做一个全面的介绍。Qt框架的核心之一是它的模块化设计,它提供了一整套的模块来覆盖软件开发中的多个方面,如GUI界面、网络、数据库访问等。模块化使得开发者可以根据需要仅使用特定的部分,保持应用程序的轻量级和高效性。此外,Qt还提供了一个强大的信号槽机制来处理事件。信号槽是一种高级抽象,允许对象之间的通信,而不必关心对方的具体实现。

weixin_42510243的博客 1526

Qt中配置OpenCV

Qt中配置OpenCV1. 环境下载2. 进行编译和安装2.1 新建opencv-build文件夹,用于opencv的 编译和安装(直接在opencv下新建即可)2.2 CMake设置2.2.1 选取源码路径 和 编译路径其它问题 1. 环境下载 Qt-5.14.2 + opencv-4.4.0 + opencv_contrib-4.4.0 + cmake-3.19.8-win64 在进行配置时请严格按照此版本配置进行,不同版本之间配置过程会有较大差异,因此这里会提供软甲安装包。 套装下载位置: qt

qq_38662733的博客 1万+

Qt与OpenCV库集成的环境搭建指南

Qt是一个跨平台的应用程序和用户界面框架,广泛用于开发复杂的图形用户界面和跨平台应用程序。Qt Creator是Qt的官方集成开发环境(IDE),它提供了代码编辑、编译、调试等功能,使得开发者能够更加高效地工作。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它最初由Intel于1999年启动,并在2000年发布了第一个公开版本。由于其跨平台性、高效性和开源特性,OpenCV很快成为计算机视觉研究和开发中的一个重量级工具。

weixin_29215509的博客 1175

利用OpenCV和Qt设计图片显示GUI应用

本文还有配套的精品资源,点击获取 简介:在计算机视觉领域,OpenCV是图像处理和视觉任务的重要工具。为了增强用户交互性,需要图形用户界面(GUI),而Qt则提供了创建美观且功能丰富用户界面的能力。本教程将介绍如何在VS2008环境下,通过结合OpenCV和Qt,构建一个能够显示图片的GUI应用程序。首先,确保系统安装了OpenCV、Qt库和Visual Studio 20...

weixin_42462474的博客 866

【QT】QT搭建OpenCV环境

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。QT的安装这里不做介绍,傻瓜式安装,只是在选择模块的时候,如果内存足够就全部勾选,如果内存不够,以后用到需要的模块时可能就比较麻烦,这点是不如VS的,可以追加下载,QT我研究过,没搞出来,都是重新安装的。

Cain Xcy的博客 1万+

OpenCV和Qt实现的视频传输项目

视频编码是将视频数据转换为更高效的格式以减少文件大小或传输带宽需求的过程。H.264(AVC)和H.265(HEVC)是两种广泛应用于视频编码领域的标准,分别代表了不同时期的技术突破。H.264,也称为高级视频编码(AVC),是一种广泛使用的视频压缩标准。它提供高压缩率的同时,还能保持较高的视频质量。H.264编码广泛应用于蓝光光盘、数字视频广播和互联网视频共享服务。H.265,或称高效视频编码(HEVC),是H.264的继承者,旨在以相同的视频质量提供两倍的压缩率。

weixin_33173126的博客 1152

QT中OPENCV的配置(含扩展库)

QT里面添加OPENCV的库,和PYTHON里面会有点区别,这个是环境的配置

weixin_56228140的博客 5670

基于OpenCV和QT的变电站视觉状态识别系统设计与实现

htmltable {th, td {th {pre {简介:本项目旨在开发一个基于OpenCV和QT的视觉处理系统,用于识别变电站控制室内指示灯的状态。系统结合了移远EC20 4G模块实现远程通信,涉及计算机视觉、嵌入式开发和网络通信等多领域知识。关键技术包括图像预处理、特征提取、目标检测以及利用QT框架构建用户界面和与硬件的集成。系统架构可能采用客户端-服务器模式,实现远程监控与数据处理,并提供完备的测试与文档支持,以确保系统的正确性和稳定性。

weixin_42515392的博客 742

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

QT 配置Opencv+gdal心得

QT配置gdal和opencv的踩坑回忆录

m0_55371618的博客 1480

Apache NiFi新手必看:从零开始的数据流设计入门教程(含实战案例)

本文为Apache NiFi新手提供从零开始的数据流设计入门指南。通过实战案例,详细讲解了如何利用这一强大的数据采集工具,以可视化拖拽方式构建自动化数据流,实现从文件监控、内容处理到数据入库的全流程,并涵盖核心概念、环境搭建及生产环境调优要点。

weixin_29066781的博客 148

我的开篇博客

- 些许废话 这是我的第一篇博客,以下内容纯属测试,和代码经验无关。 大学C语言挂科后,发誓今生不会从事和代码相关工作; 然命运弄人,硕士毕业后,光学测控出身的我,被老板一纸命令,调遣至红外目标检测跟踪的队伍。 Oh,no。 没有队伍,是单枪匹马。 从哭着喊着问大学教授VS是什么,它和opencv有什么奇妙关系,到Cuda并行分块,后来接触些许多线程的概念,也调试QT界面工程,现在在p...

小名double木 488

一篇关于轴承故障诊断的综述

在设备的故障检测中,有约30%-40%的设备故障是由轴承故障引起的,因此本文将列举有关检测轴承故障使用到的相关数据集,模型和算法。 数据集 现有的数据集,普遍由固定在电机马达上的两个震动检测器获得,并根据需要,分离震动数据在时域和频域上的特征以供网络模型学习。 不同的数据集,区别在于,检测的马达转速不同,环境不同,取样频率不同,一段样本的时长不同等等 (1)Case Western Reserve University (CWRU) Dataset 该数据集拥有多种数据,测量的时候,通过改变轴承.

weixin_42036144的博客 2万+

Arduino读取串口接收到的数据并发送数据

Arduino读取串口接收到的数据并发送数据 源程序: void setup() { Serial.begin(115200); } void loop() { String comdata ; while (Serial.available() > 0) { comdata += char(Serial.read()); delay(2); } if (comdata.length() > 0) { Serial.print("串口接收到的数据:"); Serial.println(comd

perseverance51博客 1万+

OpenCV3+Qt5安装及配置

Qt5的安装这里就不说了,只说opencv3的编译、配置到Qt5及如何使用。说明:本文参考了大神的文章:http://blog.youkuaiyun.com/sinat_36264666/article/details/73200739,在此表示感谢。本文只为记录自己的学习历程以及心得归纳总结,如果能帮到其他人也甚感欣慰。在按照本文进行配置之前,有下载opencv3.3.1安装,之后一直测试失败,寻找各种解决...

壁立千仞无欲则刚的博客 1万+

yolov26改进 | 融合改进篇 | 基于 MobileNetV4 和双向特征金字塔网络BiFPN的融合改进(全网独家首发)

本文介绍BiFPN与MobileNetV4融合改进的YOLOv26。许多模块单独使用能够涨点,但直接叠加后可能因功能重复、通道不匹配、尺度冲突而掉点,因此融合前必须理解各模块作用。MobileNetV4利用UIB与Mobile MQA构建轻量主干,提升特征提取能力;BiFPN通过可学习权重完成双向多尺度融合,强化大、中、小目标的信息交互。两者优化Backbone与Neck,功能互补、结构冲突较少。本文提供代码、配置、消融对比及Codex修改思路,MobileNetV4也可替换其他主干,便于组合实验与二次创新

Snu77的博客 239

【Qt+OpenCV配置简介】

【Qt&OpenCV】Qt+OpenCV配置简介 文章目录【Qt&OpenCV】Qt+OpenCV配置简介前言一、Qt安装二、OpenCV安装Qt配置OpenCV测试​总结 前言 越来越多的开发人员选择基于开源的Qt框架与OpenCV来实现界面和算法,其原因不单单是无版权问题,更多是两个社区的发展蓬勃,可用来学习的 资料与例程特别丰富。以下是关于两者的配置,这是关于学习历程的开始。 软件版本:Qt-5.12.0/OpenCV-4.5.3 平台:Windows10/11--64

richard_yuu的博客 4736

【JAVA】海康威视门禁机ISAPI接口开发,人脸上传更新接口

本文实现了一个HTTP工具类HTTPClientUtil,提供GET/POST/PUT/DELETE请求方法,支持摘要认证。工具类封装了Apache HttpClient,设置连接超时、最大连接数等参数,通过DeviceInfoDTO传递设备IP、端口和认证信息。文中还展示了两个应用示例:userInfoAdd()用于添加人员信息,FaceDataRecordAdd()用于添加人脸数据,均通过POST请求与设备ISAPI接口交互。该工具类简化了HTTP请求处理,支持设备管理系统的集成开发。

qq_27246521的博客 587

论文阅读:Universal and Transferable Adversarial Attacks on Aligned Language Models. LLM Attacks

因为“即开即用”的大型语言模型能够生成大量令人反感的内容,近期的工作集中在对这些模型进行对齐,以防止不受欢迎的生成。尽管在规避这些措施方面取得了一些成功——即所谓的针对大型语言模型(LLMs)的“越狱”——这些攻击需要大量的人类智慧,并且在实践中很脆弱。自动对抗性提示生成的尝试也取得了有限的成功。在本文中,我们提出了一种简单有效的攻击方法,可以导致对齐的语言模型生成令人反感的行为。

CSPhD-winston的博客 1415

Cmake使用MSVC2019编译OpenCV4.5.3_contrib拓展库;在VS2019和QT 中使用MSVC2019编译的OpenCV拓展库

最近在vs2019中使用openCV进行图像处理,需要用QT设计交互界面,软件的组合使用与运行环境的配置搞了两天,目前已经配置成功,此文章记录这次的操作历程,以便以后出现问题时可以审视目前的安装过程以得到解决方法。 电脑先安装VS2019,qt5.15.2,Cmake3.22, 一、opencv拓展库的下载以及安装在VS里面过程: 1、Cmake3.22官方下载下图中的第一个,这个安装过程简单, 2、去opencv官网下载,点击library后出现releases,找到自己想要的版本点击source

F_eng135的博客 2818

ImportError: DLL load failed while importing _rust: 找不到指定的程序的解决方案

 本文主要介绍了ImportError: DLL load failed while importing _rust: 找不到指定的程序的解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 19万+

OPENCV4.1.0+contrib4.1.0+QT5+WIN7 我的历程记录

学习OpenCV,用了比较新的4.1.0,发现很多demo无法使用是因为OpenCV的版本原因,很多变量也发生了变化,这里记录一下,防止再次吃苍蝇吧。

big_worm的专栏 261

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Qt+CMake+opencv经验总结——关于nonfree.hpp和legacy.hpp

先说结论: 如果代码中需要用到nonfree.hpp和legacy.hpp,不要考虑装opencv3及以上版本!直接装opencv2! 下文中有opencv和opencv-contrib的下载链接,由于当时只保存了下载网址,没留下原博csdn地址,如果原博能看到的话请留言,我再添加~ 参考的优秀博主链接: qt+opencv2.4.16.3 进一步,回顾一下之前的曲折历程以及过程中领悟的小细节: 1. Qt5.12.9+CMake+OpenCV4.5.1 最一开始在不了解版本问题的情况下,直接安装了Qt5

hongliyu_lvliyu的博客 3837

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Re_Calling
博客等级 码龄9年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值