将 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中文网其他相关文章!