JAI / Raster.getNumBands()

noula27 Messages postés 9 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 4 mai 2010 - 29 janv. 2010 à 17:50
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 29 janv. 2010 à 19:34
Bonjour, Je travail avec JAI depuis peu, est ce qu'il y a quelqu'un qui peut m'explique la fonction getNumBands() ??

Raster ras = myPlanarImage.getData(); // Returns the entire image in a single Raster.
int nbands = ras.getNumBands(); // retourne quoi exactement ????

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
29 janv. 2010 à 18:33
Salut,

A vérifier, mais il me semble (de mémoire) qu'il s'agit du nombre de couleurs par pixels : 3 ou 4 selon si t'es en 24 bits ou 32 bits.
______________________________________
DarK Sidious
0
noula27 Messages postés 9 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 4 mai 2010
29 janv. 2010 à 19:28
Il me semble moi aussi, mais je veux une réponse exacte, car je manipule une image gradient "im1" créer a partir de :
// chargement de l'image.
PlanarImage im0 = (PlanarImage)JAI.create("fileload",monImage);
// Creation des deux masques horizontal et vertical.
float masque_h[] = new float[] { 1.0F, 0.0F, -1.0F,
1.414F, 0.0F, -1.414F,
1.0F, 0.0F, -1.0F};
float masque_v[] = new float[] {-1.0F, -1.414F, -1.0F,
0.0F, 0.0F, 0.0F,
1.0F, 1.414F, 1.0F};

KernelJAI kern_h = new KernelJAI(3,3,masque_h);
KernelJAI kern_v = new KernelJAI(3,3,masque_v);

// Creation de l'operation de Gradient. im1 est l'image de gradient resultat
im1 =(PlanarImage)JAI.create("gradientmagnitude", im0, kern_h, kern_v);

Logiquement, "im1" est en niveaux de gris !! Quand j'applique:
Raster ras = im1.getData(); // Returns the entire image in a single Raster.
int nbands = ras.getNumBands();
System.out.println(" ............ nbands= "+nbands);

Je trouve que la variable nbands=3 => chaque pixels a 3 valeur ?? R, G et B ?? Ce qui me semble pas normal !!!!
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
29 janv. 2010 à 19:34
Salut,

Tout dépend comment est codé ton fichier image : s'il a une palette 24 bits, c'est normal. S'il a une palette 8 bits, il devrait te renvoyer 1 logiquement...
______________________________________
DarK Sidious
0