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

相关推荐
AI刀刀几秒前
豆包粘贴到 word 格式混乱,AI 导出鸭高效解决导出难题
人工智能·word·ai导出鸭
也非非也1 分钟前
Agnes AI 全模态 API 免费实测报告:文生图 + 文生视频完整测试
人工智能·音视频
KaMeidebaby6 分钟前
卡梅德生物技术快报|酵母表达系统工程:裂殖酵母穿梭载体分子改造与载体构建技术总结
网络·人工智能·网络协议·tcp/ip·算法
市象6 分钟前
可灵头上缺了一朵遮风挡雨的云
人工智能
godspeed_lucip8 分钟前
LLM和Agent——专题6:Multi Agent 入门(1)
人工智能·python
小真zzz10 分钟前
GEO选型避坑实录:当“参考答案”是假的,如何找到“标准答案”?
大数据·人工智能·搜索引擎·ai·大模型
菜鸡旭旭13 分钟前
【AI培训中台-对话链路】
人工智能
呆呆敲代码的小Y15 分钟前
CC-Switch使用教程,包含ClaudeCode、Codex具体示例 【持续更新】
人工智能·ai·agent·cc-switch
芝士爱知识a15 分钟前
智胜未来:以AlphaGBM为核心的AI量化分析软件深度评测与行业洞察报告
人工智能·量化分析·ai量化·alphagbm·量化分析软件·ai量化工具·ai量化软件
IT_陈寒18 分钟前
Redis客户端连接池不关闭的后果,程序直接崩给我看
前端·人工智能·后端