Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

traitement des images



  1. #1
    ngossi

    traitement des images


    ------

    Bonjour, je développe un programme sur la compression de l'image sous Matlab en suivant les étapes suivantes :
    1- conversion RVB->YCbCr;
    2- downsample;
    3- passage par une matrice de transformation(ma touche personnelle);
    4- quantification;
    5- codages RLE et Huffman.
    Le problème qui se pose actuellement est le suivant:"J'ai récuperé mes images de chrominance rouge et chrominance bleu issues de l'étape1 que j'ai fait passer pour l'étape2, j'obtiens certes un résultat mais l'image affichée est toute blanche, on ne remarque plus aucun niveau de gris"
    Je voudrais donc savoir si cela est normal ? si non, que dois-je faire pour que l'image s'affiche ?
    Aidez moi svp!!!

    voici mon programme:

    Code:
    function chrominence_bleu2_Callback(hObject, eventdata, handles)
    global res;
    [m,n,p]=size(res);
    for i=1:m
        for j=1:n
            B(i,j)=res(i,j,2);
        end
    end
    figure(1), imshow(B);
    Be= blocksof16(B,m,n,p);
    figure(2),imshow(Be);
    bdwn = downsample(Be);
    [m1,n1,p1]=size(bdwn);
    for i=1:m1
        for j=1:n1
            if bdwn(i,j)~=0
               BL(i,j)=bdwn(i,j);
            end
        end
    end
    [m1,n1,p1]=size(BL);
    for i=m1+1:m
        for j=1:n
            BL(i,j)=128;
        end
    end
    for i=1:m
        for j=n1+1:n
            BL(i,j)=128;
        end
    end
    figure(3),imshow(BL);
    
    set(handles.axes9,'visible','on');
    axes(handles.axes9);
    imshow(bdwn);
    imwrite(bdwn,'totob','bmp');
    imwrite(res,'Toto4','bmp');
    axis off;
    info9 =imfinfo('totob');
    size9 =fix(info9.FileSize/1024);
    %set(handles.format,'String',info.Format);
    set(handles.capacite9,'String',size9);

    voici le programme du downsample
    Code:
    function matrice = downsample(m)
    [q,n,p] = size(m);
    res = [];
    ligne=1;
    col =1;
    for i=1:2:q-1
        for j=1:2:n-1
            moy = 0;
            for l=i:i+1
                for k = j:j+1
                   moy=moy+(m(l,k)/4);
                end
            end
            res(ligne,col)=round(moy);
            col = col+1;
        end
        ligne = ligne+1;
        col = 1;
    end
    matrice = res;
    end
    programme de decoupage de la matrice en block de 16

    Code:
    function matrice = blocksof16(m,p,q,r)
    
    if p<16
        r1=16;
    else
        r1 = mod(p,16);
        if r1~=0
            r1 = 16*(fix(p/16)+1);
        end
    end
    if q<16
        r2 = 16;
    else
        r2 = mod(q,16);
        if r2~=0
            r2=16*(fix(q/16)+1);
        end
    end
    for i=p+1:r1
        for j=1:r2
            m(i,j)=0;
        end
    end
    for i=1:r1
        for j=q+1:r2
            m(i,j)=0;
        end
    end
    matrice = m;
    end
    Merci d'avance pour votre aide !!!!

    -----
    Dernière modification par yoda1234 ; 20/05/2011 à 11h30.

  2. Publicité
  3. #2
    yoda1234

    Re : traitement des images

    Bonjour et bienvenue!

    Je te conseille d'utiliser les différentes balises à ta disposition. Dans ton cas, il aurait fallu utiliser la balise "Code" symbolisée par
    Plus de précisions ici: http://forums.futura-sciences.com/misc.php?do=bbcode
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

  4. #3
    pazcal

    Re : traitement des images

    Tu pourrais préciser, tu dis que tu as récupéré les composantes Cr et Cb de tes images à l'étape 1, et Y tul'as récupéré aussi?
    Quelle matrice de conversion tu utilises, il y en a 2 l'une donne une amplitude de 100% l'autre est celle utilisée en CCIR. Est ce que tu as rajouté l'offset de 128 (0x80) car Cr et Cb sont signés
    Pour terminer, est ce que tu as fait la conversion inverse en sortie d'étape 1 pour retrouver ton image native RGB?
    A plus

  5. #4
    fiatlux

    Re : traitement des images

    Salut

    bon j'ai pas vraiment lu ton code mais essaie de faire imshow(ton_image,[]) au lieu de imshow(ton_image)
    La pie niche-t-elle haut ? Oui, la pie niche haut.

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

    Re : traitement des images

    Bonjour à tous et merci pour le souhait de bienvenue,

    Pour commencer, fiatlux, j'ai fait ce que tu m'a suggeré "imshow(ton_image,[])" mais le probleme persiste, mon image est toujours a toute blanche.

    Pour ton inquietude pazcal, rassure toi j'ai aussi recuperé la composante Y qui est me donne une image en niveau de gris (càd en noir et blanc). Voici la matrice de conversion que j'utilise:
    Mc = [0.2220 0.7067 0.0713
    -0.1195 -0.3810 0.5
    0.5 -0.4542 -0.0458]
    J'ai egalement rajouté les offset "128" pour les Cr et Cb mais ce que je n'ai pas encore fait c'est la conversion inverse apres l'etape1 pour retrouver l'image en RVB. Mais dis moi à ce sujet, est ce necessaire d'effectuer cette conversion? si oui propose moi ce qui pourrai me faire avancer stp.

    Pour te repondre yoda1234, j'ai lu la syntaxe de la balise "code" que voici:
    Code:
    valeur
    Utilisation
    Code:
            <script type="text/javascript">
            <!--alert("Hello world!");//-->
            </script>
    Escuse moi mais je ne vois pas où tu voudrai que je l'utilise pour progresser dans l'affichage de mon image? donne moi plus de détail stp.

    Encore une fois merci à vous tous
    A tout à l'heure

Discussions similaires

  1. Recherche des algorithmes de traitement d’images actuellement en Matlab
    Par the-msx dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 16/07/2008, 15h04
  2. Traitement des images avec Matlab
    Par Jojo6 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/03/2008, 09h21
  3. Traitement images
    Par loicnasa dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 2
    Dernier message: 16/02/2008, 12h49
  4. traitement des images sur matlab
    Par DCharlotte dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 26/06/2006, 23h52
  5. Traitement des images à partir des filtres classiques
    Par Bamoo dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 26/04/2005, 22h54