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

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

Susan Sarandon
Freigeben: 2024-11-28 20:32:12
Original
753 Leute haben es durchsucht

How to Convert a cv::Mat to a QImage in C  ?

So konvertieren Sie OpenCV cv::Mat in QImage

Problem:

Wie kann Ich konvertiere einen OpenCV-cv::Mat-Typ in QImage in C? Das Konvertieren von IPlimage in QImage mit vorhandenem Code reicht nicht aus.

Lösung:

Michal Kottmans Antwort ist im Allgemeinen korrekt, kann jedoch bei bestimmten Bildern fehlschlagen. Um dieses Problem zu beheben, können Sie die folgende Lösung verwenden:

QImage imgIn = QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Nach dem Login kopieren

Erklärung:

Der Hauptunterschied bei diesem Ansatz ist das Hinzufügen von img. step, der die Bytebreite jeder Zeile im cv::Mat angibt. Ohne diesen Parameter rendert Qt Bilder möglicherweise nicht immer korrekt.

Durch die Einbindung von img.step können Sie die Kompatibilität mit einer breiteren Palette von Bildern sicherstellen und Rendering-Probleme verhindern.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein cv::Mat in ein QImage in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage