1 // Opencv彩色图片通道是BGR不是RGB,这里要注意 2 Mat imgMat = imread("baboon.jpg", IMREAD_COLOR); 3 4 // cvtColor(imgMat, imgMat, COLOR_BGR2GRAY); // 转为灰度图 5 6 QImage img; 7 8 if(imgMat.channels() == 3) 9 { 10 img = QImage((const uchar*)imgMat.data, 11 imgMat.cols, imgMat.rows, 12 QImage::Format_BGR888); // Opencv是BGR通道 13 } 14 else 15 { 16 img = QImage((const uchar*)imgMat.data, 17 imgMat.cols, imgMat.rows, 18 QImage::Format_Indexed8); // 8位图即灰度图 19 } 20 21 ui->label->setPixmap(QPixmap::fromImage(img));