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

übereinanderliegende Bilder Speichern.

 

SchmitzGerd
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 13.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2016, 14:38     Titel: übereinanderliegende Bilder Speichern.
  Antworten mit Zitat      
Hi,

ich habe zB zwei Bilder, welche ich übereinander lege und versuche diese zu Speichern.

also im Prinzip;

img1=img1.jpg ( ein Graubild)
img2=img2.jpg ( ein Bild mit farbig markierten Regionen)

das ganze anzeigen zu lassen ist kein Problem

Code:
figure
imshow(img1)
hold on
h=imshow(img2);
h.AlphaData=0.3;


Dadurch werden im Graubild Bereiche farbig markiert dargestellt.

Aber wie schaffe ich es nun, das Ergebnis als Bild zu speichern und nicht nur auszugeben ?

Habe schon versucht einfach die figure abzugreifen, aber dann speichert es ja ne kastrierte Auflösung.

danke schon mal für die antworten
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.08.2016, 18:32     Titel:
  Antworten mit Zitat      
Hallo

benutze dazu getframe-Funktion:


Code:


figure
imshow(img1)
hold on
h=imshow(img2);
h.AlphaData=0.3;

res = getframe()
imwrite(res.cdata, 'my_ne_img.png')


 
Private Nachricht senden Benutzer-Profile anzeigen
 
SchmitzGerd
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 13.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2016, 19:34     Titel:
  Antworten mit Zitat      
denny hat Folgendes geschrieben:
Hallo

benutze dazu getframe-Funktion:


Code:


figure
imshow(img1)
hold on
h=imshow(img2);
h.AlphaData=0.3;

res = getframe()
imwrite(res.cdata, 'my_ne_img.png')


 


Danke. Aber damit greife ich ja die figure ab und speichere das entstandene Bild ja nucht in der ursprünglichen Auflösung.

und was mir gerade einfgefallen ist. Das Bild müsste evtl im Hintergrund erzeugt werden, also ohne Anzeige( figure, imshow etc) und dann gespeichert werden etc ? Praktisch wie imshowpair<-> imfuse.


EDIT: ach ich bin ein Depp, imfuse hat ja mit der Methode 'blend' mehr oder weniger genau was ich suche.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 02.08.2016, 21:04     Titel:
  Antworten mit Zitat      
Wenn du dafür Image Toolbox Werkzeuge(was aus deinem Beispiel nicht klar ist) verwendest, wie imfuse,
dann sicher besser gleich die Ergebnisse gleich dort abgreifen.

Sonst muss man ja eine Operation wie Addition der zwei Bilder selbst durchführen, getframe weiß ja nicht wie Resultat von Übereinanderlegen aussehen soll
Private Nachricht senden Benutzer-Profile anzeigen
 
SchmitzGerd
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 13.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2016, 22:20     Titel:
  Antworten mit Zitat      
ok imfuse klappt ( theoretisch). Die toolbox habe ich.

Problem: manche meiner Bilder sind riesig. ~ 10000x20000 Pixel. Tja, da geht mir bei imfuse schlicht der Speicher aus. "out of memory".

Workaround wäre, die dinger zu zerschnippeln, übereinanderzulegen, und dann wieder zusammenzubauen, aber das wär eigentlich ne Notlösung.

Wenn ich es anzeigen kann, muss es doch auch eine möglichkeit geben das direkt so zu speichern, aber ohne anzeige. DIe infos müssen ja iwo liegen, wenn sie an den bildschirm zum anzeigen geliefert werden können.

Aber ich komm nicht drauf, wie :/
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.452
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.08.2016, 23:59     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Wenn ich es anzeigen kann, muss es doch auch eine möglichkeit geben das direkt so zu speichern

Du hast vermutlich keinen Bildschirm mit Auflösung 10000x20000?
Wenn du nur das abspeichern willst, was du auf dem Bildschirm siehst, dann dürfte es vollkommen ausreichen, die Auflösung um einen Faktor 5 in jeder Richtung, also das 25-fache zu reduzieren. Dann dürfte es auch keine Speicherprobleme geben.

Grüße,
Harald
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.