"QImage без типа" сообщение об ошибке компиляции

Здравствуйте. Кто-нибудь может помочь мне разобраться, как решить эту ошибку? Я пытаюсь переписать рабочий код Qt3 в Qt4 для преобразования IplImage в QImage и нашел "правильные типы преобразования", однако мой код, приведенный ниже, приводит к " ISO C++ запрещает объявление" QImage "без типа"

....
QImage *qqImage;
if (this->data->nChannels == 1)
{

    QVector<QRgb> myColorTable;
    for (int i = 0; i < 256; i++)
        myColorTable.push_back(qRgb(i, i, i)); //colorTable[i]);


    qqImage = new QImage(qImageBuffer, width, height, QImage::Format_Indexed8);
}
else
{

    qqImage = new QImage(qImageBuffer, width, height, QImage::Format_RGB32);

}

return qqImage;

1 ответ

Решение

Приведенный ниже фрагмент кода работает с моим приложением Qt4, попробуйте.

    // img1 and img2 are Mat objects, img1 is grayscale,
    // img2 is three channel RGB image

    QImage qimg1,qimg2;

    if (this->data->nChannels == 1){

    qimg1=QImage(img1.data,img1.cols,img1.rows,QImage::Format_Indexed8);

    }

    else {

    qimg2=QImage(img2.data,img2.cols,img2.rows,QImage::Format_RGB888);

    }
Другие вопросы по тегам