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

如何在 C 中将 cv::Mat 转换为 QImage ?

Susan Sarandon
Susan Sarandon原创
2024-11-28 20:32:12763浏览

How to Convert a cv::Mat to a QImage in C  ?

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

问题:

如何我将 OpenCV cv::Mat 类型转换为 C 中的 QImage 吗?使用现有代码将 IPlimage 转换为 QImage 是不够的。

解决方案:

Michal Kottman 的响应通常是准确的,但对于某些图像可能会失败。要解决这个问题,您可以使用以下解决方案:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);

说明:

此方法的主要区别是添加了 img。 step,指定 cv::Mat 中每行的字节宽度。如果没有此参数,Qt 可能无法始终正确渲染图像。

通过包含 img.step,您可以确保与更广泛的图像兼容并防止渲染问题。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn