Qt显示OpenCV的单通道图片
一、概述
Qt中显示OpenCV的图片。OpenCV中的Mat默认是3通道图片。但是其灰度图、二值图片会是8位单通道的。
示例代码中记录了如何显示
二、代码示例
#include "ImageUtils.h" Mat ImageUtils::qImageToMat(QImage qImage) {//QImage转Mat三通道图片 QImage image = qImage.convertToFormat(QImage::Format_RGB888); Mat mat = Mat(image.height(), image.width(), CV_8UC3, image.bits(), image.bytesPerLine()); return mat; } QImage ImageUtils::matToQImage(Mat src) { cvtColor(src, src, COLOR_BGR2RGB);//转换色彩空间,因为Mar默认是BGR,要转换为RGB QImage qImage(src.data, src.cols, src.rows, src.step, QImage::Format_RGB888); return qImage; } QImage ImageUtils::matToQImage8(Mat src) {//QImage显示Mat的8位单通道图片 QImage qimage(src.data, src.cols, src.rows, src.step, QImage::Format_Grayscale8); return qimage; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2021-12-08 AndroidVideoCache实现预缓存
2013-12-08 使用Android绘图技术绘制一个椭圆形,然后通过触摸事件让该椭圆形跟着手指移动
2013-12-08 Android解决自定义View获取不到焦点的情况