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 :

Créer une image synthetique


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut Créer une image synthetique
    Pour préciser le phénomène, nous chercherons maintenant à travailler sur une image synthétique contenant deux ondes concentriques de basse et haute fréquence (0.02 cycles/pixel et 0.2 cycle/pixel) pour cela nous créerons une image de taille 384*384 définie par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    I(i,j)=0.5+0.25*cos(2*pi*f1*sqrt((i-193)^2+(j-193)^2)+0.25*cos(2*pi*f2*sqrt((i-193)^2)+(-193)^2))
    alors, grossièrement j'ai crée le script foireux suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    img =abs(I(384));
    I(i,j)=(0.5+0.25*cos(2*pi*f1*sqrt((i-193)*(i-193)+(j-193)*(j-193))+0.25*cos(2*pi*f2*sqrt((i-193)*(i-193))+(-193)*(j-193))));
    i=0.02;
    j=0.2;
    imshow (img)
    mais j'ai l'impression de pas faire ce qu'il faut, forcément je me tape le code d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Index exceeds matrix dimensions.
     
    Error in ==> C:\Documents and Settings\pat\Bureau\license\tdi\test.m
    On line 1  ==> img =abs(I(384));
    auriez vous une solution à m'apporter?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    deja je sais pa si je fai f1=0.02 et f2... ou si je bosse avec i et j, j'ai des compétences mathématiques tres moyennes donc un ptit peu d'aide serai sympa

  3. #3
    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
    Alors, je t'invite déjà à bien lire ceci :



  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    ok, mais mon problème vient vraiment de la syntaxe, je sais meme pas ou mettre les cycles de 0,2 et 0,02 comme je l'ai di plus haut

    en fai tje sais pa trop quoi creer comme matrice, vu que les variables me sont donnés dans l'expression de I, donc mon vrai problème c'est creer la matrice 384 car évidemment ce sera pa une zero, ones ou eye

  5. #5
    Expert confirmé
    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
    Par défaut
    En prenant le début :
    Que souhaitais-tu faire avec cette ligne ?
    Vu le message d'erreur I doit déjà être défini avant : as-tu mis tout ton script ?
    Et MATLAB te dit qu'il ne peut accéder au 384ème élément de I car I a une taille inférieure à 384.

    Pour commencer tu peux déjà pré-allouer ta matrice avec ZEROS pour qu'elle fasse effectivement 384*384.
    Ensuite il te faut une double boucle (de 1 à 384 chacune) pour instancier chaque I(ligne,colonne).
    Après la formule et les variables qu'elle contient c'est à toi de gérer.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    ba j'ai jamais programmé avant
    donc je galère grav,
    ok, donc j'initialise la matrice de zeros
    tu me di de creer une boucle pour chaque variable, donc je suppose je pose une des boucles for i=.... et =j...
    euh, oui, c'est tout mon script

Discussions similaires

  1. Créer une image à partir d'une URL ?
    Par DrySs dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 10h39
  2. Réponses: 1
    Dernier message: 30/12/2005, 18h14
  3. Créer une image disque
    Par tsing dans le forum Composants
    Réponses: 2
    Dernier message: 14/12/2005, 17h19
  4. comment créer une image sous forme d'eclipse(ronde)
    Par unix27 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2005, 23h16
  5. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 10h19

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