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

Comment convertir un cv::Mat en QImage en C ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 20:32:12711parcourir

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

Comment convertir OpenCV cv::Mat en QImage

Problème :

Comment peut-on Je convertis un type OpenCV cv::Mat en QImage en C ? La conversion d'IPlimage en QImage à l'aide du code existant n'est pas suffisante.

Solution :

La réponse de Michal Kottman est généralement exacte, mais elle peut échouer pour certaines images. Pour résoudre ce problème, vous pouvez utiliser la solution suivante :

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

Explication :

La principale différence dans cette approche est l'ajout de img. step, qui spécifie la largeur d'octet de chaque ligne dans le cv::Mat. Sans ce paramètre, Qt ne restituera pas toujours les images correctement.

En incluant img.step, vous pouvez garantir la compatibilité avec une gamme plus large d'images et éviter les problèmes de rendu.

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