OpenCV cv::Mat和QImage互相转换

在使用OpenCV和Qt进行图像处理时,经常需要将cv::MatQImage之间进行转换。下面是cv::MatQImage之间的相互转换方法:

将cv::Mat转换为QImage:

复制代码
cv::Mat cvImage; // 你的cv::Mat图像

// 将cv::Mat转换为QImage
QImage qtImage(cvImage.data, cvImage.cols, cvImage.rows, cvImage.step, QImage::Format_RGB888);

// 如果你的cv::Mat是灰度图像,可以使用下面的方法转换:
// QImage qtImage(cvImage.data, cvImage.cols, cvImage.rows, cvImage.step, QImage::Format_Grayscale8);

// 现在,qtImage包含了cv::Mat的图像数据,你可以在Qt中使用它进行显示或进一步处理。

将QImage转换为cv::Mat:

复制代码
QImage qtImage; // 你的QImage图像

// 将QImage转换为cv::Mat
cv::Mat cvImage(qtImage.height(), qtImage.width(), CV_8UC4, qtImage.bits(), qtImage.bytesPerLine());

// 如果你的QImage是灰度图像,可以使用下面的方法转换:
// cv::Mat cvImage(qtImage.height(), qtImage.width(), CV_8UC1, qtImage.bits(), qtImage.bytesPerLine());

// 现在,cvImage包含了QImage的图像数据,你可以在OpenCV中使用它进行进一步处理。

请注意,这些示例假设图像的格式为RGB(或灰度)。如果你的图像具有其他格式,你需要根据实际情况进行调整。这些转换方法可以帮助你在OpenCV和Qt之间轻松地传递图像数据。

相关推荐
uesowys17 分钟前
Apache Spark算法开发指导-Factorization machines classifier
人工智能·算法
人工智能AI技术26 分钟前
预训练+微调:大模型的“九年义务教育+专项补课”
人工智能
aircrushin34 分钟前
中国多模态大模型历史性突破:智源Emu3自回归统一范式技术深度解读
人工智能
Lsx_41 分钟前
前端视角下认识 AI Agent 和 LangChain
前端·人工智能·agent
aiguangyuan42 分钟前
使用LSTM进行情感分类:原理与实现剖析
人工智能·python·nlp
Yeats_Liao1 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
深圳市恒星物联科技有限公司1 小时前
水质流量监测仪:复合指标监测的管网智能感知设备
大数据·网络·人工智能
断眉的派大星1 小时前
均值为0,方差为1:数据的“标准校服”
人工智能·机器学习·均值算法
A尘埃1 小时前
电子厂PCB板焊点缺陷检测(卷积神经网络CNN)
人工智能·神经网络·cnn
Tadas-Gao1 小时前
缸中之脑:大模型架构的智能幻象与演进困局
人工智能·深度学习·机器学习·架构·大模型·llm