Ich versuche eine Funktion zu schreiben, die eine Graustufen OpenCv Mat in eine Qt QPixmap und dann in eine QLabel schreibt.C++ opencv Mat zu QPixmap Fehler
Ein Drittel der Zeit es funktioniert.
Ein Drittel der Zeit, es das Bild verzerrt ...
wird
Der Rest der Zeit, die Programmabstürze, insbesondere auf der Fromimage() Linie.
Ich weiß, dass die eingehenden Mat Objekte jeweils Graustufen und nicht Null sind. Hier ist der Code in Frage ...
void MainWindow::updateCanvasLabel(Mat mat){
imwrite("c:/pics/last-opened.jpg", mat); //to verify that Mat is
// what I think it is
QPixmap pixmap = QPixmap::fromImage(QImage((unsigned char*) mat.data,
mat.cols,
mat.rows,
QImage::Format_Grayscale8));
ui->canvasLabel->setPixmap(pixmap);
ui->canvasLabel->setScaledContents(true);
}
Sie das Bild hochladen können, und wie viele Kanäle Sie haben – eyllanesc
Sie haben wahrscheinlich Probleme mit Kanälen (RGB/Grayscale/RGBA, etc) –