2013-09-16 1 views
1

Le bouton Capture capture les images et les enregistre dans un seul dossier. Chaque fois que je vais appuyer sur le bouton Capture Il va juste continuer à capturer et enregistrer des images. Ce que je veux faire est chaque fois que je vais pousser Capture bouton, il mettra automatiquement à jour le image1.jpg zone de texte.Problème de fichier MATLAB Figure

Pour rendre les choses claires:

chaque coup à bouton Capture, la Modifier mises à jour textbox son nom à image1.jpg, 1 a frappé à nouveau pour capturer, mises à jour TextBox à image2.jpg etc .... s'il vous plaît aidez-moi :(

enter image description here

Le code de bouton Capture est

vid = videoinput('winvideo', 2); 
set(vid, 'ReturnedColorSpace', 'RGB'); 
img = getsnapshot(vid); 
imshow(img); 

%this is where the image will be saved 
counter = 1; 
baseDir = 'C:\Users\Sony Vaio\Documents\Task\Appendix\images\'; 
baseName = 'image'; 
newName = [baseDir baseName num2str(counter) '.jpg']; 
while exist(newName,'file') 
counter = counter + 1; 
newName = [baseDir baseName num2str(counter) '.jpg']; 
end  
imwrite(img, newName); 

Le processus de code Pushbutton qui apparaît dans la zone de texte

name=get(handles.name,'String'); 
A=imread(strcat('images/',name)); 
org=A; 
axes(handles.axes1); 
[h,w,f]=size(A); 
%original image is shown 
imshow(A); 
+0

Avez-vous essayé de définir la propriété 'String' de la zone de texte? 'set (hTextBox, 'String', newName);' – chappjc

+0

@chappjc désolé oublié de dire que la zone de texte sert simplement l'affichage du bouton de commande de processus. La zone de texte n'a pas de propriété. – lloydknight

+0

Pour mettre le nom de fichier dans la zone de texte Modifier, vous devez toujours utiliser la propriété 'String'. Le problème est comment obtenir le nom de fichier dépouillé du chemin d'accès complet du fichier? Pour cela, utilisez 'fichierparties'. – chappjc

Répondre

1

Je ne suis pas sûr que vous avez publié le code entier pour le rappel push de votre bouton de capture, mais je ne vous voyez pas définir la propriété String de votre zone de saisie n'importe où.

set(hEditBox,'String',newName); 

Si vous configurez champs handles, ne pas oublier de guidata(hObject,handles).

+0

ok ill l'essayer :) – lloydknight

+0

ça marche mais le nom est le chemin complet de l'image. le répertoire entier. – lloydknight

+0

'newName = [baseDir baseName num2str (compteur) '.jpg'];' le nom obtient le répertoire entier. si je vais utiliser le 'baseDir' le nom ne se déplace pas vers ** image ** – lloydknight