Heim >Backend-Entwicklung >C++ >Wie konvertiere ich ein OpenCV cv::Mat in ein QImage?
Konvertieren von OpenCV cv::Mat in QImage
In Computer-Vision-Anwendungen ist es oft notwendig, zwischen verschiedenen Bildformaten zu konvertieren. Eine häufige Konvertierung ist vom cv::Mat von OpenCV in das QImage-Format von Qt. OpenCV ist eine leistungsstarke Computer-Vision-Bibliothek, während Qt ein plattformübergreifendes Anwendungsframework ist.
Lösung
Um ein cv::Mat in ein QImage zu konvertieren, verwenden Sie einfach der folgende Code:
QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Dieser Code übernimmt die Daten aus dem cv::Mat und erstellt ein neues QImage-Objekt. Der Parameter img.step gibt die Anzahl der Bytes pro Zeile im cv::Mat an.
Es ist jedoch wichtig zu beachten, dass der von Michal Kottman bereitgestellte Code in bestimmten Fällen fehlschlagen kann. Um eine ordnungsgemäße Konvertierung sicherzustellen, wird empfohlen, den Code mit dem Parameter img.step zu verwenden, wie unten gezeigt:
QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein OpenCV cv::Mat in ein QImage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!