为什么我将蓝色图像作为输出?

时间:2016-05-11 10:43:28

标签: image qt opencv

为什么我将蓝色图像作为此代码的输出:

imgq = QImage((uchar*)imagee.data, imagee.cols, imagee.rows,imagee.cols*3,QImage::Format_RGB888);
pixel = QPixmap::fromImage(imgq);
ui->label_pic->setPixmap(pixel);

1 个答案:

答案 0 :(得分:1)

OpenCV默认使用BGR。您正在使用QImage::Format_RGB888,因此蓝色和红色通道将被反转。

要解决此问题,您可以在OpenCV中使用cvtColor函数

cv::cvtColor(imagee, imagee, CV_BGR2RGB);
在您展示的代码之前

这是最简单的方法......