Maison >développement back-end >C++ >Comment convertir un cv::Mat en QImage en 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!