vs2015+ qt学习(二)- 读取图片并显示

本文介绍如何在Qt中使用MatBGR转化为RGB,再转化为QImage格式,最终在QLabel中显示图像的过程。同时,详细讲解了在Qt界面中设置信号与自定义槽的步骤,包括编辑信号与槽、添加自定义槽函数及编译UI界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在UI界面上放2个pushButton和2个label

2. 在QtGuiApplication1.h文件中添加槽相关代码:

https://i-blog.csdnimg.cn/blog_migrate/e43ab9b2d459924abbded9a1c810e70e.png

QtGuiApplication1.cpp中添加槽函数。

https://i-blog.csdnimg.cn/blog_migrate/93498307a076fe4425454922ac2c583f.png

3.添加信号和自定义槽

1)点击编辑信号与槽按钮进入编辑模式

2)在信号/槽编辑器中点击+进行添加信号和槽,在槽中先选择close()

3)然后回到ui界面,拖动槽到合适的位置,双击close(),如下图所示出现配置连接

点击编辑按钮,在槽中添加自定义的槽函数,点击OK

 

4)在UI界面中的文件下点击保存

4. 点击XXX.ui,右键选择编译,会在ui_seedingImageProcess.h中生成相应的代码

修改界面,需要重新编译。

 

Qt中显示图像:

Mat BGR 转化为RGB再转化为QImage格式,再用QPixmap对象获得图像,然后在Qlabel中显示。

Mat srcImage, srcImage1, rgbImage;

QImage dstImage;

QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), ".", tr("Image Files(*.jpg *.png *.jpeg *.bmp)"));

string str = fileName.toStdString();

if (fileName.isEmpty())

{

       QMessageBox::information(this, "警告", "没有选择文件");

       return;

}

srcImage = imread(str);  //读取图片

cvtColor(srcImage, rgbImage, CV_BGR2RGB); //图像格式转换

dstImage = QImage((const unsigned char*)(rgbImage.data), rgbImage.cols, rgbImage.rows, QImage::Format_RGB888);

ui. label->setPixmap(QPixmap::fromImage(dstImage));//显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值