traitement d'image sur matlab, seuillage de couleur
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

traitement d'image sur matlab, seuillage de couleur



  1. #1
    invite3b0b8750

    traitement d'image sur matlab, seuillage de couleur


    ------

    Bonjour,
    svp je suis entrain de préparer mon projet de fin d'étude qui s'intituler:" Mise en point d’une approche de détection de DMLA basée sur les techniques d’analyse des images" alors je veux segmenter mon image en trois couleurs: jaune rouge et orangé (les couleurs de la rétine). je viens d'utiliser ce code
    Code:
    function bw=yellow(img)
    [m,n,t]=size(img);
    bw=zeros(m,n);
    for i=1:m
        for j=1:n
            if(img(i,j,1)>245&&img(i,j,2)>170&&img(i,j,3)<80)
                bw(i,j)=1;
            end
        end
    end
    return
    pour extraire seulement la zone de couleur jaune et j'arrive pas à obtenir une résultat exacte, pouvez vous m'aider à améliorer ce code et à me proposer un code pour faire extraire ces trois couleur de mon image couleur (à base RVB) et merci d'avance

    -----
    Dernière modification par Antoane ; 18/05/2017 à 08h56. Motif: Ajout balises code

  2. #2
    invite6c250b59

    Re : traitement d'image sur matlab, seuillage de couleur

    Peux-tu donner une image exemple?

  3. #3
    invite3b0b8750

    Re : traitement d'image sur matlab, seuillage de couleur


  4. #4
    invite1c6b0acc

    Re : traitement d'image sur matlab, seuillage de couleur

    Bonjour,

    Tu dis que tu n'arrive pas à avoir un résultat exact.
    Je présume que l'image de droite, en noir et blanc est le résultat du filtrage des jaunes dans l'image du milieu.
    Qu'est-ce qui ne te conviens pas dans ce résultat ?

    Pour ta deuxième question : les filtres rouges et orangé, ça marche pareil, sachant que le rouge pur c'est 255,0,0 le jaune pur 255,255,0 et le orange, entre les deux, par exemple 255,128,0

    Si ce que tu veux c'est une image finale en regardant pour chaque point de quelle couleur il est le plus proche, c'est assez facile, puisque le rouge vaut toujours 255 et le bleu toujours 0 : il suffit de regarder le niveau de vert et de considérer ton point comme :
    jaune si le niveau de vert est supérieur à 170,
    orange si le niveau de vert est entre 85 et 170
    rouge en dessous de 85 (j'ai pris des limites un peu au pif : en divisant l'intervalle en 3).

    Éventuellement supprimer les point pour lesquels il y a trop de bleu ou pas assez de rouge, éventuellement mettre des bornes proportionnelles au niveau de rouge ...

    Mais je ne suis pas sûr d'avoir compris ton problème : ma réponse est peut-être complètement à côté de la plaque ...

  5. A voir en vidéo sur Futura
  6. #5
    invite6c250b59

    Re : traitement d'image sur matlab, seuillage de couleur

    Ton code 'marche' dans le sens qu'il te sort les points selon les critères que tu as codé (ce serait plus facile à visualiser avec 'bw(i,j)=255;' plutôt que 'bw(i,j)=1;'). Par contre l'image résultat ne correspond pas à l'image DMLA selon ce filtre. Il semble plutôt extrait d'une routine similaire à celle proposée par chanur, i.e. au lieu d'identifier un masque de 1 ce sont probablement les points hors couleur d'intérêt qui sont mis à zéro.

Discussions similaires

  1. MATLAB - traitement d'image
    Par invite51734ac5 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 10/10/2012, 17h21
  2. traitement d'image : matlab
    Par invite98d5d2cd dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 20/04/2012, 11h40
  3. Segmentation d'image couleur sur matlab
    Par invite0e9d082c dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 28/10/2008, 20h22
  4. matlab et traitement d'image
    Par invite4d702022 dans le forum Logiciel - Software - Open Source
    Réponses: 16
    Dernier message: 19/07/2007, 12h16
  5. seuillage image avec matlab
    Par inviteac86c1dc dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 31/03/2006, 15h50