#1 Tue 13 July 2010 13:16
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
[GDAL]Problème conversion JPG
Bonjour
J'essaie de transformer un ECW (de 700Mo) en JPG ou JPG2000, avec cette commande:
C:\GDAL>gdal_translate --config GDAL_CACHEMAX 300 --config GDAL_ECW_CACHE_MAXMEM 50000000 -of JPEG -co "WORLDFILE=YES" 4_L93.ecw 4_l93.
jpg
Mais je reçois ce message d'erreur:
Input file size is 112000, 88000
0ERROR 1: libjpeg: Maximum supported image dimension is 65500 pixels
J'ai reçu un début de réponse,http://georezo.net/forum/viewtopic.php?pid=172605
Mais comment faire pour que la librairie JPEG accepte les gros fichiers?
J'ai essayé de convertir l'ECW en TIFF, et ça a fonctionné; mais le fichier pèse 28Go (beaucoup trop lourd)!!!
Et bien sûr, impossible après de passer du TIFF au JPG.
Hors ligne
#2 Tue 13 July 2010 13:31
- JRM
- Participant assidu
- Lieu: Arras
- Date d'inscription: 15 Apr 2009
- Messages: 521
Re: [GDAL]Problème conversion JPG
Et bien sûr, impossible après de passer du TIFF au JPG.
Divisez l'ecw ou le tiff résultant en tuiles jpeg avec gdal_retile.py, vous n'arriverez pas à faire un seul jpeg ayant la même étendu que l'ecw. Les tuiles vous permettront d'éviter la limite de taille jpeg et surtout faciliteront la consultation (pas besoin de tout charger en mémoire).
Hors ligne
#3 Tue 13 July 2010 13:35
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [GDAL]Problème conversion JPG
Comme l'indique le message d'erreur, il s'agit d'une limitation intrinsèque au format JPEG. Pas plus de 65500 pixels en largeur ou en hauteur car c'est codé sur 16 bits dans le fichier (cf http://class.ee.iastate.edu/ee528/Readi … Format.pdf page 3). Donc on ne peut pas faire grand chose à moins de convaincre l'ensemble de l'industrie de passer à des dimensions codées sur plus d'octets.... Et il est inutile d'essayer de passer par un format intermédiaire. Ce qui bloque c'est la sortie.
Alternative 1: utiliser du TIFF avec compression JPEG (attention : tous les lecteurs TIFF ne supportent pas forcément cette formuation du format TIFF). Je conseille de tuiler et de mettre la photométrie à YCBCR pour améliorer le taux de compression. Tu peux aussi jouer avec l'option -co JPEG_QUALITY=xxx pour jouer sur le rapport taille/qualité. Cf http://gdal.org/frmt_gtiff.html
Par ex :
gdal_translate in.xxx out.tif -co COMPRESS=JPEG -co TILED=YES -co PHOTOMETRIC=YCBCR
Alternative 2 : découper ton ECW en tuiles de dimensions raisonnables au format JPEG avec gdal_retile.py (http://gdal.org/gdal_retile.html)
Dernière modification par rouault (Tue 13 July 2010 14:14)
Hors ligne
#4 Tue 13 July 2010 14:00
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [GDAL]Problème conversion JPG
Le lien ne marche pas Rouault:
Cf http://gdal.org/frmt_gtiff.html.
J'essaye la commande
gdal_translate 4_L93.ecw out.tif -co COMPRESS=JPEG -co TILED=YES -co PHOTOMETRIC=YCBCRL
ça me répond ça:
Input file size is 112000, 88000
Warning 6: 'YCBCRL' is an unexpected value for PHOTOMETRIC creation option of type string-select.
0Warning 5: PHOTOMETRIC=YCBCRL value not recognised, ignoring.
Set the Photometric Interpretation as MINISBLACK.
Ca veut dire quoi exactement?
Hors ligne
#5 Tue 13 July 2010 14:13
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [GDAL]Problème conversion JPG
Pour le lien, il faut évidemment enlever le . à la fin de l'url. C'est le wiki qui l'a inclus malencontreusement... http://gdal.org/frmt_gtiff.html
Et ensuite, sans vouloir être méchant, il faut que tu lises les messages d'erreurs. Des fois, la raison évoquée est la bonne. Quand il dit que l'option n'est pas reconnue, c'est qu'elle ne l'est pas... parce qu'il n'y a pas de L à la fin de YCBCR
Tu auras peut être besoin de rajouter tes options magiques initiales - je veux dire --config GDAL_CACHEMAX 300 --config GDAL_ECW_CACHE_MAXMEM 50000000 ou des variations - pour dompter le convertisseur ECW.
Hors ligne
#6 Tue 13 July 2010 14:57
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [GDAL]Problème conversion JPG
Autant pour moi, je suis un peu étourdie.
Par contre, je ne maîtrise pas spécialement la ligne de commande, donc en utilisant GDAL_RETILE, j'obtiens ce message d'erreur
C:\GDAL>gdal_retile.py -of JPEG -ps 10000 10000 - co TWF=YES -tileIndex index.shp -targetDir C:\GDAL outreptile.jpg
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 273
print("Building internal Index for %d tile(s) ..." % len(inputTiles), end=' ')
^
SyntaxError: invalid syntax
J'utilise FWTOOLS 4.7.
Sur le net, j'ai trouvé ceci:
http://old.nabble.com/gdal_retile-error … 16035.html
Donc je me demandais si c'était ma syntaxe qui est incorrecte, ou si c'est un bug sur cette commande?
Hors ligne
#7 Tue 13 July 2010 15:09
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [GDAL]Problème conversion JPG
Il y a effectivement un bug dans la version du script gdal_retile.py dans FWTOOLS 2.4.7. Il faut effectivement faire la modif suggérée dans le post que tu cites, à savoir remplacer la ligne 273 par :
print "Building internal Index for %d tile(s) ..." % len(inputTiles),
Hors ligne
#8 Tue 13 July 2010 16:27
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [GDAL]Problème conversion JPG
J'ai fait la modification.
Relancé la commande; il s'affiche ce message:
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 36, in <module>
import gdal
File "C:\PROGRA~1\FWTOOL~1.7\pymod\gdal.py", line 191, in <module>
import _gdal
ImportError: No module named _gdal
Je suis donc allée sur ce site
http://trac.osgeo.org/gdal/wiki/GdalOgrInPython
Mais là j'avoue que j'ai un peu du mal avec les variables d'environnement:
- Dans VARIABLES UTILISATEUR POUR x, j'ai mis
C:\gdalwin32-1.6\bin
- Dans VARIABLES SYSTEME, j'ai mis
Name : GDAL_DATA
Path : C:\gdalwin32-1.6\data
Et j'ai toujours la même erreur.
Hors ligne
#9 Tue 13 July 2010 17:34
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [GDAL]Problème conversion JPG
Attention, les instructions données dans le wiki ne concernent pas la distribution FWTools mais des binaires ne contenant que GDAL disponible ici : http://download.osgeo.org/gdal/win32/1.6/
Il ne faut donc pas modifier ton PATH, FWTools se suffit à lui-même.
J'ai reproduit la même erreur que toi parce que j'ai installé Python par ailleurs dans mon système. Je fais donc l'hypothèse que c'est également ton cas. En fait, il ne faut pas taper gdal_retile.py directement (qui cherche alors à s'exécuter avec la version "système" de Python), mais gdal_retile (ou gdal_retile.bat) qui est un .bat qui appelle la version de Python inclue dans FWTools, et là ça fonctionne.
Hors ligne
#10 Tue 20 July 2010 12:10
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [GDAL]Problème conversion JPG
Bonjour
J'ai donc annulé le changement de variables et par là-même supprimer les variables d'environnement créées par l'installation de Mapwindow.
Mais il y a un nouveau message d'erreur:
C:\GDAL>gdal_retile -of JPEG -ps 10000 10000 - co TWF=YES -tileIndex index.shp -targetDir C:\GDAL outreptile.jpg
('Unrecognised command option: ', '-')
Cela veut-il dire qu'il faut mettre des guillemets quelque part?
Hors ligne
#11 Tue 20 July 2010 13:17
- JRM
- Participant assidu
- Lieu: Arras
- Date d'inscription: 15 Apr 2009
- Messages: 521
Re: [GDAL]Problème conversion JPG
Il y a un espace entre - et co TWF
Hors ligne