0

我有原始图像缓冲区。我正在使用以下代码将其转换为 jpeg:

  height = 240;
  width = 320;
raw_image=capture(width, height);//(c code uvc capture)
        QImage tmpImage = QImage(raw_image, width, height, QImage::Format_RGB32 ); //image.format=RGB888
        QByteArray im;
QBuffer bufferJpeg(&im);
bufferJpeg.open(QIODevice::WriteOnly);
tmpImage.save(&bufferJpeg, "JPG");
 tmpImage.save("image1.jpg","JPG");

它正在捕获并将其转换为 jpeg。但是捕获的图像不正确。我附上了图片以供参考

在此处输入图像描述

对于 QImage tmpImage = QImage(raw_image, width, height, QImage::Format_RGB16 ); 图像是 在此处输入图像描述

对于 QImage tmpImage = QImage(raw_image, width, height, QImage::Format_RGB444); 在此处输入图像描述

我怎样才能得到正确的图像?提前致谢。

4

1 回答 1

2

错误的色彩空间。

==> 格式_RGB32

尝试:QVideoFrame::Format_YUYV 或 QVideoFrame::Format_UYVY

于 2013-10-16T11:25:31.997 回答