S'il vous plait, comment faire (SOS) pour enregistré une image qui a une profondeur de 32F ?!
S'il vous plait, comment faire (SOS) pour enregistré une image qui a une profondeur de 32F ?!
Pour ceux qui veulent la solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Enregistrement des données d'une image 32 bit à une image 8 bit //IplImage *img8bit; //IplImage *img32bit; // On fait des opérations sur l'image à 32 bit // On copie les données sur la 8 bit for(int i = 0; i < img8bit->width; i++) for(int j = 0; j < img8bit->height; j++) CV_IMAGE_ELEM(img8bit, uchar, j, i) = CV_IMAGE_ELEM(img32bit, float, j, i); // Maintenant je peux enregistrer l'image cvSaveImage("monImage",img8bit);
image_Re (64F)
saveimg (8B)
cvConvertScale(image_Re,saveimg,255,0)
comme ça ça marche aussi
=>
OpenCv Addict
ha ça ne devait pas marcher chez moi car j'avais mis
cvConvertScale (..., 1,0)
au lieu de
cvConvertScale (..., 255,0) !?!
Merci Vinss !
En effet : j'avais fait l'erreur une fois aussi mais en regardant les valeurs contenues dans mon ipl j'avais constaté que c'etait pas top : à partir de la je me suis rendu compte que la valeur du convert scale permettait de specifier la valeur max du pixel : soit 255 (0-255) = 256 valeurs = 2^8 valeurs) pour 8 bits.
=>
OpenCv Addict
ha ok...ton explication est carrément plus claire que celle de l'API
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager