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

Bild mittels "imwrite" erzeugen

 

dani1632
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2009, 12:16     Titel: Bild mittels "imwrite" erzeugen
  Antworten mit Zitat      
Hallo!

Ich habe ein kleines Problem mit der Erzeugung eines Bildes:

Ich habe eine Bildmatrix(56x64) und will daraus ein Bild erzeugen. Zunächst habe ich es so probiert:
Code:

figure;
imshow(Bildmatrix,[]);
 

Funktioniert ganz gut, die erzeugte figure habe ich unter dem Namen "figure" als Matlab-fig angehängt. Wenn ich nun aus dieser figure ein Bild erzeugen will, geh ich auf "file" -> "save as" und speichere es als .jpg datei ab (angehängte Datei "figure.jpg"). Wie zu sehen ist, stellt sich dabei das Problem heraus, dass das Bild immer so groß ist wie die figure selbst, und nicht, wie das eigentliche Bild, das dargestellt ist. Zweitens leidet die Qualität auch darunter.

Deswegen hab ich es probiert, das Bild mittels "imwrite" zu schreiben:
Code:

imwrite(Bildmatrix,'image.jpg','jpg');
 

Die erzeugte Datei habe ich ebenfalls angehängt (image.jpg). Hier wird es zwar in der richtigen Größe (56x64 Pixel, wie die Matrix) erzeugt, aber leider nicht richtig! Wie zu sehen ist, entspricht es nicht dem Bild in der erzeugten figure vorher. Kann mir jemand sagen, warum das so ist?? Bzw kann mir jemand verraten, wie ich das Bild aus der figure besser erstellen kann?

Bitte um Hilfe!
DANKE!
Lg

image.jpg
 Beschreibung:

Download
 Dateiname:  image.jpg
 Dateigröße:  1.04 KB
 Heruntergeladen:  494 mal
figure.jpg
 Beschreibung:

Download
 Dateiname:  figure.jpg
 Dateigröße:  2.42 KB
 Heruntergeladen:  554 mal
figure.fig
 Beschreibung:

Download
 Dateiname:  figure.fig
 Dateigröße:  30.89 KB
 Heruntergeladen:  484 mal
Private Nachricht senden Benutzer-Profile anzeigen


Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 13.06.2009, 16:29     Titel:
  Antworten mit Zitat      
Konnte den Fehler jetzt nicht nachvollziehen, aber versuch mal die colormap mit zu übergeben.

Code:

map=colormap(gray(256));
imwrite(Bildmatrix,map,'image.jpg','jpg')
 

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
power
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 25.10.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2009, 23:45     Titel:
  Antworten mit Zitat      
Hi,

versuch mal statt .jpg lieber bmp oder png zu verwenden. Bei jpg wird das Bild erst in RGB umgewandelt.
Siehe
http://www.mathworks.com/access/hel.....e254b15ec784880d68284d212
Private Nachricht senden Benutzer-Profile anzeigen
 
dani1632
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2009, 10:34     Titel:
  Antworten mit Zitat      
Hallo!
@Maddy: Danke zunächst mal für den Tip! hab es soeben ausprobiert, das Bild ist nun allerdings sehr dunkel und man erkennt nur schwache Strukturen... (siehe Anhang "image.jpg")... Zusätzlich wird eine leere figure geöffnet (vermutlich durch das colormap?!?!)...

@Power: Danke ebenfalls für den Tip, werde es gleich ausprobieren!

Danke, Lg

image.jpg
 Beschreibung:

Download
 Dateiname:  image.jpg
 Dateigröße:  873 Bytes
 Heruntergeladen:  484 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
dani1632
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2009, 10:41     Titel:
  Antworten mit Zitat      
Hallo!
Habe nun andere Formate ausprobiert! Leider schaun die Bilder trotzdem gleich aus!

Lg
Private Nachricht senden Benutzer-Profile anzeigen
 
dani1632
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2009, 11:08     Titel:
  Antworten mit Zitat      
Hy nochmal... habe es jetz so probiert:
Code:

        map=colormap(gray(32));
        imwrite(MyDicomImage,map,'image.jpg','jpg','Quality',100);
 

Das erzeugt Bild befindet sich im Anhang... Leider habe ich jetz das Problem, dass es nun im oberen Bereich des Bildes heller ist und unten dunkler (im Gegensatz zum Bild im ersten Beitrag)

Falls das mit imwrite nicht funktioniert, werde ich das Bild aus der figure(erster Beitrag) mit einem Grafikprogramm bearbeiten müssen, damit ich den "Rand" der figure wegbekomme, was mir allerdings sehr unprofessionell erscheint Sad

HILFE!!!!
DANKE!!!!!!
Lg

image.jpg
 Beschreibung:

Download
 Dateiname:  image.jpg
 Dateigröße:  3.57 KB
 Heruntergeladen:  520 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
dani1632
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2009, 12:40     Titel:
  Antworten mit Zitat      
Hallo!
Sorry, bin nun auf den Fehler draufgekommen; es lag an einem anderen Problem bei der Berechnung der Bildmatrix; nun funktioniert es mit imwrite perfekt!
Danke für die Tips nochmals!!!!!
Lg Daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
dani1632
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 28.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2009, 14:22     Titel:
  Antworten mit Zitat      
Hallo!

Ich habe nun andere Bilder zu erzeugen, die so ausschaun sollten wie eines der Bilder in der angehängten image.fig (z.B. bei slice3).
Ich erzeuge das Bild nun folgend:
Code:

imwrite(MyDicomImageFlipAngle,'image_flipangle1.jpg','jpg','Quality',100);
 

als ohne dem "map";

aber ich habe auch folgendes ausprobiert:
Code:

map=colormap(gray(4));
imwrite(MyDicomImageFlipAngle,map,'image_flipangle2.jpg','jpg','Quality',100);
 


oder
Code:

map=colormap(gray(8));
imwrite(MyDicomImageFlipAngle,map,'image_flipangle3.jpg','jpg','Quality',100);
 


Die erzeugten Bilder befinden sich im Anhang... Nun schaun die Bilder nicht mehr so schön aus, bzw. nicht so, wie sie ausschaun sollten (wie in der figure)... wenn ich den Wert in gray(..) erhöhe wird es nur noch dunkler und beinahe ein komplett schwarzes bild...

Weiss jemand warum das so ist??
Danke, LG

image_flipangle3.jpg
 Beschreibung:

Download
 Dateiname:  image_flipangle3.jpg
 Dateigröße:  2.66 KB
 Heruntergeladen:  531 mal
image_flipangle2.jpg
 Beschreibung:

Download
 Dateiname:  image_flipangle2.jpg
 Dateigröße:  3.34 KB
 Heruntergeladen:  543 mal
image_flipangle1.jpg
 Beschreibung:

Download
 Dateiname:  image_flipangle1.jpg
 Dateigröße:  1.76 KB
 Heruntergeladen:  482 mal
images.fig
 Beschreibung:

Download
 Dateiname:  images.fig
 Dateigröße:  605.73 KB
 Heruntergeladen:  496 mal
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.