Maison > développement back-end > C++ > Comment puis-je convertir de manière fiable un cv::Mat en QImage ?

Comment puis-je convertir de manière fiable un cv::Mat en QImage ?

Patricia Arquette
Libérer: 2024-12-20 02:36:09
original
961 Les gens l'ont consulté

How Can I Reliably Convert a cv::Mat to a QImage?

Conversion OpenCV cv::Mat en QImage

OpenCV cv::Mat et Qt QImage sont deux structures de données couramment utilisées pour stocker et manipuler des images. La conversion entre ces formats est une tâche courante, et il existe plusieurs méthodes pour y parvenir.

Solution de Michal Kottman

Une solution, telle que référencée dans la question, est fournie par Michael Kottman. Cette méthode implique l'affectation directe des données cv::Mat à QImage:

QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step1(), QImage::Format_RGB888);
Copier après la connexion

Réponse aux limitations

Cependant, dans certains cas, cette approche peut ne pas donner le résultats attendus pour certaines images. Pour résoudre ce problème, une solution améliorée est proposée :

QImage imgIn= QImage((uchar*) img.data, img.cols, img.rows, img.step, QImage::Format_RGB888);
Copier après la connexion

Différence clé

La différence cruciale dans cette solution est l'inclusion de img.step dans l'appel de fonction . Bien que Qt ne puisse pas générer d'erreur sans ce paramètre, son absence peut conduire à un affichage incorrect de certaines images.

Conclusion

En incorporant img.step, cette solution fournit une méthode plus robuste pour convertir cv::Mat en QImage, garantissant une représentation d'image cohérente et précise dans tous les cas.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal