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

Traitement d'images Discussion :

Post-traitement - Gradient d'image très bruitée


Sujet :

Traitement d'images

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Post-traitement - Gradient d'image très bruitée
    Salut les jeunes,

    Nom : gradient.png
Affichages : 475
Taille : 74,0 Ko

    Sur l'image ci dessus, vous pouvez observer les gradients dans la direction x et y d'une image très bruitée. Il s'agit d'une bulle qui se déplace dans un canal.
    J'ai dèja soustrait à cette image son arriere plan (le canal sans bulle).

    La bulle est la partie toute noire et j'ai besoin d'analyser sa forme par la méthode des gradients.Cependant je ne parviens pas a supprimer suffisamment le bruit autour en filtrant...
    Une autre idée serait de combler les zones noires autour de la bulle, mais je ne vois pas comment faire sans modifier la forme de ma bulle...

    Je viens vers vous à la recherche d'idée et d'outils matlab dont je n'aurais pas connaissance.

    Merci par avance,
    Bonne soirèe à toutes et á tous !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2011
    Messages : 13
    Points : 26
    Points
    26
    Par défaut
    Lorsque l'image d'entrée est de mauvaise qualité (floue/bruit/etc), j'ai bossé sur 3 axes :
    1. l'algo de type laplacien de l'image, y'en a un qui m'a été utile, c'est le local normalization
    2. l'algo basé sur histogramme, tu joues sur l'histogramme de l'image pour ajouter du contraste tout simplement ou localement, tu as l'algo qui s'appelle CLAHE
    3. l'algo basé seuillage adaptatif pour les images irrécupérables

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci je vais creuser dans les trois directions

  4. #4
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Les images sont-elles des images brutes ou déjà traitées ? Que cherches-tu exactement ?
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Oui les images au dessus sont déja un peu traitées ...
    Voici les deux images de depart : une fois le canal avec une bulle et une fois le meme canal sans bulle (pour pouvoir soustraire l'arriere plan)

    Nom : bubble.png
Affichages : 259
Taille : 77,9 KoNom : background.png
Affichages : 249
Taille : 76,7 Ko


    Je cherche les quatres angles de contact entre la bulle et les parois du canal

    Je m'en suis sorti avec une methode de edge detection mais cette fois, je voudrais employer la méthode des gradients pour comparer mes résultats

  6. #6
    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
    Fais donc un peu de morphologie mathématique (ouverture et fermeture) pour lisser ton image avant de calculer ton gradient.
    Ensuite ce que tu vas vouloir rechercher, c'est cette zone noire qui entoure la bulle.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Je ne sais pas ce qu'est au juste cette méthode des gradients mais une longue expérience m'a appris que calculer des dérivées de signaux réels amène tellement de bruit qu'on ne peut plus rien faire.
    Je suis aussi en désaccord avec toto13. Lisser une image (ou n'importe quel signal) avant d'en extraire des paramètres aboutit trop souvent à faire passer du bruit pour du signal et déterminer donc des paramètres erronés. Je conseille de ne jamais le faire.
    Si je devais traiter ce problème, j'essaierai de trouver l'arc de cercle qui sépare le mieux la zone noire de l'autre. Je n'ai malheureusement pas le temps maintenant d'aller plus en détail.
    Bon courage.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Toto : En effet je me renseigne sur la méthode et ça semble être parfaitement approprié pour ne pas modifier la forme de ma bulle ! Top !
    En revanche que me conseilles-tu comme forme d'élément structurant ?
    Comme tu l'as compris je ne suis finalement intéressé que par les deux extrémités à droite et à gauche

    Je te joins ce que j'ai pu bricoler avec le résultat. C'est déjà une nette amélioration, merci !

    Nom : OPR.png
Affichages : 255
Taille : 12,8 Ko
    Je continue à bosser dessus mais je te laisse me dire si je suis bien parti dans la direction que tu m'indiquais.


    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    close all;
    clear all;
    clc;
     
    image=imread(['SS-Plug flow3-Delta P_2.2.T_B1_130.T_B2_130.VFR_10mlPERmin000022.tif']);
    image(end-39:end, :)=[];
    image(1:75, :)=[];
    s=size(image);
     
    image=255-image;
     
    mask=image;
    se=strel('disk',2,4);
    marker=imerode(mask,se);
     
    reconstructed=imreconstruct(mask,marker);
     
    figure(1)
    subplot(2,1,1)
    imshow(image)
    subplot(2,1,2)
    imshow(reconstructed)


    Nebulix : Je comprends ton avis merci. J'ai déjà codé la méthode que tu proposes. Je suis allé chercher les points qui sépare ma zone noire du reste. J'ai approximé ces points avec un polynôme du second degré dont j'ai pu calculer la tangente au niveau des bords et obtenir mon angle. Voici un résultat possible
    Nom : interpolation.png
Affichages : 289
Taille : 11,4 Ko

    L'objectif est maintenant d'utiliser une autre méthode (ce que j'appelle la méthode des gradients) pour comparer les résultats.
    Par méthode des gradients j'entends calculer les gradients de mon image, leur intensité etc. À ce moment je n'aurais plus qu'à aller lire la valeur de l'angle de mon gradient à l'endroit qui m'intéresse

    Pour ceux qui aiment avoir un contexte. Je compte simuler de telles images (deux murs et une bulle) avec des valeurs d'angles que je connaîtrai. Je bruiterai et je flouterai ces images (pour simuler l'expérience réelle) et je pourrai tester la capacité de mes algos à déterminer précisément mon angle


    EDIT : Ah oui je me suis permis de couper les bords. Ma camera étant fixe, je peux me permettre de recouper à la main une fois et d'appliquer ce changement à toutes mes futures vidéos

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Fais donc un peu de morphologie mathématique (ouverture et fermeture) pour lisser ton image avant de calculer ton gradient.
    Ensuite ce que tu vas vouloir rechercher, c'est cette zone noire qui entoure la bulle.

    Toto13 Penses-tu que je puisse obtenir un bien meilleur résultat que celui que je présente sur mon post précédant ?
    Merci d'avance

  10. #10
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    J'avais supposé que la taille de ton canal était inférieure à la longueur capillaire de ton système, et donc que le ménisque était sphérique. Si c'est le cas, approximer l'interface par une parabole ne peut pas marcher si l'angle de contact est faible. Si ce n'est pas le cas, l'interface est plus complexe , il y a une partie plane au centre, etc. Tu peux ajuster une partie du profil près de la paroi, mais la remarque précédente reste valable.
    Pour ce qui est des gradients, tant pis si je radote, cela me parait extrêmement dangeureux, et je te le déconseille.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    La largeur est inférieure à la longueur capillaire mais pas la longueur. L'angle de contact va évoluer selon beaucoup de paramètres tels que la température, la vitesse de déplacement de la bulle etc....

    - Dans le cas de la parabole, j'ai suivi tes conseils. Les résultats sont logiquemet meilleurs sans lissage.

    - Pour la méthode des gradients, je vais être obligé de la mettre en oeuvre quitte à démontrer son inefficacité puisqu'elle fait partie de l'énoncé de ma Master Thesis et que mon tuteur est persuadé de sa plus grande fiabilité...
    Pour l'instant j'ai du mal à prouver quoique ce soit puisque je n'arrive presque pas à utiliser cette méthode (d'ou l'ouverture du sujet). J'ai peur que présenter comme argument que je n'arrive pas à employer la méthode sur mon image soit insuffisant à démontrer son inefficacité. Je risque plutôt le "bouge toi pour la faire marcher"

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Ce sujet touche finalement à sa fin : je suis parvenu au résultat suivant, qui bien que encore largement peaufinable commence à vraiment ressembler à ce que je cherche

    Nom : Gradient_methode.png
Affichages : 277
Taille : 48,7 Ko

    Merci d'avoir pris le temps de me répondre et vivent les morphological operators !

    A+ dans le bus !

  13. #13
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Ce n'est pas une parabole, c'est un cercle, la différence est essentielle.
    Pour les gradients, ... bon courage.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Je ne te suis pas Nebulix...
    Pourquoi un cercle ? Est-ce une affirmation par rapport à la physique du phénomène ou identifies tu un cercle sur les images que j'ai posté ?

    Selon les conditions de température et de vitesse, la bulle forme un angle différence avec le bord.
    De plus les propriétés matériaux et beaucoup d'autres facteurs jouent ici un rôle : https://en.wikipedia.org/wiki/Contact_angle
    Une "magnifique" source wikipédia à l'appui

  15. #15
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    La longueur capillaire exprime la balance entre les forces de gravité et les forces de tension superficielle. A grande échelle c'est la gravité qui est importante d'où la surface libre plane des liquides loin d'un bord. A petite échelle, seule la tension superficielle est importante, d'où une minimisation des surfaces interfaciales et des interfaces sphériques. ( au moins en statique).
    Dans le cas d'un angle de contact nul ou très faible, l'interface aura une tangente horizontale au niveau des parois ce qui est impossible à réaliser avec une parabole. Tu vas systématiquement rater les angles de contact faibles.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  16. #16
    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
    Oulala... je ne reviens pas pendant quelques jours et tout le monde chat :-)

    Dans ton cas l'élément structurant ne devrait pas avoir trop d'impact... donc je dirai un simple disque de rayon entre 1 et 3... donc disons 2 :p devrait le boulot.
    Ensuite comme tu veux les deux extrémités, tu peux calculer un Top-Hat avec un élément structurant plus grand pour extraire les extrémités des bulles.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    @Nebulix : Je commence à suivre ton raisonnement. Effectivement fitter ma série de points, m'oblige à donner prèalablement à Matlab une fonction qui décrit la forme de ma bulle.
    Cependant dans un écoulement turbulent et à deux phases comme le mien, il est probable que la forme ne soit ni sphérique ni parabolique. Dans tous les cas, j'admet imposer une condition à matlab qui nuit à mon résultat.
    D'où l'idée de la méthode des gradients. Dans cette méthode, la forme est laissée non définie et repose entièrement sur le Post Processing.



    @Toto : Je suis arrivé à la meme conclusion que toi quand au peu d'influence de l'élément structurant Pour les deux extrémités, plutot facile, j'ai coupé mon image en deux et recherché le gradient maximum pour chaque ligne
    Ca fonctionne très bien tant que ma bulle est à peu près centrée... Or elle ne l'est évidemment pas toujours Je regarde ce que tu appelles Top-Hat merci !

  18. #18
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Je ne connais pas toutes les données mais je doute fortement que ton écoulement soit turbulent.
    Je ne sais pas comment une bulle est déformée quand elle se déplace mais cela doit avoir été étudié. Tu peux alors utiliser ces résultats pour une forme paramétrique de l'interface à mettre dans ton fit.
    L'intérêt de ce genre de technique est de permettre l'évaluation de l'angle de contact à partir de l'image du centre du capillaire, qui est optiquement propre alors que la partie près du bord est fortement distordue et ne peut donner directement de résultat fiable.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Justement à notre connaissance, la forme que prend une bulle en contact avec un bord lors d'un écoulement est inconnue...
    Peux-tu m'èclairer sur ce que tu appelles le centre capillaire ?

  20. #20
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Le centre du capillaire, le milieu du canal.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

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

Discussions similaires

  1. [Images] Traitement image très haute résolution avec PHP
    Par Snooky68 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/11/2011, 00h15
  2. Réponses: 16
    Dernier message: 27/01/2008, 20h37
  3. [MySQL] Envoi d'images par formulaire et post-traitement
    Par mathieu7497 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/04/2006, 13h58
  4. Par où commencer en traitement de l'image et/ou du son
    Par PRomu@ld dans le forum Traitement du signal
    Réponses: 4
    Dernier message: 08/12/2005, 15h43
  5. [ImageMagick] Texte -> image : très mauvaise qualité ?
    Par Yusuke dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 11/11/2005, 19h17

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