我们如何在不加载文件名的情况下直接将 cv::Mat 转换为 QPixmap?
我已经对此进行了一些研究,但没有任何提示!
作为第一步,我尝试的是保存图像,然后加载它。但这不是我想要的。
我们如何在不加载文件名的情况下直接将 cv::Mat 转换为 QPixmap?
我已经对此进行了一些研究,但没有任何提示!
作为第一步,我尝试的是保存图像,然后加载它。但这不是我想要的。
杰汉是对的。
对于将来引用此线程的人:首先将图像从 BGR(OpenCV 使用)转换为 RGB。
然后:
QPixmap::fromImage(QImage((unsigned char*) mat.data, mat.cols, mat.rows, QImage::Format_RGB888));
Mehfoos Yacoob 是对的,这是将 a 转换cv::Mat
为 a的最佳方法QPixmap
。首先,您需要将 转换cv::Mat
为 a QImage
,然后使用该fromImage
函数将其结果分配给 a QPixmap
。cv::Mat
为了使用正确的QImage
格式,记住 的类型很重要。
这是如何做到这一点的一个小例子:http: //asmaloney.com/2013/11/code/converting-between-cvmat-and-qimage-or-qpixmap/