Qt+OpenCV显示图片(Mat转QImage然后现在在QLabel上)
一、概述
此篇主要是记录一下如何将OpenCV集成得到Qt Creator中,并将OpenCV的Mat对象转换为QImage并使用qt的api显示图片
a.使用Qt Creator开发工具集成OpenCV,在.pro文件中配置环境即可,如下图所示
b.将Mat对象转为QImage对象并使用Qt显示出来的步骤如下:
1.将使用OpenCV imread函数加载一张图片
2.将Mat转为QImage
3.将QImage转为QPixmap
4.将QPixmap放到QLabel上并显示出来
二、示例
/** * 调用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显示图片 }
三、显示效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探