WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Liste durchlaufen und Bild anzeigen

 

jeko87
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 16:27     Titel: Liste durchlaufen und Bild anzeigen
  Antworten mit Zitat      
Hallo,

also ich hab folgendes Problem.
Ich habe in einer Variablen im Workspace die Dateinamen aus einem Verzeichnis stehen. (es handelt sich um die Namen von Bildern)

Zu Begin, wird immer das erste Bild aus dem Verzeichnis angezeigt. Wenn ich auf eine Schaltfläche 'btnNext' klicke, soll jeweils das nächste Bild geladen werden.
Meine Überlegung wäre jetzt, irgendwie meine Liste durchzulaufen und bei jedem Klick auf die Schaltfläche 'btnNext', einen Zählerstand mit dem Index meiner Liste zu vergleichen ?!

Ich weiß nur leider nicht ob dies möglich ist ?!
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 29.06.2010, 16:43     Titel:
  Antworten mit Zitat      
Hallo

Schaue dir Funktion EVALIN und ASSIGNIN
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 16:48     Titel:
  Antworten mit Zitat      
Hi,

danke erstmal für deine schnelle Antwort.
Also die beiden Funktionen benutze ich bereits zum Einlesen der Datei und zum 'Filtern' der wichtigen Spalte.

Hier mal mein code
Code:

y = evalin('base','textdata');
z=y(:,1);
assignin('base','picture',z);
 

Klappt auch ganz gut, also hab in meiner Variablen 'picture' nur die Dateinamen stehen...

nur ist mir unklar, wie ich die Liste durchlaufen kann und mit dem Zählerstand vergleichen soll
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 29.06.2010, 17:20     Titel:
  Antworten mit Zitat      
Hallo

Code:

% Code in btnNext setzen

% counter in base setzen, falls kei
if ~evalin('base','exist(counter,''var'')')
  assignin('base', 'counter', 1);
end

if evalin('base','counter')<=evalin('base','length(picture)')
   Im = imread(evalin('base','picture{counter}'))
   figure()
   imagesc(Im);
   colormap gray;
   evalin('base','counter=counter+1;')
else
 fprintf('Ende wurde erreicht\n');
end

 
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 18:50     Titel:
  Antworten mit Zitat      
hey danke für deine Hilfe

versuch das jetzt meinem Problem anzupassen

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2010, 11:33     Titel:
  Antworten mit Zitat      
hallo nochmal
also hab jetzt den Code an mein Problem angepasst
Code:


assignin('base', 'counter', 1);
directory = get(handles.edtPfad, 'String');

if evalin('base','counter') <= evalin('base','length(picture)')
   Im = (evalin('base','picture{counter}'));  %Bild mit dem Zähler vergleichen
   main_path=strcat(directory,'\');           %Hauptpfad + \
   path_picture=strcat(main_path,Im);         %Hauptpfad + \ + bildname  
   path_complete=strcat(path_picture,'.jpg'); %Hauptpfad + \ + bildname + '.jpg'
   bild=imread(path_complete);
   disp(path_complete);
   imshow(bild, 'Parent', handles.imgStart);   %Bild anzeigen
   
   evalin('base','counter=counter+1;')
else
 fprintf('Ende wurde erreicht\n');
end
 


Lass mir auch den ganzen Pfad des Bildes ausgeben, damit das auch für mehrere Ordner funktioniert. Also der gesamte Pfad stimmt, nur das Problem ist, der Zähler wird nicht hochgerechnet und es wird auch immer nur das 1. Bild angezeigt...

aber wenn ich den code so betrachte, müsste es eigentlich funktionieren...
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 30.06.2010, 12:24     Titel:
  Antworten mit Zitat      
Hallo

noch Abfrage einbauen, sonst wird immer counter auf Eins gesetzt.
so (oben habe ich in dieser Abfrage einen Fehler gemacht, jetzt muss es gehen)
Code:


if ~evalin('base','exist(''counter'',''var'')')
  assignin('base', 'counter', 1);
end

if evalin('base','counter') <= evalin('base','length(picture)')
   Im = (evalin('base','picture{counter}'));  %Bild mit dem Zähler vergleichen
   main_path=strcat(directory,'\');           %Hauptpfad + \
   path_picture=strcat(main_path,Im);         %Hauptpfad + \ + bildname  
   path_complete=strcat(path_picture,'.jpg'); %Hauptpfad + \ + bildname + '.jpg'
   bild=imread(path_complete);
   disp(path_complete);
   imshow(bild, 'Parent', handles.imgStart);   %Bild anzeigen
   
   evalin('base','counter=counter+1;')
else
 fprintf('Ende wurde erreicht\n');
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2010, 13:25     Titel:
  Antworten mit Zitat      
ja klappt wunderbar

vielen dank

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.