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

Image & Overlay als neues Bild speichern

 

chucky
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2011, 03:45     Titel: Image & Overlay als neues Bild speichern
  Antworten mit Zitat      
Hallo User,

ist es möglich nach dem ich 2 Bilder übereinander gelegt habe, das Endresultat als neue Bild Datei mit gleicher Auflösung zu speichern?

Code:

A=imread('bild1.bmp');
B=imread('bild2.bmp');
imshow(A)
hold on
imshow(B)
alpha(0.9)
 


wenn ich es per getimage oder etc versuche kriege ich immer nur das zuletzt per imshow aufgerufene Bild?
Private Nachricht senden Benutzer-Profile anzeigen


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 04.05.2011, 04:36     Titel:
  Antworten mit Zitat      
Moin,

das müßte gehen:

Code:

bild=imread('1.tif');                    
bild2=imread('2.tif');
figure; imshow(bild)
alpha_matrix=0.5*ones(size(bild2,1),size(bild2,2));
hold on
h=imshow(bild2);
set(h,'AlphaData',alpha_matrix)
frame=getframe(gcf);
I=frame2im(frame);
imwrite(I,....)  


Viele Grüße

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 04.05.2011, 07:11     Titel:
  Antworten mit Zitat      
Mit getframe geht das bei mir auch. Allerdings sieht das überlagerte Bild merkwürdig aus. Es zeigt eine Figur in einer Figur, weil an beiden Bildern die Skalierung dran hängt. das kannst Du wie folgt umgehen:

Code:
f=figure('visible off'),imshow(bild,'border','tight')
hold on
imshow(bild2)
hold off
alpha(0.9)
frame= .... wie oben
Private Nachricht senden Benutzer-Profile anzeigen
 
chucky
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2011, 12:59     Titel:
  Antworten mit Zitat      
das mit der ersten Methode klappt, jedoch ist es halt ein frame in frame.

Mit dem zweiten Ansatz, wird nur das letztere Bild geladen. also nicht das Bild + Overlay?
Private Nachricht senden Benutzer-Profile anzeigen
 
chucky
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2011, 13:09     Titel:
  Antworten mit Zitat      
danke, hat so geklappt!

Code:

figure('visible',' off'),imshow(bild,'border','tight')
alpha_matrix=0.5*ones(size(bild2,1),size(bild2,2));
hold on
h=imshow(bild2);
set(h,'AlphaData',alpha_matrix)
frame=getframe(gcf);
I=frame2im(frame);
imwrite(I,'test.bmp',bmp)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 04.05.2011, 13:57     Titel:
  Antworten mit Zitat      
Irgendwas spinnt rum!! Ich habe mit den obigen Befehlszeilen das gewünschte Resultat erhalten und davon ein Screeshot angefertigt und zusätzlich das Ergebnis gespeichert. Nach Deiner Meldung habe ich die gleichen Zeilen wiederholt - liegen ja in der History und Matlab schmeißt eben nicht das gleiche Ergebnis aus - sondern, wie Du auch fesgestellt hast, nur das Overlay. Und das ist nicht das erste Mal!!!!

Zusätzlich habe ich noch folgende Funktion, die auch nicht mehr das gewünschte Resultat bringt:

http://stimmt2punkt0.blogspot.com/2.....wei-bilder-in-matlab.html
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 05.05.2011, 06:52     Titel:
  Antworten mit Zitat      
Moin chucky,

habe jetzt den dummen Fehler gefunden und alles funktioniert wieder. Auch die Zeilen, die Du mit:

Zitat:
Mit dem zweiten Ansatz, wird nur das letztere Bild geladen. also nicht das Bild + Overlay?


kommentierst hast. Die Logik dahinter war ja nur, die Skalierung zu entfernen und es wollte mir nicht in den Sinn, warum das nicht funktionieren sollte.

Einen schönen Rest der Woche

Hubertus
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.