Chez Éric Sibert
+ Accueil > Géographie > Outils

Consulter une image de grande dimension

Utilisation du format jpeg2000 pour consulter des images de grandes dimensions comme des vues satellites

Mis en ligne le 21/05/2005

Le développement des techniques de prise de vue numérique conduit à des images de plus en plus grandes. Il peut s’agir de simples photos numériques éventuellement assemblées en mosaïque pour reconstituer un panorama. Ou de vues satellites haute-résolution comme celle qu’on obtient avec mon logiciel Landsat. Dans ce dernier cas, on peut avoir des images de 18.000 pixels de haut par 16.000 de large. Avec les formats habituels (bitmap, jpg, tiff), la plupart des logiciels ont des difficultés à afficher de ces images car ils essaient de charger entièrement l’image en mémoire, typiquement 800 Mo.

Mais il existe des nouveaux formats graphiques permettant tout à la fois une bonne compression et un accès à n’importe quelle portion de l’image à une échelle quelconque. On peut principalement citer les formats ecw, sid et jpeg2000. Ils utilisent tous des compressions par ondelette mais je ne retiendrai que le dernier, les deux premiers étant propriétaires.

J’ai utilisé les outils de Kakadu Software (version 4.4) pour faire mes essais. Vous pouvez télécharger librement les exécutables (Windows, Linux, Solaris). Malheureusement, le logiciel d’affichage n’existe que sous Windows. Vous n’avez plus qu’à décompresser le fichier zip que vous venez de télécharger dans le dossier de votre choix. L’image à convertir doit être au format bitmap (.bmp). Copier là dans le même dossier. Puis utilisez la ligne de commande pour vous mettre dans ce dossier. Et compressez l’image avec kdu_compress :

C:\Documents and Settings\Eric\Mes Documents\jpeg2000\bin>kdu_compress.exe -i alpes_nord.bmp -o alpes_nord.jp2 -rate 1.0

Vous attendez un peu (1 min 40 sur mon PIV 2,66 GHz). Quelques messages apparaissent :

Note:
   If you want quality scalability, you should generate multiple layers with
   `-rate' or by using the "Clayers" option.
Note:
   The default rate control policy for colour images employs visual (CSF)
   weighting factors.  To minimize MSE instead, specify `-no_weights'.

Generated 1 tile-part(s) for a total of 1 tile(s).
Code-stream bytes (excluding any file format) = 34771059 = 0.999996 bits/pel.
Layer bit-rates (possibly inexact if tiles are divided across tile-parts):
       0.999996
Layer thresholds:
       51174

Conversion terminée.

Dans la ligne de commande, on trouve :
- kdu_compress.exe : le programme lui même
- -i alpes_nord.bmp : l’image à convertir (input file)
- -o alpes_nord.jp2 : le résultat au format jpeg2000 (output file)
- rate 1.0 : taux de compression d’un pixel en bit. Ici, un pixel, soit trois octets est compressé en moyenne en 1.0 bit, soit un facteur de compression de 24. Un tel taux ne pose aucun problème en jpeg2000.

Il y a beaucoup d’autres paramètres dans le fichier Usage_Examples.txt.

Pour voir le résultat, vous faite un glisser-lacher de votre fichier .jp2 sur kdu_show. Une petite application graphique apparaît avec votre image. Vous n’avez plus qu’à naviguer à l’intérieur avec la souris (z et Ctrl-z pour le zoom). Vous pouvez aller voir les détails.

Aix-les-Bains par Landsat et Kdu_show

Le format jpeg2000, un format d’avenir dans le domaine de la géographie.

Copyright : droit d'auteur Éric Sibert. Site réalisé avec SPIP.