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

ImageJ Java Discussion :

Fonctions de filtrage d'imageJ


Sujet :

ImageJ Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    Bonjour,
    Je voudrais savoir si qqn sait comment utiliser un filtre pour faire un plugin pour imageJ. Dans ma doc, j'ai trouve tout ce qu'il fallait pour les declarer mais je ne trouve pas apres comment les utiliser sur mon image.
    Merci d'avance.
    En fait c'est bon, j'ai trouve. Elles font partie de l'imageProcessor :
    ip.FonctionFiltre();
    Par contre, j'ai un autre soucis en ce qui concerne l'amelioration de contraste, je voudrai appliquer un elargissement d'histogramme sur mon image et la encore je seche ...
    Merci.

    Je voudrai egalement utiliser un filtre gaussien mais je n'arrive pas a l'utiliser dans mon code. Je ne dois pas avoir la bonne fonction.
    J'ai essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean blur (ImageProcessing ip, double radius);
    Mais il ne reconnait pas cette fonction et je ne comprends pas pourquoi.
    Si qqn peut m'aider.

    Bonjour,
    J'ai trouve une fonction filter (int n) ou n correspond au type de filtre que l'on veut utiliser, il y a cependant un probleme c'est que je ne trouve pas a quoi correspondent les numeros, je suis donc obligee de les tester et d'essayer de comprendre ce qu'il se passe entre l'image d'origine et l'image filtree. Est ce que qqn a deja utilise cette fonction et sait a quoi elle correspond ?
    En parallele, je recherche une fonction permettant de calculer l'arriere plan et de le soustraire a l'image originale.
    Merci pour vos idees, je suis un peu perdue.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    pourquoi ne regardes tu pas dans le code source de la fonction ?
    Tu trouveras un magnifique switch qui appellera les différentes fonctions correspondantes.

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par Kro86 Voir le message
    Je voudrai egalement utiliser un filtre gaussien mais je n'arrive pas a l'utiliser dans mon code. Je ne dois pas avoir la bonne fonction.
    J'ai essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean blur (ImageProcessing ip, double radius);
    Mais il ne reconnait pas cette fonction et je ne comprends pas pourquoi.
    Si qqn peut m'aider.
    Il y a la classe GaussianBlur() qui possède une méthode blurGaussian():
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /** Gaussian Filtering of an ImageProcessor. If filtering is not applied to the
      *  full image height, the ImageProcessor must have a valid snapshot.
      * @param ip       The ImageProcessor to be filtered.
      * @param sigmaX   Standard deviation of the Gaussian in x direction (pixels)
      * @param sigmaY   Standard deviation of the Gaussian in y direction (pixels)
      * @param accuracy Accuracy of kernel, should not be above 0.02. Better (lower)
      *                 accuracy needs slightly more computing time.
      */
    public void blurGaussian(ImageProcessor ip, double sigmaX, double sigmaY, double accuracy);

    Donc on peut faire comme ça:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ImagePlus imp = new ImagePlus("lena512.bmp");
    new GaussianBlur().blurGaussian(imp.getProcessor(), 1.0, 1.0, 1E-3);

  4. #4
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    Je viens de tester la fonction blurGaussian et j'ai une erreur qd je l'utilise comme tu me le conseilles. Il me dit que cette fonction n'est pas reconnue, j'ai pourtant bien incorpore le package correspondant enfin je crois ... c'est bien celui la : ij.plugin.filter.PlugInFilter ?
    Merci

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par Kro86 Voir le message
    Je viens de tester la fonction blurGaussian et j'ai une erreur qd je l'utilise comme tu me le conseilles. Il me dit que cette fonction n'est pas reconnue, j'ai pourtant bien incorpore le package correspondant enfin je crois ... c'est bien celui la : ij.plugin.filter.PlugInFilter ?
    Merci
    C'est dans le package "ij.plugin.filter"

    Ton IDE ne cherche pas tout seul les packages ?

  6. #6
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    Ba je comprend pas, je l'ai bien importer pourtant. Ou est le probleme ? Bon je vais faire des tests. Je ne vois vraiment pas. J'ai utilise la fonction comme toi et il ne la reconnais pas.

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Pourtant c'est bien une classe de l'API de ImageJ:

    http://rsb.info.nih.gov/ij/developer...ssianBlur.html

  8. #8
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    Oui je suis aussi sur la meme page, voils l'erreur que j'ai :
    D:\ImageJ\plugins\Picture_.java:50: Method blurGaussian(ij.process.ImageProcessor, double, double, double) not found in class ij.plugin.filter.GaussianBlur.
    new GaussianBlur().blurGaussian(ip, 1.0, 1.0, 1E-3);
    Alors je sais pas si c'est moi qui fais une erreur, ce serait pas etonnant ^^. Merci.

  9. #9
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par Kro86 Voir le message
    Oui je suis aussi sur la meme page, voils l'erreur que j'ai
    Ah, tu dois avoir une ancienne version de ImageJ. Essaye ce code là:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ImagePlus imp = new ImagePlus("lena512.bmp");
    new GaussianBlur().blurGaussian(imp.getProcessor(), 3.0); // radius=3.0

    Tu devrais p-e passer à imageJ 1.4

  10. #10
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup, ca marche nickel.
    Du coup, je suis passee a la derniere version d'imageJ merci du conseil.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide sur chercher fonction de filtrage
    Par mojahidE dans le forum Excel
    Réponses: 5
    Dernier message: 14/12/2013, 18h54
  2. fonction de filtrage specifique
    Par pat100 dans le forum Django
    Réponses: 0
    Dernier message: 23/01/2013, 15h21
  3. fonction de filtrage
    Par pat100 dans le forum Django
    Réponses: 2
    Dernier message: 20/11/2012, 17h09
  4. fonction pour filtrage avec des combobox en cascade
    Par Montor dans le forum Contribuez
    Réponses: 3
    Dernier message: 09/11/2009, 12h05
  5. [MySQL] Inclure une fonction de filtrage
    Par Hamzaxxx dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/12/2007, 16h58

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