#1 Mon 22 February 2010 20:26
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
[GRASS ou SAGA] Traitement morphométrique
Bonjour,
J'aimerais faire quelques traitements morphométriques afin d'améliorer un masque. Je cherche dans un 1er temps à faire des ouvertures et des fermetures (donc des érosions et des dilatation). Y a-t-il une fonction dédiée dans GRASS ou SAGA pour ça ? J'avais l'habitude de faire ce genre de traitements sous Aphelion (mais je ne l'ai plus) où il existe des fonctions toutes faites.
j'aimerais également "boucher les trous d'une image binaire" et faire des "ouvertures par reconstruction". Encore une fois Aphelion le proposait directement, mais je préférerais passer par une solution libre. Si vous savez comment faire avec GRASS ou SAGA, je suis preneur.
Je vous souhaite une bonne soirée !
Paul
Paul
Hors ligne
#2 Tue 23 February 2010 02:27
Re: [GRASS ou SAGA] Traitement morphométrique
Hello,
Jette un coup d'oeil sur les modules décrits online ici, notamment celui là : http://www.saga-gis.org/saga_modules_do … index.html pour fermer les trous.
Je suis sûr que GRASS le fait aussi
Hors ligne
#3 Tue 23 February 2010 12:40
- Julien
- Membre
- Lieu: Paris
- Date d'inscription: 13 Feb 2006
- Messages: 138
Re: [GRASS ou SAGA] Traitement morphométrique
Bonjour,
voici un accès vers le wiki pour me traitement d'images dans Grass. Peut-être cela fera-t-il ton bonheur, notamment les filtres d'images.
http://grass.osgeo.org/wiki/Image_processing
Julien
Dernière modification par Leprince_Julien (Tue 23 February 2010 12:40)
Hors ligne
#4 Tue 23 February 2010 16:24
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: [GRASS ou SAGA] Traitement morphométrique
Bonjour,
Merci à vous ! Je vais explorer ces liens.
Bonne journée !
Paul
Paul
Hors ligne
#5 Tue 23 February 2010 17:57
- ch@rly
- Participant occasionnel
- Lieu: brive la gaillarde
- Date d'inscription: 29 Oct 2008
- Messages: 24
Re: [GRASS ou SAGA] Traitement morphométrique
Bonjour,
élément de réponse concernant GRASS :
j'utilise le module r.neighbors; avec une taille de fenêtre appropriée, en alternant les opérations minimum, maximum (dans le sens voulu).
Exemple pour une érosion :
1/ in=mask [opération=min] out=maskmin
2/ in=maskmin [opération=max] out= maskminmax
Ce n'est donc pas automatique et d'autres logiciels proposent peut être plus d'options de contrôle ?
Sinon il y a r.mfilter avec lequel on peut construire son propre filtre ... Je connais moins, attention c'est puissant ...
Bonnes suites.
Hors ligne
#6 Tue 23 February 2010 23:10
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: [GRASS ou SAGA] Traitement morphométrique
pour ce qui est de "boucher les trous d'une image binaire", je pense que r.fillnull (http://grass.osgeo.org/grass64/manuals/ … nulls.html) devrait te convenir ...
pour ce qui est des opérations d'érosion, il y a également un module qui est la exprès pour, mais je ne me souviens plus du nom ...
Hors ligne
#7 Wed 24 February 2010 16:13
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: [GRASS ou SAGA] Traitement morphométrique
Bonjour,
Merci de ces réponses.
r.neighboors a l'air bien (je n'avais pas pensé à la méthode des min et des max).
Par contre, je suis étonné par le temps de calcul : en appliquant r.neighboors "mode" avec une fenêtre 3*3 sur une image de 4.3 Mo, ça m'a pris près de 15 heures. J'ai pourtant une machine pas trop mal (2.67 GHz et 2 Go RAM). Je ne me rends pas compte, est-ce normal ou est-ce mon GRASS qui gère mal le processus ?
r.rmfilter m'allèche en effet, mais je ne me souviens plus de la forme matricielle des érosions et des dilatations, j'ai peut-être de la purée dans les yeux mais je n'ai rien trouvé dessus ; la connaissez-vous ?
Et auriez-vous une technique pour faire des "ouvertures par reconstruction" ?
Bonne journée
Paul
Paul
Hors ligne
#8 Wed 24 February 2010 21:49
- ch@rly
- Participant occasionnel
- Lieu: brive la gaillarde
- Date d'inscription: 29 Oct 2008
- Messages: 24
Re: [GRASS ou SAGA] Traitement morphométrique
Ce n'est effectivement pas normal.
Petit test perso : avec un bon pc, l'opération mode (3X3) sur une grille légère de 1500 X 1200 a demandé moins de 30 secondes ...
Le module r.info retourne la taille de votre grille qui est traitée : plus pertinent qu'un poids de fichier compressé ou non tenant compte ou non des valeurs nulles ...
Sinon je n'ai pas idée de la source de cette lenteur.
A+
Hors ligne
#9 Thu 25 February 2010 10:02
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: [GRASS ou SAGA] Traitement morphométrique
Merci de m'avoir fait découvrir r.info.
Mon image fait 2093 * 2400, ce qui n'est pas beaucoup plus que la tienne.
C'est étrange, j'en reste coi...
Penses-tu que cela puisse venir du fait que j'utilise GRASS installé via Osgeo sur un Windows XP ??
Paul
Hors ligne
#10 Fri 26 February 2010 15:33
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: [GRASS ou SAGA] Traitement morphométrique
Encore moi et mes questions de traitements morphométriques.
J'ai encore une question relative au bouchage de trous sur un raster. J'ai exploré le module SAGA dont parlait Robin, mais il ne convient pas à mon cas. En effet, ce module remplit les valeurs lorsqu'il rencontre un pixel à "No value" (si j'ai bien compris).
Or je souhaiterais effectuer la démarche suivante :
J'ai un masque (donc une image en 0 et 1 ou 0 et 255), sur lequel j'ai des "taches" à 1 sur un fond à 0. Les taches qui m'intéressent sont assez grosses mais elles sont "trouées" par des pixels à 0. Et j'ai beaucoup de "bruit" autour de mes taches intéressantes (quelques pixels à 1 mais qui ne m'intéressent pas). Donc j'aimerais pouvoir "boucher" les trous à 0 de mes taches intéressantes et les mettre à 1. Ce qui me permettrait ensuite de faire des érosions sans trop abimer mes taches intéressantes. Comme c'est un peu confus tout ça, je joins une image illustrant mes propos.
Merci d'avance de votre aide et bon weekend à tous !
Paul
Paul
Hors ligne
#11 Fri 26 February 2010 16:50
Re: [GRASS ou SAGA] Traitement morphométrique
Pfffiou, pas évident. A mon avis, il faut utiliser un filtre "majoritaire" (Majority Filter), c'est un filtre qui se base sur ce qui a autour pour contaminer les zones de peu de pixels avec les valeurs des zones avec beaucoup de pixel... En gros, ça élimine ce qu'on appelle le "bruit".
Ca marche pas mal en classif par exemple pour dégrossir l'image de quelques pixels mal classés.
Je te laisse chercher où c'est dans les softs, le travail s'accumule pour cette fin d'après midi...
Robin.
Hors ligne
#12 Fri 26 February 2010 18:09
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: [GRASS ou SAGA] Traitement morphométrique
je pense que ce que tu cherche s'appelle un "filtre de lissage": il s'agit d'appliquer une petite matrice de calcul qui va recalculer la valeur d'un pixel en fonction de celle de ses voisins ...
Hors ligne
#13 Mon 01 March 2010 10:24
- Paul
- Participant assidu
- Lieu: Paris
- Date d'inscription: 31 Jul 2008
- Messages: 158
Re: [GRASS ou SAGA] Traitement morphométrique
Bonjour et bonmois
Je vous remercie pour ces réponses rapides. Je vois que c'est donc plus compliqué qu'il n'y parait.
J'ai pensé au filtre de lissage mais le souci, c'est qu'il va également me lisser les bordures de mes taches intéressantes et qu'il risque dans certains cas de me grossir mes taches de bruit...
Bonne journée !
Paul
Paul
Hors ligne