In Computer-Vision-Anwendungen ist es oft notwendig, zwischen verschiedenen Bildformaten zu konvertieren. Ein häufiges Szenario ist die Konvertierung von cv::Mat von OpenCV in QImage von Qt. So erreichen Sie diese Konvertierung:
Für einige Fälle verwendet Michal Kottmans Lösung QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage:: Format_RGB888); wird ausreichen. Bestimmte Bilder werden jedoch möglicherweise nicht korrekt angezeigt, wenn img.step nicht in die Konvertierung einbezogen wird.
Um dieses Problem zu beheben, lautet die überarbeitete Lösung:
QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Diese Änderung stellt sicher, dass das Bild wird unabhängig von seinen spezifischen Eigenschaften korrekt konvertiert. Beachten Sie, dass Qt möglicherweise keine Warnung ausgibt, wenn img.step weggelassen wird, seine Anwesenheit jedoch für die Aufrechterhaltung der Bildintegrität von entscheidender Bedeutung ist.
Das obige ist der detaillierte Inhalt vonWie konvertiert man OpenCVs cv::Mat effizient in Qts QImage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!