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

如何高效地将OpenCV的cv::Mat转换为Qt的QImage?

Linda Hamilton
Linda Hamilton原创
2024-12-01 05:35:24999浏览

How to Efficiently Convert OpenCV's cv::Mat to Qt's QImage?

将 OpenCV cv::Mat 转换为 QImage

在计算机视觉应用中,经常需要在不同的图像格式之间进行转换。一种常见的场景是将 OpenCV 的 cv::Mat 转换为 Qt 的 QImage。以下是如何实现这种转换:

对于某些情况,Michal Kottman 的解决方案使用 QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::格式_RGB888);就足够了。但是,如果转换中不包含 img.step,某些图像可能无法正确显示。

为了解决此问题,修改后的解决方案是:

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

此修改可确保图像无论其具体特征如何,都会正确转换。请记住,如果省略 img.step,Qt 可能不会发出警告,但它的存在对于维护图像完整性至关重要。

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

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