#1 Mon 12 May 2014 17:59
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
QGIS 2.2 : Ecw, vrt et bande 4
Bonjour,
J'ai des images aériennes avec un bord noir qui pose problème lors de la superposition. Quand j'applique la transparence à la bande 4, tout est parfait. Mais je veux assembler toutes ces photos aeriennes en une seule. Et la je ne sais pas quoi faire de la bande 4, c'est à dire que dans mon vrt elle est toujours la, mais quand je la met en transparence, il me manque un bout d'image!
Comment assembler des images avec un bord noir? (l'option 2 est de passer par les commandes nearblack ou srcnodata de gdal, mais ca marche moyen).
Merci,
Hors ligne
#2 Tue 13 May 2014 13:22
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 2.2 : Ecw, vrt et bande 4
Salut,
Avec la commande gdalbuildvrt il faut utiliser les options suivantes:
-srcnodata "0 0 0 0" --> spécifie que la transparence de la données source (RGBA=0,0,0,0) sera du nodata
-hidenodata --> spécifie que les valeurs nodata seront converties en transparence dans le vrt de sortie
Hors ligne
#3 Tue 13 May 2014 13:25
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
Re: QGIS 2.2 : Ecw, vrt et bande 4
En effet j'ai déjà essayé mais comme j'ai un ecw dont les bords noirs ne sont pas si noirs que ca il me reste des traces sur les côtés. Je ne sais pas s'il est possible de fournir à -srcnodata une liste de valeurs de couleurs proches du noirs? J'ai essayé nearblack mais franchement pas satisfaisant.
Hors ligne
#4 Tue 13 May 2014 14:39
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 2.2 : Ecw, vrt et bande 4
Je pensais que les fichier sources avaient une bande alpha puisque l'affichage est correct quand tu appliques la transparence à la bande 4. Les bords noir c'est du RGBA (0 0 0 255) ou du (0 0 0 0)???
Pourquoi ces fichiers ont-ils des bords noirs? Est-ce lié à une changement de projection avec gdal warp ? Dans ce cas l'idéal est d'affecter les effets de bord au canal alpha dés l'étape de reprojection, de mémoire ça dépends si le fichier source a déjà une bande alpha ou non. S'il n'en a pas on force l'ajout avec -dstalpha
Hors ligne
#5 Tue 13 May 2014 15:46
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
Re: QGIS 2.2 : Ecw, vrt et bande 4
Au final j'ai reapliqué la méthode évoquée dans ce topic: http://georezo.net/forum/viewtopic.php?id=85362
C'est à dire:
gdalbuildvrt assemblage.vrt -srcnodata 255 *.jpg
gdalwarp "-wo init_dest=255
et les recommandations du manuel "Reprojection Raster-GDAL_3.5"
Donc :
- nearblack avec option near 20
- gdalbuildvrt -srcnodata 0 -vrtnodata 255
- gdalwarp -of vrt -wo init_dest=255
- gdal_translate
Mais ca m'a juste transformé les pixels noirs en pixels blancs. Donc quand je superpose avec d'autres couches on ne les voit tjrs pas!
Comment faire disparaitre ces bords?
EDIT: au final je passe directement du buildvrt au gdal_translate et cela marche nickel!
Dernière modification par Miniopterine (Wed 14 May 2014 16:48)
Hors ligne
#6 Wed 14 May 2014 15:46
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
Re: QGIS 2.2 : Ecw, vrt et bande 4
oui mes fichier ecw de départ ont une bande alpha. Mais quand j'assemble les fichiers en vrt puis que j'exporte en tif , j'ai une perte de données a l'endroit de la superposition des images.
En fait tout irait bien si c'était pour visualiser dans qgis mais mon but est de pouvoir visualiser mon assemblage dans MI.
Désolée de ne pas être très claire mais je me pers dans les tests.
Dernière modification par Miniopterine (Wed 14 May 2014 15:51)
Hors ligne
#7 Wed 14 May 2014 17:30
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 2.2 : Ecw, vrt et bande 4
Relis mon premier message la commande à utiliser pour faire le vrt quand on a une bande alpha est:
gdalbuildvrt -srcnodata "0 0 0 0" -hidenodata
Hors ligne
#8 Wed 14 May 2014 18:58
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
Re: QGIS 2.2 : Ecw, vrt et bande 4
Merci Dominique pour votre aide. J'ai testé avec le hidenodata, mais je n'ai pas vu de différence excepté que dans les options de transparence qgis je n'ai plus "valeur nulle" cochées.
Donc je rereresume, au final pour assembler des orthophotos qui sont au départ au format ecw avec des bandes presque noires autour sans avoir de problème de recouvrement:
Donc :
- nearblack avec option near 20
- gdalbuildvrt -srcnodata 0 -vrtnodata 255
- gdal_translate
Pour ce qui est des bords, ils sont tjrs la sauf si on applique la transparence à la bande alpha. Cela est possible dans QGIS mais a piori dans MapInfo je n'ai pas trouvé comment mettre la bande alpha en transparence.
Hors ligne
#9 Thu 15 May 2014 08:53
Re: QGIS 2.2 : Ecw, vrt et bande 4
dans mapinfo, pour cela, il faut avoir l'outil connexe mapimagery. Il y en a deux version : une gratuite et une payante et il me semble que c'est sous sa version payante que l'on peut manipuler le canal alpha.
geodata au cerema et petits billets en géomatique
Hors ligne
#10 Thu 15 May 2014 09:34
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 2.2 : Ecw, vrt et bande 4
Franchement j'ai beau relire les messages, c'est pas clair. La valeur de la bande 4 (canal alpha) au niveau des bordures noires (ou proche) c'est 0 ou 255 ???
Si c'est du 255 alors ta procédure est la bonne, en revanche si c'est 0 l'association des options -srcnodata "0 0 0 0" -hidenodata devrait faire le boulot, j'en suis absolument convaincu. Il faut bien mettre les 4 zeros entre guillemet pour -srcnodata
Hors ligne
#11 Thu 15 May 2014 13:10
- Miniopterine
- Participant assidu
- Date d'inscription: 29 Nov 2005
- Messages: 278
Re: QGIS 2.2 : Ecw, vrt et bande 4
Oui désolée c'était pas hyper clair non plus dans ma tête. Et ca change au fur et à mesure des mes essais. Bref pour un résultat dans qgis je suis hyper satisfaite mais l'affichage dans MI me pose tjrs un petit pb.
En effet j'ai du ecw avec des bords noirs donc " 0 0 0 0" avec la bande alpha.
Si j’utilise le hidenodata, les nodata seront en transparence si je sélectionne la bande alpha comme transparente dans les propriétés de QGIS?
Car à l'affichage suite au chargement du vrt j'ai une belle bande noire, qui disparait quand je sélectionne la bande alpha comme transparente.
Si c'est ca cela marche sauf quand je visionne le résultat dans MI qui n'a pas l'air de gérer la bande alpha.
Hors ligne