Maison >développement back-end >C++ >Comment convertir un cv::Mat OpenCV en QImage ?

Comment convertir un cv::Mat OpenCV en QImage ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 12:17:10635parcourir

How to Convert an OpenCV cv::Mat to a QImage?

Conversion d'OpenCV cv::Mat en QImage

Dans les applications de vision par ordinateur, il est souvent nécessaire de convertir entre différents formats d'image. Une conversion courante est celle du format cv::Mat d'OpenCV vers le format QImage de Qt. OpenCV est une puissante bibliothèque de vision par ordinateur, tandis que Qt est un framework d'application multiplateforme.

Solution

Pour convertir un cv::Mat en QImage, utilisez simplement le code suivant :

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

Ce code prend les données du cv::Mat et crée un nouvel objet QImage. Le paramètre img.step spécifie le nombre d'octets par ligne dans le cv::Mat.

Cependant, il est important de noter que le code fourni par Michal Kottman peut échouer dans certains cas. Pour garantir une conversion correcte, il est recommandé d'utiliser le code avec le paramètre img.step inclus, comme indiqué ci-dessous :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn