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

Axe überschreiben mit Imshow

 

Shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2010, 11:38     Titel: Axe überschreiben mit Imshow
  Antworten mit Zitat      
Hey Jungs,

ich bekomms einfach nicht gebacken!!! In meiner GUI habe ich eine axes definiert.

Ich öffne ein Bild mit uigetfile und lasse mir dieses Bild mit:

Code:
axes(handles.axes1); %select the axes
imshow(fullfile(pathname,filename));


anzeigen was auch prima funktioniert. Nun bearbeite ich diese Bild möchte es danach wieder in der selben axes anzeigen lassen. Ebenfalls mit:

Code:
axes(handles.axes1); %select the axes
imshow(bearbeitetes Bild);


Beim zweiten mal wird das Bild allerdings nicht in die axes geplottet sondern er nimmt die ganze GUI her und plottet auf deren kompletten Oberfläche das Bild rein. Kann mir jemand sagen was ich falsch mache?


Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2010, 11:49     Titel:
  Antworten mit Zitat      
Bei Plots funktioniert es mit:

plot(handles.axesPlot1, x1, y1);
plot(handles.axesPlot2, x2, y2);

Gibt es diese Möglichkeit bei imshow nicht?
 
Shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2010, 13:15     Titel:
  Antworten mit Zitat      
Hat niemand ne Idee ? Es ist dringend Sad
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2010, 14:28     Titel:
  Antworten mit Zitat      
Hallo,

versuch mal direkt beim imshow die gewünschte Achse mit anzugeben.

Code:

imshow(images,'parent',handles.axes1)
 


Falls das auch nicht zum gewünschten Ergebnis führt, überprüfe ob Dein handle immer auf das richtige Objekt (also die richtige Achse) zeigt.

Vieel Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2010, 15:31     Titel:
  Antworten mit Zitat      
So funktioniert es eben nicht. Wie kann ich überprüfen ob es auf das die richtige Axe zeigt ?
 
shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2010, 08:14     Titel:
  Antworten mit Zitat      
Das Bsp mit dem Parent funktioniert nicht. Ich bekomme dann die Meldung:

??? Error while evaluating uicontrol Callback.

??? Error using ==> imuitools\private\imageDisplayParseInputs
Invalid input arguments.

Error in ==> imshow at 144
[cdata, cdatamapping, clim, map, xdata, ydata, ...

Error in ==> XXX>edit_box_Callback at 187
imshow(image,'parent',handles.plot_axes);

Error in ==> gui_mainfcn at 75
feval(varargin{:});

Error in ==> XXX at 16
gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2010, 09:52     Titel:
  Antworten mit Zitat      
Mit welcher MATLAB Version arbeitest Du? Der Parameter 'parent' ist erst mit Version 2007a dazugekommen.

Dann bleibt halt noch den Debugger verwenden und zu überprüfen, ob vor dem imshow Befehl die richtige Achse aktive ist. Mit gca kannst Du Dir die aktuelle Achse zurückgeben lassen. Du kannst überprüfen ob das handle noch die gleiche Nummer hat. Du kannst Dir auch mit inspect oder get die Eigenschaften ansehen ob noch alles stimmt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2010, 12:39     Titel:
  Antworten mit Zitat      
Daher weht wahrscheinlich der Wind. Ich hab Matlab 7.0. Ich glaube das ist noch einiges vor 2007a. Danke für den Hinweis LittleX.

Prinzipiell sollte es doch aber nach dem Schema funtkionieren:

axes(handles.axe);
imshow(image);

bei dem Plotbefehl funzt das ja auch. Bei meinen anderen GUIs funktionierte das auch immer alles einwandfrei. Allerdings waren es da immer Plots und keine Bilder.
 
Shower

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2010, 12:43     Titel:
  Antworten mit Zitat      
Ist die Frage so trivial oder wieso bekomm ich keine Antwort?
 
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.