首页 > 后端开发 > C++ > 如何将 OpenCV cv::Mat 转换为 QImage?

如何将 OpenCV cv::Mat 转换为 QImage?

Barbara Streisand
发布: 2024-12-03 12:17:10
原创
630 人浏览过

How to Convert an OpenCV cv::Mat to a QImage?

将 OpenCV cv::Mat 转换为 QImage

在计算机视觉应用中,经常需要在不同的图像格式之间进行转换。一种常见的转换是从 OpenCV 的 cv::Mat 到 Qt 的 QImage 格式。 OpenCV 是一个强大的计算机视觉库,而 Qt 是一个跨平台应用程序框架。

解决方案

要将 cv::Mat 转换为 QImage,只需使用以下代码:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
登录后复制
登录后复制

此代码从 cv::Mat 获取数据并创建一个新的 QImage 对象。 img.step 参数指定 cv::Mat 中每行的字节数。

但是,需要注意的是,Michal Kottman 提供的代码在某些情况下可能会失败。为了保证正确转换,建议使用带img.step参数的代码,如下所示:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
登录后复制
登录后复制

以上是如何将 OpenCV cv::Mat 转换为 QImage?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板