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

MATLAB Discussion :

[Débutante] Problème d'indexage avec des matrices d'images


Sujet :

MATLAB

  1. #21
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    >> I=imread('squelette.jpg');
    >> J=imread('squelette2.jpg');
    >> size(I)
     
    ans =
     
          589            325            3
     
    >> size(J)
     
    ans =
     
            1120         675            3
     
    >>
    merci

  2. #22
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    RGB en plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
     
    I=[I; zeros(1120-589,325,3)];
    C=[I J];
    imshow(C)

  3. #23
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    oui maintenant ils sont les deux dans l image,mais l image commune C quand je l ai enregistrer il n est pas de (589 x 675).
    je peux utiliser maintenant mes matrix que j ai fait au debut ?

    en plus quand j ai enregistrer l image il ya une tache noir dans l image c est laquelle tu as remplacer par zeros?
    maintenant ma question est ce que je peux utiliser mes operations matrice que j ai utiliser au debut plus l idee que tu ma donner ou c est pas possible.

    merci

  4. #24
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 307
    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 307
    Points : 52 887
    Points
    52 887
    Par défaut
    Prend le temps de bien comprendre les opérations de concaténation et d'indexage que rostomus a montré. Prends également le temps de bien lire la documentation à ce propos.

  5. #25
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    merci ,j ai deja lu et mais ca fonctionne pas sans faute il ya une tache noire dans l image que j ai deja enregistrer ,et est ce que je peux toujours utiliser les matrices que j ai deja utiliser au debut bien sur son (zeros et ones).

    merci

  6. #26
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    bonsoir ,
    j ai pu faire une petite modification sur mon programme mais j´ ai toujours pas su comment avoir Le pixel exacte de C.
    C= 589 x 675 x 3
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    >> I=[I;zeros(1120-589,325,3)];
    J=imresize(I,1);
    C=[I J];
    imshow(C);
    Warning: Image is too big to fit on screen; displaying at 50%
    > In imuitools\private\initSize at 86
    In imshow at 201
    imwrite(C,'öä.jpg');
    si quelqu un peux m aider j ai partout chercher comme je l ai deja dit je suis debutante.

    merci

  7. #27
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    >> I=[I;zeros(1120-589,325,3)];
    J=imresize(I,1);
    C=[I J];
    imshow(C);
    Warning: Image is too big to fit on screen; displaying at 50%
    > In imuitools\private\initSize at 86
    In imshow at 201
    imwrite(C,'öä.jpg');
    j ai une idee mais ca marche tujours pas ,est ce que quelqu un peux me dire ce qui est faux ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    J(1:564,1:451,1:3)=I(:,:,: )
    J(1:564,1:902,1:3)=C(:,:,: )
    C[I J];

    merci

  8. #28
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Salut,

    est ce que t'as defini la matrice "C" avant cette ligne?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    J(1:564,1:902,1:3)=C(:,:,: )
    si matlab te renvoie une erreur, postes le.

  9. #29
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    merci pour ta reponse je m excuse pour le derangement,mais je suis toujours dans la meme question:

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    J(1:589,1:325,1:3)=I(:,:,: )
    J(1:589,1:675,1:3)=C(:,:,: )
     
    ??? Undefined function or variable "C".
    C[I J];
    ??? Error using ==> horzcat
    CAT arguments dimensions are not consistent.
    merci

  10. #30
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    est ce que tu veux faire ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    I=imresize(I,[589 337]);
    J=imresize(J,[589 338]);
    C=[I J];
    imshow(C)
    size(C)

  11. #31
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    merci d abord pour ta reponse mais je dois y avoir des matrices dedans , en faite ja i deja lu pour l indexage des images mais malheureusement j arrive pas a trouver la solution,j ai essayer de les faire avec les matrices:
    mais il ya une erreur de C qui n est pas deja defini pour que je puisse travailler dans la matrice avec , mais je ne sais comment je peux la definir merci.
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    J(1:589,1:325,1:3)=I(:,:,: )
    J(1:589,1:675,1:3)=C(:,:,: )
     
    ??? Undefined function or variable "C".
    C[I J];
    ??? Error using ==> horzcat
    CAT arguments dimensions are not consistent.

  12. #32
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 307
    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 307
    Points : 52 887
    Points
    52 887
    Par défaut
    Mais la variable C n'existe pas dans ton code. Comment veux-tu que Matlab puisse affecter ses valeurs à J. Tu dois d'abord définir la matrice C.

  13. #33
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    je sais je ne sais pas comment la definir au juste,

    j ai fait ca : et ca me donne une erreure:

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    C(589,675);
    ??? Undefined function or variable "C".
     
    J(1:589,1:325,1:3)=I(:,:,: )
    J(1:589,1:675,1:3)=C(:,:,: )
     
    ??? Undefined function or variable "C".
    C[I J];
    ??? Error using ==> horzcat
    CAT arguments dimensions are not consistent.
    voila il me donne toujours erreur,je ne sais pas comment la definir au debut du programm pour contunuer avec les matrices.


    merci

  14. #34
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 307
    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 307
    Points : 52 887
    Points
    52 887
    Par défaut
    Que dois contenir cette matrice C ?

    Regarde les fonction ZEROS,ONES,RAND...

  15. #35
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    j ai deja essayer zeros mais j´ecrase l image avec des zeros alors enfin ca me donne une image toute blanche.
    et si je mets rand ,je recois a la fin une image toute en gris.

    j ai deja essayer ces fonctions .parceque j ai des images RGB. c est pour cela je peux pas utiliser ces fonctions c est ca ce que j ai compris.

  16. #36
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    voila ce que j ai deja essayer mais malheureusement j ai recu C l image commune que j ai desire avec les meme dimensions ,mais rien que l image C est toute Blanche.
    parceque je les ecraser avec des 1 :

    Code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    I=imread('squelette.jpg');
     
    J=imread('squelette2.jpg');
    figure;subplot(1,2,1);imshow(I);
    subplot(1,2,2);imshow(J);
    J=zeros(675,1120);
    I=ones(325,589);
    C=ones(589,675);
    J(1:325,1:589)=I(:,: )
    J(1:589,1:675)=C(:,: )
    imwrite(C,'sque.jpg');
    comment je peux alors definir mon C ?

  17. #37
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Il faudrait nous expliquer ce que doit contenir ton C, que veux-tu en faire.

    D'autre part ces 2 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    J(1:325,1:589)=I(:,: )
    J(1:589,1:675)=C(:,: )
    paraissent étranges : la 2ème rend la 1ère inutile.
    Es-tu sûr d'avoir bien compris l'indexage.
    Là tu fais :
    mettre I dans la matrice formée par les 325 1ères lignes et 589 1ères colonnes de J
    puis :
    mettre C dans la matrice formée par les 589 1ères lignes et 675 1ères colonnes de J.
    Donc la 2ème ligne efface ce que tu as fait dans la 1ère.
    Pourrais-tu expliquer où tu veux mettre I et C dans J ?

  18. #38
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    bonjour merci d abord pour t areponse,

    bon j ai une image I(325,589,3)
    et une autre image J(675,1120,3)

    moi je je veux créer une image C que son pixel soit de C(589,675,3).
    et C est composer de l image I et J l une a cote de l autre.

    voila c est ca ce que je veux .

    merci

  19. #39
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Bon donc tu avais fait tout à l'envers (tu essayais de mettre I et C dans J !!)

    As-tu déjà essayer la réponse que rostomus t'avait donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    I=imread('squelette.jpg');
    J=imread('squelette2.jpg');
    I=imresize(I,[589 337]);
    J=imresize(J,[589 338]);
    C=[I J];
    imshow(C)
    size(C)
    Parce que ça a vraiment l'air d'être ça ce que tu veux faire.
    Ou alors qu'est-ce qui ne te plait pas dans sa solution ?
    Après il faut peut-être revoir le imresize.
    Vu que tu essayes de coller 2 images qui n'ont pas la même taille...
    Et la taille d'arrivée de C me parait aussi bizarre (elle doit avoir en nombre de lignes le nombre de colonnes de I, et en nombre de colonnes le nombre de lignes de J ).
    Ceci dit il est vrai que je n'y connais pas grand-chose en manipulation d'image mais en manipulation de matrice je ne vois pas bien comment on peux coller des matrices n1*m1 et n2*m2 dans une matrice m1*n2...

    Mon conseil : essayes d'abord la solution de rostomus et dis-nous :
    1/ est-ce que ça marche, si non quel est le message d'erreur ?
    2/ est-ce le résultat voulu, si non pourquoi ?

  20. #40
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    je dois travailler avec des matrices pour coller ces deux images l une a cote de l autre.il le faut .

    bon et si j avais I(589,325,3) et J son double J (1178,650,3)et C(589,650,3) est ce que c est logique?

    il faut pa que j utilise dans mon programm des matrices ,c est pour cela.

    s il vous plait aidez moi,?

    merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [CUDA] Problème avec des matrices supérieures à 22x22
    Par TheDestiny dans le forum Threads & Processus
    Réponses: 1
    Dernier message: 21/09/2010, 15h07
  2. [débutant] Problème de Cast avec des vector
    Par syl55 dans le forum Langage
    Réponses: 9
    Dernier message: 20/05/2009, 10h04
  3. Réponses: 7
    Dernier message: 04/06/2006, 17h00
  4. Problème de "select" avec des valeurs a null
    Par SchpatziBreizh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2005, 16h08
  5. Réponses: 6
    Dernier message: 19/10/2004, 13h46

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