IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Faire une image de distance avec java


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 21
    Points
    21
    Par défaut Faire une image de distance avec java
    Salut les djeuns,
    je suis en train de calculer une image de distance, i.e. transformée de distance et je voudrais stocker toutes ces valeurs dans une image ARGB.

    Habituellement, j'affiche des images codés sur 1 octet (256 valeurs) pour chaque canal.

    je crée une image buffer; je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int [] pixels=new int[taille];
    monImageBuff.getRGB(0,0,largeur,hauteur,pixels,0,largeur);
    je m'amuse avec les valeurs des intensités du tableau pixels

    et je recompose mon image en faisant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pixels[i]=alpha[i]<<24+red[i]<<16+green[i]<<8+blue[i];
    MemoryImageSource source=MemoryImageSource(largeur,hauteur,pixels,0,largeur);
    Image monImage=Toolkit.getDefaultToolkit().createImage(source);
    Quelqu un peut il m indiquer comment faire pour des images dont les valeurs sont des distances donc supérieures à 256?

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Une règle de trois devrait faire l'affaire, non ?
    Il suffirait de trouver la distance maximum.
    Tu peux donner plus d'explication sur ce qu'est une image de distance ? Ca à un rapport avec du voxel ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    dinobogan : Une règle de trois devrait faire l'affaire, non ?
    Il suffirait de trouver la distance maximum.
    Exacte, j'ai testé avec une règle de trois mais la dynamique de l'image sera trop faible pour faire varier efficacement mon contour actif.

    dinobogan :Tu peux donner plus d'explication sur ce qu'est une image de distance ?
    Je cite la définition de wikipedia qui peut parait très bien formulée :

    La carte de distances, aussi appelée transformée de distances, est une représentation d'une image numérique. Elle associe à chaque pixel de l'image la distance au point obstacle le plus proche. Ces points obstacles peuvent être les points du contour de formes dans une image binaire.

    Donc ma question revient plus ou moins à comment faire une image où les valeurs des intensités des pixels peuvent être des valeurs réelles?

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par K@rim Voir le message
    Donc ma question revient plus ou moins à comment faire une image où les valeurs des intensités des pixels peuvent être des valeurs réelles?
    Non pas "peuvent être" mais "peuvent représenter". La nuance est importante.
    Il ne faut pas confondre non plus la représentation des données et le traitements des données. Tu peux très bien imaginer une image avec des valeurs de composantes de pixel en valeurs réelles sur des milliers d'octets. Il suffit ensuite de trouver une méthode pour faire une représentation graphique cohérente par rapport au résultat attendu.
    Je vois deux possibilités :
    1. soit tu choisis arbitrairement une distance maximum, la "ligne d'horizon", au delà de laquelle toute distance sera rendue par cette distance maximum. Exemple : horizon à 1000, toute valeur au delà de 1000 vaut 1000. Tu peux directement construire ton image par une règle de 3.
    2. soit tu calcules une matrice des distances, puis tu recherches la valeur maximum et construis ton image avec une règle de 3 entre cette distance maximum et 255.

Discussions similaires

  1. Réponses: 18
    Dernier message: 18/06/2009, 18h57
  2. Réponses: 4
    Dernier message: 01/09/2007, 12h22
  3. Faire glisser une image trop grande avec la souris
    Par avogadro dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 28/07/2006, 16h50
  4. [ImageMagick] Cherche à faire une image avec texte et image
    Par dnipro dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 18/05/2006, 14h08
  5. Comment faire une image de partition partagée avec qmenu ?
    Par narmataru dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 19/12/2005, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo