Hallo allerseits,
ich habe mir ein figure erzeugt und möchte von diesem die Pixelanzahl der verschiedenen Farben (schwarz und weiß) auslesen. Da die Bildschirmauflösung nicht reicht hilft mir getframe nicht weiter. Daraufhin habe ich versucht es zu exportieren und wieder einzulesen.
Mit hgexport klappt auch alles wunderbar; ich kann es nur das .eps nicht wieder einlesen.
Mit dem print-Befehl bekomme ich immer nur ein schwarzes Bild. Ich habe schon alle Renderer ausprobiert und es hat nicht funktioniert; auch habe ich die Formate durchprobiert.
Es klappt, wenn ich auf export figure klicke, danach eine Auflösung von bsp. 600 zuweise, -> apply to figure und dann den print-Befehl verwende. Wieso weshalb, warum weiß ich nicht?
Vielleicht könnt ihr mir ja bei diesem Problem helfen?
Gruß
Andreas
Raffnix
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 07.07.2009, 11:48
Titel:
hat denn keiner eine Idee?
Ist es irgendwie möglich, die Schritte beim export-setup über Matlab-befehle zu machen?
hab ich es richtig verstanden, dass du ein Binärbild hast und von diesem die Anzahl der schwarzen Pixel und die Anzahl der Weißen Pixel wissen möchtest?
Code:
A = logical(eye(4));
NumberBlack = length(A(~A));
NumberWhite = length(~A(A));
% oder
NumberWhite2 = numel(A)-NumberBlack;
Ich habe ein figure mit schwarzen und weißen Pixeln. Jetzt das Problem: Je nach Diskretisierung (Auflösung des Bildes) bekomme ich ein anderes Verhältnis von schwarzen zu weißen Pixeln, da beispielsweise die Kanten von Kreisen gröber dargestellt werden.
Ich möchte aber recht genau den rel. Flächeninhalt der schwarzen Gebilde bestimmen. Hierfür wollte ich einfach eine große Auflösung einstellen, exportieren, importieren und mir dann den relativen Flächeninhalt bestimmen. Aber ich bekomme immer nur ein schwarzes Quadrat exportiertm wenn ich bsp. print -r600 -djpeg test.jpg verwende. Ich habe alle Renderer und Bildformate ausprobiert.
Es schein daran zu liegen, dass ich axes auf nicht sichtbar gestellt habe. Wenn ich die Achsen wieder einblende kann ich das Bild exportieren. Werde jetzt einfac mit Achsen arbeiten und die Labels löschen.
Rest ist aus patches aufgebaut. Die Kreise habe ich über Polarkoordinaten gezeichnet. Hätte im Nachhinein aber auch die Funktion rectangle verwenden können.
Wenn set(gca,'visible','off') rauskommentiert wird funktionierts. Es funktioniert auch wenn 'EdgeColor',[1 1 1] nicht gesetzt wird. Warum - keine Ahnung? Ich habe es momentan so gelöst, dass ich die Achsen anzeigen lasse und danach mit imcrop das Bild wieder zuschneide.
Einstellungen und Berechtigungen
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
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.