【轻松入门】OpenCV4.8 + QT5.x开发环境搭建

引言

大家好,今天给大家分享一下最新版本OpenCV4.8 + QT5 如何一起配置,完成环境搭建的。

下载OpenCV4.8并解压缩

软件版本支持

CMake3.13 或者以上版本
https://cmake.org/
VS2017专业版或者以上版本
QT5.15.2

OpenCV4.8源码包

https://github.com/opencv/opencv/releases/tag/4.8.0

把OpenCV4.8解压缩到D盘,目录分别如下:

D:\opencv-4.8.0

QT5.15 + OpenCV4.8 配置

首先创建Qt应用项目,图示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置OpenCV4.8到Qt5,导入库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码测试与运行

通过OpenCV读取一张图像,然后加载到Qt QLabel对象中实现显示,相关代码添加到mainwindow.cpp文件的构造函数中去,显示如下:

ui->setupUi(this);
cv::Mat bgr = cv::imread("D:/images/lena.jpg");
cv::Mat image;
cv::cvtColor(bgr, image, cv::COLOR_BGR2RGB);
QImage img = QImage(image.data, image.cols, image.rows, image.step, QImage::Format_RGB888);
img = img.scaled(QSize(800, 600), Qt::KeepAspectRatio);
QPixmap mp;
mp=mp.fromImage(img);
QLabel* label = new QLabel();
label->setAlignment(Qt::AlignCenter);
label->setPixmap(mp);
QVBoxLayout* vlayout = new QVBoxLayout();
vlayout->addWidget(label);
ui->centralwidget->setLayout(vlayout);
this->setWindowTitle("OpenCV4.8 + Qt5 Demo");

运行结果如下:
在这里插入图片描述
OpenCV4.8 +QT5真的可以了。
提示: 请先安装好VS2017 VC++ 支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275489.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常用的 linux 命令

常用的 linux 命令 1.从其他机器拷贝文件夹2.查看哪个程序在用特定端口3.实时监控日志文件内容4.查看指定用户拥有的进程5.查看磁盘空间使用情况6.文件搜索which(whereis) 显示系统命令所在目录find 查找任何文件或目录1) 根据文件名称查找2)…

【Linux驱动】Linux中断(一)—— 设备树中断节点

裸机使用中断需要通过寄存器手动配置,但有了 Linux 系统后,Linux内核提供了完善的中断框架,我们只需要申请中断,然后注册中断服务函数即可。 一、设备树中断属性 既然驱动中要注册中断服务函数,我们首先需要知道三个点…

实战 | 使用OpenCV快速去除文档中的表格线条(步骤 + 源码)

导 读 本文主要介绍如何使用OpenCV快速去除文档中的表格线条,并给详细步骤和代码。 背景介绍 测试图如下,目标是去除下面三张图中的表格线条,方便后续图像处理。 实现步骤 下面演示详细步骤,以图1为例: 【1】获取二值图像:加载图像、转为灰度图、OTSU二值化 i…

记录 | ubuntu源码编译python3.7.3(指定版本)

一、安装依赖包 sudo apt-get install -y make build-essential libssl-dev zlib1g-dev sudo apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm sudo apt-get install -y libncurses5-dev libncursesw5-dev xz-utils tk-dev 二、从Python网…

mapboxgl 中给地图添加遮罩蒙版,并不遮罩其中一块区域

文章目录 概要效果预览技术思路技术细节小结 概要 本篇文章主要是给一整块地图添加遮罩层蒙版,但是不遮罩其中一个区域,以反向高亮地区内容。 效果预览 技术思路 这里要实现某个区域反显高亮,需要这个区域的边界json文件,与ech…

Flink1.17实战教程(第三篇:时间和窗口)

系列文章目录 Flink1.17实战教程(第一篇:概念、部署、架构) Flink1.17实战教程(第二篇:DataStream API) Flink1.17实战教程(第三篇:时间和窗口) Flink1.17实战教程&…

华锐三维云展平台创建VR文化宣传展厅,让文化传承变得更便捷和高效

随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进人们的生活。通过华锐云展平台,可以通过拖、拉、拽,快速自由地创建一个VR文化宣传展厅,VR文化宣传展厅为人们提供了一个全新的、沉浸式的文化体验空间。在…

uniapp的分包使用记录

UniApp的分包是一种将应用代码划分为多个包的技术。分包的核心思想是将不同部分的代码划分为不同的包,按需加载,从而提高应用性能。使用UniApp的条件编译功能,开发人员可以根据需要将代码划分为多个包。每个包都包含一组页面和组件&#xff0…

在国内如何在Tiktok上买东西(在tiktok上付款)??

TikTok是一款由中国公司字节跳动(ByteDance)开发的社交媒体应用,于2016年9月正式上线。它在全球范围内迅速走红,特别受到年轻用户的喜爱。以下是关于TikTok的介绍以及其一些优势 支持的卡头有5561、531993 //点我办卡&#xff0c…

stm32H743编译器关于浮点类型强制转换传参的bug

局部函数,正常传参 当测试函数作为局部函数和main函数写在同一个文件中时,参数可以正常传递。函数参数和形参都为3.14 float value 0.0; void float_test(float _v) {value _v; }int main(void) {float_test(3.14f);while(1); } keil仿真截图&#…

关于MySQL、分布式系统、SpringCloud面试题

前言 之前为了准备面试,收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv MySQL 索引 说一下有哪些锁? 行锁有哪些? 性能优化 分库分表…

Java生态系统的进化:从JDK 1.0到今天

目录 前言 JDK 1.0:开启Java时代 JDK 1.1:Swing和内部类 JDK 1.2:Collections框架和JIT编译器 JDK 1.5:引入泛型和枚举 JDK 1.8:Lambda表达式和流 JDK 11以后:模块化和新特性 未来展望 总结 作者简…

3D换肤在服装行业的应用

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 通过采用高质量的 3D 模型,企业可以提供更加身临其境的体…

cpp_07_类型转换构造_析构函数_深拷贝_静态成员

1 类型转换构造函数 1.1 why? 基本类型之间的转换,编译器内置转换规则:int -> double 类类型之间的转换,编译器不知道转换规则,需要用户提供:Cat -> Dog // consconv_why.cpp 为什么需要自定义转换 #includ…

ARM CCA机密计算软件架构之RMI领域管理接口与RSI领域服务接口

领域管理接口 领域管理接口(RMI)是RMM与正常世界主机之间的接口。 RMI允许正常世界虚拟机监视器向RMM发出指令,以管理领域。 RMI使用来自主机虚拟机监视器的SMC调用,请求RMM的管理控制。 RMI使得对领域管理的控制成为可能&…

STM32 基础知识(探索者开发板)--93讲 PWM

预分频器相当于一个计数器,2分频就是接收2个脉冲传递一个脉冲,3分频就是接收3个脉冲传递一个脉冲,最高65535分频,那么总计时间能达到65535*65535*1/72MHZ 约59秒,没有分频器只能计数最高0.09秒 PWM配置步骤 1.配置定时…

Vue : Object.defineProperty()

给对象添加属性: <script>let person {name : 张三,sex : 男}Object.defineProperty(person,age,{value : 18})console.log(person)</script> 控制台查看: 但是添加的属性是不能被遍历的: 但是如果你想又使用defineProperty添加属性, 又想遍历, 那么就在这个def…

阿里云oss拷贝(包含移动的代码)文件并返回下载地址

oss拷贝文件官方地址&#xff1a; https://help.aliyun.com/zh/oss/developer-reference/java-copy-objects?spma2c4g.11186623.0.0.16f76083xr3lKM 步骤1&#xff1a;oss的Maven依赖 <!-- OSS --><dependency><groupId>com.aliyun.oss</groupId>&l…

GIT如何重新生成ssh密钥过程

GIT如何重新生成ssh密钥过程 一、生成密钥前需要把之前的密钥删除吆 第一步&#xff1a;重新配置用户名和邮箱&#xff08; Git Bash 或命令窗口&#xff09; 1、配置用户命令&#xff1a;git config --global user.name “xxxxx” 2、配置邮箱命令&#xff1a;git config …

laravel5.8中实现验证码组件的安装和验证

本篇文章主要讲解使用laravel5.8自带的验证码库实现验证码验证的效果教程。通过本教程你可以快速接入到自己的项目中开发相应的验证功能。 作者&#xff1a;任聪聪 (rccblogs.com) 日期&#xff1a;2023年12月17日 实际效果 安装步骤 步骤一、输入命令 composer require mews…