我有一个RGB32格式的QImage
当我这样做时:
cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC3,(uchar*)depthImg.bits(),depthImg.bytesPerLine());
我得到左边的图像。我实际上应该使图像正确。
最佳答案
好的!我想到了! RGB32具有R的8位,G的8位,B的8位和Alpha的8位。本质上是RGBA。因此,我们可以使用以下代码:
cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC4,(uchar*)depthImg.bits(),depthImg.bytesPerLine());