1

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

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

我得到了左边的图像。我实际上应该得到右边的图像。 在此处输入图像描述

4

1 回答 1

5

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

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

在此处输入图像描述

于 2013-07-23T13:23:29.293 回答