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

Wie kann ich aus Axes Objekten ein geladenes Image auslesen?

 

toby1007
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2008, 22:22     Titel: Wie kann ich aus Axes Objekten ein geladenes Image auslesen?
  Antworten mit Zitat      
Hi @ all,

hab da eine Frage und hoffe Ihr könnt mir weiterhelfen. Ich fange gerade an meine erste GUI in Matlab zu programmieren. Ich will ein Bildverarbeitungstool basteln das ein Bild einliest und in einem axes objekt darstellt. (das funktioniert schonmal) jetzt zu meiner Frage wie kann ich aus diesem Axes objekt das aktuell geladene Bild(Image) auslesen?

Ich hoffe jemand kann mir dabei weiterhelfen. In der Matlab hilfe und im Forum habe ich leider nix passendes gefunden.....

Mit freundlichen Grüßen Tobias Schmidt
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.04.2008, 01:44     Titel:
  Antworten mit Zitat      
Hallo,

Man könnte z.B. so es lösen:
Code:

% gca liefert  handle von aktuell ausgewähltem Axes
% da das Bild im Axes gezeichnet wurde,
% das Bild ist Kind von Axes
% leider kann Axes viele Kinder enthalten
allAxChildren = get(gca,'Children');
%
% deswegen muss man aus vielen Kinder Image-Handle rausgesucht werden
imageHandle=findobj(allAxChildren,'Type','image');
%
% nun das Bild kann man in Property
%  von image CData finden.
Bild = get(imageHandle,'CData');
 


oder du speicherst beim Zeichnen des Bildes gleich das Image-Handle mit.
Private Nachricht senden Benutzer-Profile anzeigen
 
toby1007
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.04.2008, 11:49     Titel:
  Antworten mit Zitat      
Hallo Denny

vielen dank für deine schnelle Antwort!

Jetzt habe ich nur ein Problem das ich mindestens 8 Axes Objekte habe
und ich nicht unterscheiden kann welches Image ich auslese. Weiterhin ist es so das wenn ich das Handle speichere bekomme ich aus diesem Handle das Image nicht raus.

Vieleicht weiß jemand noch eine andere Lösung.

Oder kennt jemand eine gute Referenz zur Matlab GUI Programmierung?
Mit der Matlab hilfe komme ich nicht so zurecht....

Mit freundlichen Grüßen Tobias Schmidt
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 18.04.2008, 11:53     Titel:
  Antworten mit Zitat      
Moin, weißt du denn im Voraus, welches Image zu abspeichern willst?
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
toby1007
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.04.2008, 12:27     Titel:
  Antworten mit Zitat      
Ja die reihenfolge ist immer die gleiche.
Zuerst wird das erste Image im ersten Axes Objekt ausgegeben dieses möchte ich dann immer weiterverarbeiten in den nächsten Axes Objekten.
Dazu soll immer das vorher bearbeitete genommen werden und weiterverarbeitet werden.

Danke für eure Hilfe
Private Nachricht senden Benutzer-Profile anzeigen
 
toby1007
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 16.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2008, 12:00     Titel:
  Antworten mit Zitat      
Hat keiner mehr eine Idee wie man das lösen könnte? Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 19.04.2008, 13:14     Titel:
  Antworten mit Zitat      
Hallo,
ich würde einfach vorschlagen dass du dir einfach Image-Handles in deiner handles-Struktur abspeicherst.

z.b. so:
Code:

Bild1=imread('MyBild.tif')
handles.im1=imagesc(Bild1);
 


später kannst du dir über handles das Bild aus 'CData' wieder holen.
Code:

Bild1 = get(handles.im1,'CData');
 
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 - 2024 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.