Heim >Backend-Entwicklung >C++ >Wie konvertiere ich ein OpenCV cv::Mat in ein QImage?

Wie konvertiere ich ein OpenCV cv::Mat in ein QImage?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 12:17:10685Durchsuche

How to Convert an OpenCV cv::Mat to a 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn