Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 28 January 2015 16:05

cbenedetto
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 15 Apr 2014
Messages: 12

[Format JPEG2000] Valeurs de NoData format compressé / non compressé

Bonjour,

J'ai des images tif en je dois les convertir au format JPEG2000 compressé, en conservant les valeurs de nodata présentes dans le tif.
Est-ce que c'est possible avec du jpeg2000 compressé, ou seulement non compressé, ou ni l'un ni l'autre? Pour l'instant quand je convertis en jpeg2000 (compression avec ou sans perte) je me retrouve avec du noir (0,0,0) à la place du nodata.
Est-ce que le nodata doit être spécifié dans une bande alpha (comme le format png) ou peut-être directement dans la donnée?

Merci d'avance pour votre aide

Hors ligne

 

#2 Thu 29 January 2015 11:56

fbecir
Participant assidu
Lieu: Saint-Mandé
Date d'inscription: 16 Sep 2008
Messages: 507

Re: [Format JPEG2000] Valeurs de NoData format compressé / non compressé

Bonjour

Dans le TIFF, je ne pense pas que la notion de NODATA existe. C'est votre application qui doit interpréter certaines valeurs (R, G, B) comme du NODATA ou qui utilise le canal alpha (par exemple, si la transparence est au max, on considère que le pixel est NODATA). Dans votre fichier TIFF, si vous regardez avec un viewer tout simple, vous verrez que les pixels NODATA ont bien une valeur.
Donc la conversion JPEG2000 sans perte vous redonne exactement ces valeurs.

Cordialement

Hors ligne

 

#3 Thu 29 January 2015 15:18

cbenedetto
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 15 Apr 2014
Messages: 12

Re: [Format JPEG2000] Valeurs de NoData format compressé / non compressé

ok merci pour la réponse,
mais je n'ai pas de bande alpha, j'ai des images 16 bits (provenant de capteurs spatiaux) à 4 canaux RGBI, donc pas de bande alpha, mais bien une 4eme bande infrarouge.

J'ouvre ces images avec ENVI, en passant par le fichier de métadonnées .xml et j'ai des pixels qui ont bien une valeur de nodata (NoData,NoData,NoData,NoData).

Mais effectivement quand j'ouvre directement le .tif (avec ENVI ou un autre logiciel) ces mêmes pixels sont à (0,0,0,0).

J'en déduis que le nodata n'est pas contenu directement dans les pixels de l'image, mais dans les métadonnées de l'image (.xml) qui sont lues par ENVI.
On trouve dans le xml :
<Special_Value>
        <SPECIAL_VALUE_TEXT>NODATA</SPECIAL_VALUE_TEXT>
        <SPECIAL_VALUE_COUNT>0</SPECIAL_VALUE_COUNT>
</Special_Value>

Donc si je comprends bien le seul moyen d'avoir du Nodata avec le jpeg2000, c'est de passer par une bande alpha?
Comment peut-on créer un canal alpha à partir de ces données Nodata?

Hors ligne

 

#4 Tue 03 February 2015 22:09

HotShot
Participant occasionnel
Date d'inscription: 3 Apr 2006
Messages: 24

Re: [Format JPEG2000] Valeurs de NoData format compressé / non compressé

En effet, "NoData" n'étant pas une valeur numérique, elle ne peut être stockée directement dans les pixels de l'image. C'est simplement une métadonnée ajoutée au fichier qui permet de mentionner "on peut si besoin considérer que telle valeur de telle correspondrait à une absence de données pour cette bande".

Contrairement au format Tiff (qui autorise l'écriture d'un tag à peu près standardisé 'gdal_nodata'), le format Jpeg2000 ne permet pas de stocker de façon satisfaisante/universelle cette métadonnée au sein du fichier. Par contre on peut bien évidemment l'indiquer dans un fichier de métadonnées externe, cf. <Special_Value> dans un .xml - petit fichier que sauront interpréter correctement certains SIG, et pas d'autres.

Un vilain subterfuge peut éventuellement être l'ajout d'une information supplémentaire pour chaque pixel (!gaffe au gain de poids!), c'est-à-dire l'ajout d'une bande supplémentaire (grosso modo, une bande 'alpha'). C'est plus lourd et pas aussi explicite qu'un tag associant l'information NoData à une certaine valeur des pixels, mais disons que ça peut faire l'affaire pour des besoins simples (visualisation...) ou si on désire absolument un format particulier (p.ex. le Jpeg2000 qui peut contenir une bande alpha).

GDAL et divers autres outils payants permettent de convertir un "Tiff +métadonnée Nodata" en "Jpeg2000 (lossy ou lossless) +bande alpha". Plus qu'à voir ce dont on dispose...

Dernière modification par HotShot (Tue 03 February 2015 22:12)

Hors ligne

 

#5 Thu 12 February 2015 13:46

cbenedetto
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 15 Apr 2014
Messages: 12

Re: [Format JPEG2000] Valeurs de NoData format compressé / non compressé

Merci beaucoup pour ces précisions.

Je suis intéressée par l'idée du fichier xml pour spécifier une valeur de nodata. Concrètement comment se présente le contenu du fichier?
Et est-ce qu'il suffit que le .xml ait le même nom que l'image pour qu'il soit pris en compte par le logiciel?

Hors ligne

 

Pied de page des forums

Powered by FluxBB