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

Images Discussion :

Isoler une étiquette sur une radiographie


Sujet :

Images

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut Isoler une étiquette sur une radiographie
    Bonjour à tous,
    Je planche sur un projet qui consiste à lire des étiquettes posées sur des radiographies; je m'explique :

    - Je dispose de radiographies (que je converties en noir et blanc) ou il n'y a "grosso-modo" que 2 objet ... le membre radiographé plus une étiquette disposée de façon aléatoire ..
    - Je voudrais isoler seulement l'étiquette pour pouvoir la décrypter par la suite...

    * J'utilise imdilate et imfill afin de rendre les deux surfaces homogènes.
    * Je les labelise avec bwlabel
    * La je désire utiliser regionprops pour calculer l'aire ('area') des deux surfaces et ainsi ne retenir que la plus faible (tout en éliminant les surfaces "parasites" de quelques pixels) ... Mais l'area est de type scalaire et je ne peux donc effectuer de comparaison avec des entier ...

    Si quelqu'un à une idée pour me sortir de ce mauvais pas, je le remerçie d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par Glenou Voir le message
    Mais l'area est de type scalaire et je ne peux donc effectuer de comparaison avec des entier ...
    Tu pourrais préciser un peu plus... ce n'est pas très clair

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Merci déjà de cette réponse ... même si ce n'était pas celle attendue
    Il me semblait être clair pourtant ..
    Les fichier sont au format bitmap et je les lis avec imread.
    Sur chaque photo il y a un 'couple' radio + etiquette et je souhaite analyser l'étiquette donc pour la première étape, je souhaite isoler celle-ci.
    Quelle precision desire-tu ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Ben... as-tu vu le morceau de ton précédent message que j'ai cité ?

    C'est quoi exactement le problème avec les scalaires et les entiers ?

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Une idée en passant, de quelqu'un qui n'est pas un spécialiste du traitement d'image, mais qui a déjà vu des radiographies sur lesquelles on avait collé une étiquette: en général, le contour des divers organes est plutôt flou, alors que celui de l'étiquette est franc; tu pourrais donc localiser ce dernier en cherchant le maximum du carré scalaire du gradient.

    Ce n'est peut-être pas la meilleure méthode, mais si ça peut t'aider...

    Jean-Marc Blanc

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Bonjour,
    Merci pour l'idée FR119492 mais dans mon cas, comme il s'agit de radiographie qui ont été scannées, l'étiquette est aussi floue que la radio.

    Quand à mon problème avec les scalaires c'est que je voudrais pouvoir effectuer une comparaison de l'aire de chaque surfaces labéllée. Je m'explique : après labelisation de l'image et le calcul de l'aire avec regionprops j'obtiens 4 aires :

    -une de 25000 pixels correspondant à la partie 'radio'.
    -une de 4000 pixels correspondants à l'étiquette.
    -trois de quelques dizaines de pixels correspondants aux regions parasites

    Ce que je voudrais faire est un code du style :
    reg=regionprops(L,'boundingBox') %Calculer BoundingBox de chaques surfaces
    are=regionprops(L,'area') %Calculer l'aire de chaque surfaces

    for i=1:length(reg)

    if are(i) < 10000 and are(i) > 1000 (la syntaxe n'est peu être pas exact mais là n'est pas le problème)

    %traitement

    end;
    end;
    Et là impossible d'effectuer le test (if) car are(i) est un scalaire ... c'est pourquoi je me demande si c'est une bonne façon ... ou s'il existe un moyen de transformer un scalaire en int ou l'inverse ...

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    reg=regionprops(L,'boundingBox') %Calculer BoundingBox de chaques surfaces
    are=regionprops(L,'area') %Calculer l'aire de chaque surfaces
     
    idx=find([are.Area]< 10000 & [are.Area]> 1000)
     
    are(idx)

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Merci ça marche nickel ...
    Est-il possible de ne pas clore le sujet car il me reste pas mal de chose à faire et ce serait sympa de pouvoir revenir en cas de problème

    Merci encore !

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Donc ce n'était pas un problème de scalaire (un nombre) mais de variable de classe structure
    => : Qu'est ce qu'une structure ?

    Aucun problème pour continuer cette discussion ici

  10. #10
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Bonjour à tous (et surtout à DUT, o grand dieu du MatLab) !!
    Les choses ont pas mal evoluée depuis mon dernier post et mon projet à été abandonné car manque d'images de tests (seulement 3 images)
    Donc ce post est là pour signaler la fin de cette discussion ... et l'ouverture d'une autre (car nouveau projet) .
    Merci encore !

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 13h58
  2. afficher une valeur sur une feuille lorsqu'une checkbox est cochée
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2008, 15h39
  3. probleme avec l'appui sur une touche sur une jframe ou jdialog
    Par jeanfeu dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 05/08/2008, 17h14
  4. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 11h21
  5. Réponses: 3
    Dernier message: 16/01/2006, 17h02

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