Je me lance dans un projet d'ampleur de traitement d'image.
Je souhaite réaliser un programme de traitement d'image entièrement basé sur Qt.
Pour le moment je tente (en vint!) de récupérer le buffer et de construire une autre QImage a partir de ce même buffer et ce le plus rapidement possible.
Récupérer le buffer:
Recréer un QImage a partir du buffer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 QImage image(name); format = image.format(); allocation(image.height(), image.width());// a partir des dimmension de l'image je créer le m_pucPixel unsigned char* data = image.bits(); memcpy(m_pucPixel, data, getNbPixels());
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 unsigned char *buffer = new unsigned char[getNbPixels()]; memcpy(buffer,m_pucPixel,getNbPixels()); QImage image(buffer, getLargeur(), getHauteur(), format); if(image.save(name)) return true; else return false;
L'image sauvegardé n'est pas exploitable,(erreur de lecture de la part de windows, fichier corrompu). Je pense qu'il y a des erreur au niveau du format mais je ne comprends pas comment Qt les gère.
Merci pour tout aide.
Partager