#1 Tue 17 June 2008 15:06
- sawn
- Juste Inscrit !
- Date d'inscription: 17 Mar 2008
- Messages: 3
ENVI 4.3 ou 4.4 Creation d'imagettes
Bonjour,
il est possible de créer des "imagettes" à partir d'une image grâce à des ROIs en faisant "subset data via rois" (dans "basic tools") en choisissant la ROI et en choisissant de masquer les pixels à l'extérieurs de la ROI...
Cependant, cette méthode devient vite contraignante lorsqu'on possède un très grand nombre de ROIs...
Quelqu'un connaitrait-il une méthode automatique pour créer des "imagettes" à partir de ROIs ?
Merci pour votre aide!
Hors ligne
#2 Tue 01 July 2008 16:16
- Dam1en
- Participant occasionnel
- Date d'inscription: 12 Jun 2008
- Messages: 13
Re: ENVI 4.3 ou 4.4 Creation d'imagettes
Bonjour,
Lorsque tu as besoin de repeter un traitement de nombreuses fois, tu peux utiliser ENVI en mode batch. Pour decouper une image en plusieurs zones, tu peux utiliser la fonction RESIZE_DOIT (voir la documentation pour un exemple et plus de details). Le choix de la zone a decouper se fait via le mot cle DIMS qui peut egalement faire reference a une ROI.
Si tu n'es pas familier avec la programmation dans ENVI, je te conseille de commencer par le tutoriel suivant: http://geotrouvetout.files.wordpress.co … h_envi.pdf
Bonne chance !
Damien
Hors ligne
#3 Thu 03 July 2008 11:03
- sawn
- Juste Inscrit !
- Date d'inscription: 17 Mar 2008
- Messages: 3
Re: ENVI 4.3 ou 4.4 Creation d'imagettes
Bonjour Dam1en,
Merci pour l'aide et pour le tutoriel!! j'y vois déjà plus clair.
Cependant , après avoir restauré mais ROIs, comment faire le mot clé DIMS y faire référence?
Merci encore
Sawn
Hors ligne
#4 Tue 08 July 2008 10:08
- Dam1en
- Participant occasionnel
- Date d'inscription: 12 Jun 2008
- Messages: 13
Re: ENVI 4.3 ou 4.4 Creation d'imagettes
Bonjour,
Lorsque tu as restaure tes ROIs, tu peux recuperer l'adresse des pixels correspondants pour les passer au mot cle DIMS:
1/ Recuperer l'adresse des ROIs disponibles:
roi_ids = ENVI_GET_ROI_IDS(fid=fid, roi_names=roi_names)
2/ puis les adresses des pixels correspondants:
adresses_roi_1=ENVI_GET_ROI(roi_ids(0))
3/ convertir ces adresses en coordonnees (ligne,colonne)
roi_lignes=adresses_roi_1 MOD ns
roi_colonnes=adresses_roi_1/ns
ou ns est le nombre de colonnes
Puis, recuperer les coordonnees des pixels en haut-a -gauche et en bas-a-droite du rectangle qui englobe la ROI:
Pixel_en_haut_gauche= [min(roi_lignes), min(roi_colonnes)]
Pixel_en_bas_droite=[max(roi_lignes), max(roi_colonnes)]
Tu peux donc construire la variable DIMS de la maniere suivante:
DIMS=[-1, Pixel_en_haut_gauche(0), Pixel_en_bas_droite(0), Pixel_en_haut_gauche(1), Pixel_en_bas_droite(1)]
que tu passes a la fonctions resize_doit:
envi_doit, 'resize_doit', fid=fid, pos=0, dims=dims, interp=0, rfact=[1,1], in_memory=1, r_fid=r_fid
Pour plus de details concernant la manipulation des ROIs en mode programmation, je te conseille de consulter le chapitre suivant de la documentation: ENVI Programmer's Guide -> Additional Topics en ENVI Programming -> Regions of Interest
Damien
Hors ligne