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之间轻松地传递图像数据。

相关推荐
机器之心32 分钟前
谷歌nano banana正式上线:单图成本不到3毛钱,比OpenAI便宜95%
人工智能·openai
兰亭妙微33 分钟前
从线到机:AI 与多模态交互如何重塑 B 端与 App 界面设计
人工智能·小程序·交互·用户体验设计公司
MansFlower42 分钟前
Gemini 2.5 Flash Image Preview:nano banana
人工智能
机器之心1 小时前
拒稿警告,靠大模型「偷摸水论文」被堵死,ICLR最严新规来了
人工智能·openai
算家计算2 小时前
“下一代”图像模型——ComfyUI-Flux-Krea本地部署教程,体验划时代的图像质量
人工智能·开源·flux
算家计算2 小时前
国务院发布“人工智能+”行动意见,算力基建或将迎来风口!
人工智能·云计算·资讯
johnny2332 小时前
文本转语音TTS工具合集(下)
人工智能
艾醒2 小时前
大模型面试题剖析:大模型微调与训练硬件成本计算
人工智能·后端·算法
三花AI2 小时前
风口真的要来了,国务院关于深入实施“人工智能+”行动的意见
人工智能·开源
LLM精进之路2 小时前
上海AI实验室突破扩散模型!GetMesh融合点云与三平面,重塑3D内容创作
人工智能·深度学习·机器学习·语言模型·transformer