Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)

这篇具有很好参考价值的文章主要介绍了Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、概述

  此篇主要是记录一下如何将OpenCV集成得到Qt Creator中,并将OpenCV的Mat对象转换为QImage并使用qt的api显示图片

 a.使用Qt Creator开发工具集成OpenCV,在.pro文件中配置环境即可,如下图所示

qlabel显示mat,Qt开发,opencv,qt,计算机视觉,图像处理,qt开发

 b.将Mat对象转为QImage对象并使用Qt显示出来的步骤如下:

  1.将使用OpenCV imread函数加载一张图片

  2.将Mat转为QImage

  3.将QImage转为QPixmap

  4.将QPixmap放到QLabel上并显示出来

2、示例

/**
 * 调用openCV显示一张图片,让图片的尺寸和窗口尺寸保持一致
 * @brief MainWindow::MainWindow
 * @param parent
 */
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Mat src = imread("C:\\Users\\wei.yang\\Downloads\\girl.jpg");
    //imshow("girl",src);

    QImage dst = QImage(src.data,src.cols,src.rows,src.step,QImage::Format_BGR888);
    this->setFixedSize(QSize(dst.width(),dst.height()));//设置窗口为固定尺寸
    QLabel *label = new QLabel();//创建一个label
    label->setParent(this);//将其父类指向当前窗口,在关闭窗口的时候此label会跟着销毁
    label->setFixedSize(QSize(dst.width(),dst.height()));//设置label为固定尺寸
    label->setScaledContents(true);//
    //label->resize()
    label->setPixmap(QPixmap::fromImage(dst));//在label显示图片




}

3、显示效果

qlabel显示mat,Qt开发,opencv,qt,计算机视觉,图像处理,qt开发

 本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓文章来源地址https://www.toymoban.com/news/detail-670306.html

到了这里,关于Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Qt 鼠标移入QLabel、离开QLabel、点击QLabel显示不同的效果

    通过Qt建立一个窗口应用,经常会出现以下的应用场景:即鼠标移入、离开以及点击一个QLabel时,QLabel相应的样式发生改变,发生诸如“ 边框加粗 ”、“ 背景色改变 ”、“ 显示文本 ”等变化,本案例通过编写一个继承于QLabel的MyLabel类实现上述需求。通过重写enterEvent、le

    2024年02月13日
    浏览(47)
  • c++ opencv中unsigned char *、Mat、Qimage互相转换

    unsigned char * 转Mat void * 转Qimage qimage转Mat Mat转Qimage

    2024年02月03日
    浏览(62)
  • 【QT】 QLabel背景图片自适应窗口大小

    这是最终效果: 想要图片跟随窗口自适应大小,首先我们先对QWidget进行网格布局,布局效果如下: 布局完成后添加 QLabel 代码,新建 QLabel 并且设置为可扩展内容,再设置图片放置最后面,否则图片在最前面会遮挡控件。 然后重写 qt 的绘画事件: 这是绘画事件的实现代码:

    2024年02月15日
    浏览(57)
  • Qt5.12实战之使用QLabel控件显示图像与动画

    演示效果: 显示图像前先添加资源到qrc 直接复制到res目录 然后添加已存在目录 直接显示图像 加载图像成功后显示 显示gif动画 显示超链接

    2024年01月18日
    浏览(41)
  • Qt信号和槽绑定实例,点击pushbutton按钮触发QLabel文本显示和关闭

    功能简介: 点击qt界面中的open按钮在界面中显示文本,同时按钮变为close按钮,再点击close按钮可以关闭显示文本,同时按钮变为open按钮,继续点击open按钮。。。。。。 关键内容: 1.创建一个qt工程 2.定义一个QPuschButton按钮实例和一个QLabel文本显示实例 3.设置按钮显示内容和

    2024年02月12日
    浏览(43)
  • Mat与QImage互相转换

    Mat是opencv中的存储图像的容器,也是图像像素矩阵 QImage是Qt中存储图片常用的类 Qt和opencv经常配合在一起使用,但Qt的函数方法的参数是不接受Mat的,所以如果我们想要在Qt中操作opencv处理后的图像,就必须将Mat转换成QImage Mat转换成QImage,可直接使用QImage的构造函数进行转换

    2024年02月17日
    浏览(42)
  • 【OpenCV】 基础入门(一)初识 Mat 类 | 通过 Mat 类显示图像

    🚀 个人简介:CSDN「 博客新星 」TOP 10 , C/C++ 领域新星创作者 💟 作    者: 锡兰_CC ❣️ 📝 专    栏: 【OpenCV • c++】计算机视觉 🌈 若有帮助,还请 关注➕点赞➕收藏 ,不行的话我再努努力💪💪💪

    2024年04月16日
    浏览(33)
  • Qt中在QLabel上画点,重写QLabel类

    QT中label进行绘图 1.首先新建一个类,让这个类继承QLabel 2.在类中对鼠标点击事件及绘图事件进行重写 3.然后在UI框架下添加label控件, 4.右键label控件,添加重写的类,将其提升为刚刚写好的类 mylabel.h mylabel.cpp

    2024年02月13日
    浏览(43)
  • Qt 使用QLabel的派生类实现QLabel的双击响应

            在QLabel中没有双击等事件响应,需要 构建其 派生类 ,自定义 信号(signals) 、重载 事件函数(event) ,最后在Qwidget中 使用connect链接即可 ,进而实现响应功能。         对于其余没有需求事件响应的QObject同样适用。         此外,该功能同样可以 使用 事件过滤器 ,

    2024年02月13日
    浏览(49)
  • Qt QImage 显示TIFF格式图片

    一,需求 利用Qt 控件 显示 tiff 图片,由于tiff图像深度位96位,3通道,所以无法直接用QImage 显示,QImage 支持24位,因此需要利用Opencv 进行转换。 二,关键点 (1),96位 深度需要利用 IMREAD_UNCHANGED 模式进行加载 (2),加载后进行 规一化,然后进行位深 转换,将32f 转成8

    2024年02月15日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包