Qt-在QLabel上显示Mat数据

0. 写在前面

        用于记录一下,在Qt上显示Mat的数据,记录代码如下;

//QLabel中显示处理结果
void MainWindow::matToLabelShow(QLabel *label, Mat &mat)
{cv::Mat Rgb;QImage Img;if (mat.channels() == 3)//RGB Img{cv::cvtColor(mat, Rgb,COLOR_BGR2RGB);Img = QImage((const uchar*)(Rgb.data), Rgb.cols, Rgb.rows, Rgb.cols * Rgb.channels(), QImage::Format_RGB888);}else//Gray Img{Img = QImage((const uchar*)(mat.data), mat.cols, mat.rows, mat.cols * mat.channels(), QImage::Format_Indexed8);}//自适应显示int ori_width = Img.size().width();int ori_height = Img.size().height();int m_width = label->size().width();int m_height = label->size().height();int pro;if(ori_width/m_width >= ori_height / m_height){pro = ori_width / m_width;}else{pro = ori_height / m_height;}int scale_width = ori_width / pro;int scale_height = ori_height / pro;QImage *scale_image = new QImage();*scale_image = Img.scaled(scale_width,scale_height,Qt::KeepAspectRatio);//label->setScaledContents(true);//充满整个屏幕label->setAlignment(Qt::AlignCenter);label->setPixmap(QPixmap::fromImage(*scale_image));
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 中的 vector 的模拟实现【代码纯享】

文章目录 C 中的 vector 模拟实现1. vector 的基本概念2. vector 的基本操作3. vector 的模拟实现4.代码纯享5. 总结 C 中的 vector 模拟实现 在 C 中,vector 是一个非常重要的容器,它提供了动态数组的功能。在本篇博客中,我们将尝试模拟实现…

函数参数缺省和内联函数【C++】

文章目录 函数参数缺省函数参数缺省的条件和要求 内联函数内联函数的工作原理内联函数的定义方法内联函数的要求解决方法:直接在.h中定义内联函数的函数体 内联函数再Debug模式下默认是不展开的 函数参数缺省 顾名思义:可以少传一个/多个参数给函数&…

防止推特Twitter账号被冻结,应该选什么代理类型IP?

在处理多个 Twitter 帐号时,选择合适的代理IP对于避免大规模帐户暂停至关重要。现在,问题出现了:哪种类型的代理是满足您需求的最佳选择?下面文章将为你具体讲解推特账号冻结原因以及重点介绍如何选择代理IP。 一、推特账号被冻结…

3个 JavaScript 字符串截取方法

在 JavaScript 中,可以使用 substr()、slice() 和 substring() 方法截取字符串. substring() substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集。语法如下: str.substring(inde…

通信术语:初学者入门指南(二)

1.SAR:Synthetic Aperture Radar合成孔径雷达,是一种雷达系统,通常用于地球或行星的遥感成像。相较于传统的实孔径雷达,SAR 通过在相对较长的时间内,对来自同一地点的多个雷达反射信号进行综合处理,实现了更…

.Net 对象与对象之间的映射转换的6中方式以及性能对比

我们在.Net开发的过程中,经常会遇到一个实体对象与另一个实体对象之间的映射转换,接下来我们将依次去实现6个对象间映射转换的方式,并对他们进行性能测试,找出其中效率最高的方式。 通过对象Copy,通过new一个新的实体对…

el-table的复选框勾选整行变色

要实现el-table的复选框勾选整行变色,你可以使用element-ui提供的row-class-name属性结合scoped slot来完成。 首先,你需要为el-table组件添加 row-class-name 属性,并给它绑定一个方法。在这个方法中,你可以根据你的业务逻辑来判…

【C+ +】第一个C+ + 项目的创建及namespace命名空间解释C++中的输入输出

目录 1.创建第一个c项目 1.1项目创建 1.2 .cpp源文件建立 1.3 第一个c程序hello world对比c语言hello world 2.命名空间 2.1 C关键字 2.2 命名空间---解决c语言中的命名冲突 2.2.1 namespace命名空间用法 2.2.2 :: 预作用限定符 2.2.3 命名空间的嵌套…

【嵌入式智能产品开发实战】(七)—— 政安晨:通过ARM-Linux掌握基本技能【环境准备:树莓派】

目录 Raspberry Pi OS 下载系统镜像 使用SSH客户端登陆 升级更新 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 嵌入式智能产品开发实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正…

人工智能|深度学习——基于Xception实现戴口罩人脸表情识别

一、项目背景 近年来,随着人工智能技术的不断发展,人脸表情识别已经成为了计算机视觉领域中的重要研究方向之一。然而,在当前的疫情形势下,佩戴口罩已经成为了一项必要的防疫措施,但是佩戴口罩会遮挡住人脸的部分区域&…

c++ new int[10]()会进行初始化.

new int[10]()-CSDN博客 #include<iostream> using namespace std;int main() {int *p new int[10]();for(int i 0; i < 10; i){cout << p[i] << endl;}delete []p; } 会进行初始化.

换到idf 5.0版本后报错 jsmn could not be found

原因&#xff1a; idf5.0去掉了部分组件&#xff0c;包括jsmn&#xff0c;工程中adf又用到了这个组件&#xff0c;所以会报错。 解决办法&#xff1a; 升级adf到新版本即可。

docker导出导入镜像

docker导出镜像 查看要导出的镜像 docker images主要有两列 REPOSITORY TAG 导出命令 导出公式 docker save -o xxxx.tar REPOSITORY:TAG例子 docker save -o minio.tar minio/minio:latestminio/minio:latest可以使用image id代替&#xff0c;但是使用image id会导致导…

梯度:般在神经网络里面是一个batch清空一次梯度还是一个epoch清空一次梯度?

通常&#xff0c;在神经网络训练中&#xff0c;是在每个 mini-batch 处理完成后清空一次梯度&#xff0c;而不是在每个 epoch 结束后清空一次梯度。 这是因为在每个 mini-batch 中&#xff0c;模型参数的梯度是根据当前 mini-batch 的损失计算得到的&#xff0c;如果不在每个 …

能效监测终端为什么这么好用?

能效监测终端是一种现代管理工具&#xff0c;它在企业和机构的能源管理体系中起着核心的作用。这些监测设备能够精确掌握用电设备的功耗情况&#xff0c;为用户实现节能减排和成本控制提供了有效的技术支持。以下内容将具体解释为什么能效监测终端如此好用&#xff0c;并从多个…

风声 | “革命”启动,这里是量子的新起点——

非洲正站在量子技术变革的前沿。 尽管非洲的量子安全技术尚未达到其他地区的先进水平&#xff0c;但它被视为未来计算技术发展的关键要素。如《福布斯非洲》所述&#xff1a;“量子计算目前的发展阶段&#xff0c;可以比喻为20世纪60年代的传统计算技术水平。” 非洲拥有众多的…

收下这份地表最强参会指南,4月16日,玩转百度Create大会不迷路

欢迎来到英杰社区&#xff1a; https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区&#xff1a; https://bbs.csdn.net/topics/617897397 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff…

vulnhub之devguru靶场提权过程(vulnhub打靶日记)

一、环境搭建 VM版本&#xff1a;17.5.1 build-23298084 攻击机&#xff1a;Kali2024&#xff08;下载地址&#xff1a;https://www.kali.org/&#xff09; 靶机&#xff1a;vulnhub靶场Devguru&#xff08;下载地址&#xff1a;https://www.vulnhub.com/entry/devguru-1,62…

Spring Boot集成disruptor快速入门demo

1.disruptor介绍 什么是 Disruptor? Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能的并发框架。可以认为是线程间通信的高效低延时的内存消息组件&#xff0c;它最大的特点是高性能。与 Kafka、RabbitMQ 用于服务间的消息队列不同&#xff0c;disruptor 一般用于一个 J…

C++——异常机制

目录 一&#xff0c;背景 1.1 C语言处理错误的方式 1.2 C异常概念 二&#xff0c;异常的使用 2.1 异常的简单使用 2.2 异常的匹配原则 2.3 异常抛对象 2.4 异常的重新抛出 2.5 异常安全 三&#xff0c;自定义异常体系 四&#xff0c;异常优缺点 4.1 优点 4.2 缺点 …