如何将RGB32格式的QImage转换为OpenCV :: mat?

时间:2013-07-23 13:10:26

标签: qt opencv qimage

我有一个RGB32格式的QImage 当我这样做时:

cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC3,(uchar*)depthImg.bits(),depthImg.bytesPerLine());

我得到了左边的图像。我实际上应该得到右边的图像。 enter image description here

1 个答案:

答案 0 :(得分:4)

好!我想到了! RGB32具有8位R,8位G,8位B和8位Alpha。它基本上是RGBA。所以,我们可以使用这个:

cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC4,(uchar*)depthImg.bits(),depthImg.bytesPerLine());

enter image description here