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

Plot semitransparent über jpeg legen

 

aen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2010, 14:40     Titel: Plot semitransparent über jpeg legen
  Antworten mit Zitat      
hallo zusammen,

hab bereits euer forum samt externer links durchstöbert und bisher leider keine lösung für mein problem gefunden. ich habe eine jpg datei vorliegen (640x480) über die ich einen plot, den ich mit "contourf" erzeuge semitransparent legen will. mein problem ist, dass der contourf-plot viel zu klein ist wenn ich ihn drüberlege. ziel soll es sein den contourf-plot hochzuskalieren und alles zusammen dann in der größe 640x480 zu speichern.

habt ihr tips?
vielen dank
lg aen


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 19.07.2010, 15:11     Titel:
  Antworten mit Zitat      
Du brauchst 2 Axes!

Zuerst erzeugst eine Axes und lässt darin Dein JPEG-File anzeigen.
Danach erzeugst Du eine weitere Axes (beim anlegen verdeckts Sie das JPEG-Bild zuerst). Nun musst Du die "Color"-Eigenschaft dieser Axes auf "none" setzen! In der Axes lässt Du dann Deinen Contour-Plot ausgeben. Über XLIM und YLIM kannst Du den Plot so sklaieren wie Du es haben willst. Die JPEG-Axes bleibt davon ungerührt.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
aen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2010, 15:57     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:
Du brauchst 2 Axes!

Zuerst erzeugst eine Axes und lässt darin Dein JPEG-File anzeigen.
Danach erzeugst Du eine weitere Axes (beim anlegen verdeckts Sie das JPEG-Bild zuerst). Nun musst Du die "Color"-Eigenschaft dieser Axes auf "none" setzen! In der Axes lässt Du dann Deinen Contour-Plot ausgeben. Über XLIM und YLIM kannst Du den Plot so sklaieren wie Du es haben willst. Die JPEG-Axes bleibt davon ungerührt.


MfG


Vielen Dank für deine schnelle Antwort!
Da ich in Matlab leider noch nicht so fit bin, würde ich mich über weitere Tips (bzw etwas Code) sehr freuen.

lg aen
 
ShadowCoder
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 20.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.07.2010, 21:25     Titel:
  Antworten mit Zitat      
Ich ebenfalls!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.07.2010, 02:08     Titel:
  Antworten mit Zitat      
Hallo Aen,

Eine andere Idee:
Code:

figure('Units', 'normalized', 'Position', [0, 0, 1, 1]); % Groß genug
Im = imread(FileName);
image(Im);
axis('tight');
ImAxesH = gca;
set(ImAxesH, 'Units', 'pixels')
Pos = get(ImAxesH, 'Position');
set(ImAxesH, 'Position', [Pos(1:2), Pos(1) + 640, Pos(2) + 400]);
PlotAxesH = axes('Units', 'pixels', ...
   'Position', [Pos(1:2), Pos(1) + 640, Pos(2) + 400], ...
    'Color', 'none');
<Erstelle Deinen Plot hier>
[c, m] = getframe(PlotAxesH);
imwrite(c, m, OutputFileName);
 

In älteren Matlab-Versionen waren die Ausgabe-Bilder nach GETFRAME manchmal ein paar Pixel größer als 640x400. Dann müsstest Du einfach die Position ein wenig anpassen.

Falls "semi-transparent" etwas anderes bedeutet, kannst Du auch jeweil ein Bild von beiden Axes-Objekten per GETFRAME erzeugen und Dir den Mittelwert ausrechnen. Das wäre dann "halb-transparent".

Gurß, Jan[/code]
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.