Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1614 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

matlab_affichage d'une image 2d en 3d (2d associé à un focus)

n°779190
mimil71
Posté le 10-02-2006 à 23:24:48  profilanswer
 

Reprise du message précédent :
en faite je veu modifié un nom situé dans le Workspace et non dans le current directory. Les fonctions marchent pour le current directory après avoir testé mais malheureusment pas dans le worhspace


Message édité par mimil71 le 10-02-2006 à 23:25:56
mood
Publicité
Posté le 10-02-2006 à 23:24:48  profilanswer
 

n°779242
jlighty
Posté le 11-02-2006 à 09:45:40  profilanswer
 

En d'autres termes, tu veux renommer une variable.
si tu fais :

Code :
  1. img=imread('machin.bmp');
  2. a=img;


alors la variable "a" aura le contenu d'img (qui est une matrice). Ensuite tu peux détruire ou réinitialiser "img" pour libérer de la mémoire.
Si cette méthode ne marche pas :
http://www.mathworks.com/matlabcen [...] tType=FILE


Message édité par jlighty le 11-02-2006 à 09:46:54
n°779267
mimil71
Posté le 11-02-2006 à 10:27:35  profilanswer
 

en faite, je li mes images dans une boucle while car j'ai plusieur image à lir, mais si dans ma boucle je met img=imread('machin.bmp') et bien a chaque fois que je vais reppassé sur cette ligne mon machin.bmp va changé mais le faite que je laisse img va écrasé mon image précédente alors qu'il faut absolument que je garde toute mes images, c'est pour cela que j'avais pensé renommé img avec 'image+compteur', le compteur sincrément a chaque passage dans la boucle while ce qui a pour but de renommer mes images et donc de tout gardé ;), je vais essayé avec le lien que tu ma donné


Message édité par mimil71 le 11-02-2006 à 10:28:22
n°779268
mimil71
Posté le 11-02-2006 à 10:38:34  profilanswer
 

Cool c'est la fonction que je cherchais lol, merci bien :) ca marche

n°779886
mimil71
Posté le 13-02-2006 à 15:09:15  profilanswer
 

voila j'ai encore un ti problème:
toujours a propos de ces changement de nom!

Code :
  1. while isempty(tab{compteur,1})==false
  2.     %récupération du nom de la matrice var
  3.     cpt_str = num2str(compteur);
  4.     nv_nom = strcat('var',cpt_str);
  5.     %comparaison
  6.     comp=mat_comp(comp,char(nv_nom));
  7. end


 
voila, dans cette boucle, je récupère un nom de matrice, puis je veu passé cette matrice a ma fonction mat_comp mais qd je passe : char(nv_nom) forcement, ca me passe la valeur de nv_nom et pas la matrice qui se nome de la valeur de nv_nom


Message édité par mimil71 le 13-02-2006 à 15:09:30
n°779887
mimil71
Posté le 13-02-2006 à 15:09:57  profilanswer
 

comment fair ?

n°779896
mimil71
Posté le 13-02-2006 à 15:55:16  profilanswer
 

en faite je veu passé la valeur de nv_nom (nv_nom étant un char)
 
exemple si nv_nom=image1:
comp=mat_comp(comp,image1);
 
mais je veu pas passé le nom en dur comme ca car la fonction est dans une boucle while, donc le nom change tout le temps...
 
enfin il faut regardé le programme que j'ai fait plus haut pour comprendre ce que je veux fair

n°779913
jlighty
Posté le 13-02-2006 à 16:08:14  profilanswer
 

le plus simple, serait d'utiliser une matrice à 3 dimensions au lieu de manipuler les noms des variables.
Dans ce style :
image(1)=imread('machin.bmp');  
au final image aura 3 dimensions :
image(numéro d'image, x,y)
PS: je ne peux pas tester le script car mon PC est H.S
cependant peut être que cette syntaxe est plus correcte :

image(1,:,:)=imread('machin.bmp');

n°779920
mimil71
Posté le 13-02-2006 à 16:17:20  profilanswer
 

ba en faite, il me manque juste ca comme problème pour que tout le programme marche mais je vois pas bien comment fair autrement ...

Code :
  1. while isempty(tab{compteur,1})==false
  2.     %récupération du nom de la matrice var
  3.     cpt_str = num2str(compteur);
  4.     nv_nom = strcat('var',cpt_str);
  5.     %comparaison
  6.     comp=mat_comp(comp,char(nv_nom));
  7. end

n°779922
mimil71
Posté le 13-02-2006 à 16:19:21  profilanswer
 

je voi pas comment fair autrement ... et a vrai dir même en cherchant sur le net, il ya pas vraiment de codeur en matlab.. donc pas bcp de solution à trouvé

mood
Publicité
Posté le 13-02-2006 à 16:19:21  profilanswer
 

n°779926
mimil71
Posté le 13-02-2006 à 16:23:45  profilanswer
 

en faite a la base, je ne connai pas le nombre d'image et je récupère un tableau ou j'ai toute les informations sur les images que l'on veu traiter, c'est pour cela que jutilise une boucle (tant que le tableau n'est pas vide) et je nomme mes images comme je veu, puis pour fair les traitement, il faut que je les rappel mais :
 
mat_comp(comp,char(nv_nom));

n°779927
jlighty
Posté le 13-02-2006 à 16:25:45  profilanswer
 

le problème est :
mat_comp prend en argument 2 matrices or nv_com est une chaine de caractère (type retourné par strcat) -> incompatibilité de type.
Je ne vois pas d'autres solutions que d'utiliser une matrice à 3 dimensions ou une liste contenant les différentes images.
voir : http://enacit1.epfl.ch/cours_matlab/matrices.html
parties Octave et Tableaux multidimensionnels

n°779930
mimil71
Posté le 13-02-2006 à 16:30:28  profilanswer
 

oui dacor mais si je met mes nom dans un tableau ou alors dans une liste ,j'aurai le même problème...

n°779932
mimil71
Posté le 13-02-2006 à 16:31:35  profilanswer
 

mais stocké toutes mes images dans le même tableau serai trop compliqué car bon je n'ai pas que une boucle while ds mon programme, j'ai des fonctions de partout etc .. donc pas simple

n°779941
mimil71
Posté le 13-02-2006 à 16:50:08  profilanswer
 

je pense que j'ai trouvé la solution
 

Code :
  1. while isempty(tab{compteur,1})==false   
  2.     %récupération du nom de la matrice var   
  3.     cpt_str = num2str(compteur);   
  4.     nv_nom = strcat('var',cpt_str);   
  5.     %comparaison 
  6.     renvar(nv_nom,'var');
  7.     comp=mat_comp(comp,var);
  8.     renvar('var',nv_nom);
  9. end


Message édité par mimil71 le 13-02-2006 à 16:50:47
n°779944
jlighty
Posté le 13-02-2006 à 16:58:50  profilanswer
 

en espéranr que dans l'appel à renvar, la chaine de caractère nv_nom soit renommée et non pas son nom "nv_nom".
PS: si ton programme est bien conçu, il est facile d'implémenter une gestion de liste d'images. Si ce n'est pas le cas, revoit l'algorithme de ton programme.

n°780209
mimil71
Posté le 14-02-2006 à 08:15:30  profilanswer
 

ba pour le moment, a chaine de caractère nv_nom soit renommée et non pas son nom "nv_nom", donc ca marche...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Mettre une image Gif sur une image bitmap et faut que ça bouge?Coordonnées image vectorielle
affichage de police dans quark xpressaffichage du site
Modélisation personnage pour une image fixe ?Problème d'affichage ???
Clarté d'image sur site webModification simple d'une image svp
Logiciel de remplissage d'imagerésolution d'image imprimeur
Plus de sujets relatifs à : matlab_affichage d'une image 2d en 3d (2d associé à un focus)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR