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

Algorithmes et structures de données Discussion :

convolution d'image


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut convolution d'image
    Salut.

    Je ne savais pas ou poster ce message alors je me suis dit qu'ici
    ca devrais passer.

    Voila , je voudrais savoir si il existe deja un soft qui permet trouver une image net a partir de 2 autres plus floues (en utilisant des technique de convolution par exemple)?
    J'espere que ma question est claire, sinon posez moi des questions.

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Salut,

    Est-ce que les deux images floues représentent la même image ? Je ne connais pas de programme qui fait ce genre de choses, mais peut-être qu'une simple moyenne pour chaque pixel pourrait faire l'affaire ? Pourrais-tu détailler comment tu penses utiliser une convolution pour obtenir une image plus nette ?

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Bonsoir
    Alors pour faire des calculs scientifiques sur des imaes, je peux conseiller matlab (si on a des sous ou que l'endroit ou on travaille en posède une licence (fac, labo...)) ou imageJ si non.
    Alors pour ce problème de deux images floues, une idée simple serai de moyenner les deux images, ou alors de moyenner leur spectre.

    Mais une question qui a son importance : quel genre de flou est présent sur les images ??

    Mabu

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 67
    Par défaut
    Oui, il est important de savoir de quel flou il s'agit,
    Si c'est un Flou Gausien ou Median.....
    Je pense que le mieux a faire. Serait de faire un simple petit prgm en C++, qui ferait un Moyennage suivit d'un Laplacien,

    il y a meme mieux de convoluer le gradient seuillé et le laplacien mais j'ai pas les information ici, je recherche chez moi, et je te le dit ce soir. J'ai meme (si je lai pas jeter) le prgm en c++,(utilisant la librarie CImg) qui fait ce que tu demande.

  5. #5
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut
    J'ai ete un peu simpliste dans ma question.
    Alors disons qu'il s'agit strictement de la meme photo mais prise deux foix.
    Le flou est en fait du a l'imprecision de l'appareil (400*600 pixels).

    J'esperais donc pouvoir prendre deux fois une photo d'un objet qui m'interesse et en faire une photo plus nette.

  6. #6
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Oui dans ce cas là un simple moyennage suffit.
    En photographie il faut aussi faire gaffe au flou de bougé (ou alors tes photos sont prises depuis un endroit fixe) qui peut être résolu par un filtrage de Wiener (je dois même avoir le code matlab quelque part chez moi je peux t'envoyer ça si ça t'intéresse)...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 67
    Par défaut
    En faisant, un Gradient seuillé et un laplacien, tu n'as besoin de prendre qu'une seul photo et le resultat est garanti.

  8. #8
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut
    OK pour le gradient seuille et le Laplacien, voir aussi le moyennage;mais il existe des EXE tout fait? Ou bien ce sont des fonctions que je peux trouver sur gimp ou photoshop.

    PS : Pour le code matlab ca m'interesse aussi.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 67
    Par défaut
    Pour trouver la norme du gradient c'est simple, il faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Norme du gradient de limg = Racine de ( (derivée de Img en x)² + (dérivé de l'IMg en y)²)
    puis il faut seuiller le resultat avec un maximum (a choisir selon l'image)

    et pour le laplacien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Laplacien de l'image = (double dérivé en x) +( double dérivée en y)
    Je pense que le plus simple serait de faire un masque deriveur en x et un en y. pour trouver le laplacien

    masque deriveur en x =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1   1  1
    0   0   0
    -1 -1 -1
    Et l'appliquer a chaque pixel de l'image

    pour le masque deriveur en y=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1 0 -1
    1 0 -1
    1 0 -1
    Pour les masque vous pouvez trouvez mieux (je pense) ceux la sont ceux de prewitt

    a appliquer aussi a chaque pixel de l'image.

    N'oublier pas apres le calcul du gradient et de le seuillé, et la theoriquement vous devriez avoir une image avec seulement les contours les plus fort.

    puis apres pour le laplaccien c'est plus facile.
    il suffit d'appliquer le masque du laplacien a chaque pixel de l'image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1  1  1
    1 -8  1
    1  1  1
    La vous avez une aure image avec plein de contour.

    Vous convoluer les deux images obtenue, et vous devriez avoir une image net.

    A moins que vous n'ayez juste les contours tres net.
    A voir.

  10. #10
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    En ce qui concerne le filtrage de Prewitt, j'ai mis en ligne ce que j'avais fait en matlab :
    http://www.mathieu.tobie.perso.cegetel.net/
    Il faut cliquer sur l'onglet "Projets"

Discussions similaires

  1. [Image] Créer un noyau de convolution gaussien
    Par millie dans le forum Contribuez
    Réponses: 13
    Dernier message: 02/09/2011, 00h47
  2. [Image] Gradient et Hessienne par Convolution
    Par pseudocode dans le forum Contribuez
    Réponses: 28
    Dernier message: 01/11/2010, 00h01
  3. Convolution d'une image par la multiplication de deux filtres
    Par Azhag70 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 31/03/2008, 14h26
  4. Convolution d'une image et fonction
    Par samia_6 dans le forum Images
    Réponses: 11
    Dernier message: 23/10/2007, 08h07
  5. convolution d'image
    Par Rniamo dans le forum C
    Réponses: 9
    Dernier message: 06/06/2007, 00h17

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