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

Lab-Bild aus Matlab speichern

 

gerste

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 15:32     Titel: Lab-Bild aus Matlab speichern
  Antworten mit Zitat      
Hallo zusammen.

Vorweg: Ich bin blutiger Matlabanfänger. Ein paar Sachen habe ich schon hinbekommen aber jetzt hakts irgendwie.

Folgendes:
Ich möchte gerne ein Lab-Bild einlesen, die Koordinaten nach LCh transformieren ein bisschen am Bunttonwinkel (h) drehen, zurück nach Lab und das Bild wieder abspeichern.
Das klappt im Grunde auch schon ganz gut, nur das Abspeichern haut nicht so richtig hin.
Im bekomme mit imwrite nur RGB-Daten raus (was natürlich mit meinen Lab-Koordinaten total scheiße aussieht).
Am Ende soll also einfach ein Lab-Tif mit 300 dpi stehen.

Ich vermute/hoffe mal, dass das für den geneigten Experten kein allzu großes Problem darstellt für mich derzeit allerdings schon (bzw. noch).

Dank und Gruß


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.08.2009, 15:38     Titel:
  Antworten mit Zitat      
Was ist den Lab?

http://de.wikipedia.org/wiki/Lab_(Begriffskl%C3%A4rung)

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 15:54     Titel:
  Antworten mit Zitat      
Hallo,

mit welchen Parametern rufst Du denn imwrite auf?
Um den L*a*b* Farbraum zu verwenden, muss der entsprechende Parameter 'ColorSpace' auf 'icclab' bzw. 'cielab' gesetzt sein.

Viele Grüße,

LittleX
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: 03.08.2009, 16:07     Titel:
  Antworten mit Zitat      
Hallo LittleX

ich möchte diese Fragestellung um einen Punkt erweitern. Wie rechne ich ein RGB-Bild in ein L*a*b-Bild um? In Help finde ich nur die Umrechnung nach cbcr oder hsv oder habe ich nur ein Brett vor dem Kopf (soll vorkommen)?

Gruß Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.08.2009, 16:12     Titel:
  Antworten mit Zitat      
Aha!

http://de.wikipedia.org/wiki/Lab-Farbraum
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 03.08.2009, 16:26     Titel:
  Antworten mit Zitat      
Ich möchte noch einmal kutz nachfragen. Ist "rgb2ycbcr" gleichzusetzen mit L*a*b oder gibt es dafür noch einen anderen Befehl?

Gruß Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 16:49     Titel:
  Antworten mit Zitat      
Zur Umwandlung gibt es die Befehle makecform und applycform.
Private Nachricht senden Benutzer-Profile anzeigen
 
gerste

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 16:53     Titel:
  Antworten mit Zitat      
Vielen Dank für die vielen schnellen Antworten.

@ Andreas: Genau der (letzte) isses.

@ Hubertus: Ich weiß nicht genau wie es in Matlab läuft aber von Lab nach RGB kommst du rein mathematisch nur über XYZ (Normvalenzsystem), klingt bescheuert aber so isses. Gute Seite zu dem Thema: http://www.brucelindbloom.com/ und denn oben auf Math klicken ... oder eben Photoshop nehmen Wink

@LittleX: Ich weiß nicht mehr genau, wie ich es gemacht habe. Habe das vorletzte Woche mal ausprobiert, hat nicht geklappt, dann hieß es: brauchen wir eh nicht mehr, machen wir anders und nu brauchen wir es doch wieder; allerdings habe ich gerade meinen Laptop nicht dabei.
Aber vielleicht ist das, was du geschrieben hast schon die Lösung, das hatte ich in meinem Befehl jedenfalls nicht stehen. Ich werde das mal ausprobieren und mich dann wieder melden.

@ alle: Vielen Dank Leute.
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 03.08.2009, 18:37     Titel:
  Antworten mit Zitat      
Hallo gerste,

mein Weg war bisher auch immer über Photoshop, möchte aber eine Funktion schreiben, die alles in einem Rutsch erledigt. Mich würde nicht nur interessieren, ob es einen Unterschied zwischen "rgb2ycbcr" und L*a*b* gibt und dann, ob es nicht ein M-File zur Umrechnung gibt. Vielleicht hat ja eine "gute Seele" hier im Forum darauf eine Anwort.
Einen Dank schon mal om voraus

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 19:10     Titel:
  Antworten mit Zitat      
YCbCr und L*a*b sind nicht das gleiche. Die Definitionen und Umrechungsformeln finden sich auf wikipedia.
In MATLAB werden für die Umrechung von RGB -> L*a*b* zwei Funktionen verwendet.
makecform zum erstellen der Transformationmatrix, applycform um die Transformation durchzuführen.
Beispiel aus der MATLAB doku:
Code:

rgb = imread('peppers.png');
cform = makecform('srgb2lab');
lab = applycform(rgb,cform);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
gerste

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 19:33     Titel:
  Antworten mit Zitat      
Ich hab mich mit YCbCr noch wirklich auseinander gesetzt (ich komme aus der Druckindustrie) aber wenn ich mich recht entsinne, ist das doch ein theoretisches Modell ohne feste Primärvalenzen (kann mich aber auch täuschen). Hat mit Lab eigentlich nichts zu tun, außer dass auch hier Helligkeit und Farbe getrennt betrachtet werden ... darauf lässt jedenfalls der Name schließen.

Vermutlich erzähl ich hier niemandem was Neues aber ich find ja die Colour Engineering Toolbox von Phil Green recht nett.
Gerade jetzt am Anfang meiner Matlabkarriere.
http://www.digitalcolour.org/toolbox.htm
 
gerste

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 19:59     Titel:
  Antworten mit Zitat      
Von welchem RGB reden wir hier eigentlich? Wenn du von sRGB aus kommst, kannst du die von LittleX genannte Funktion oder eine aus der Engineering Toolbox verwenden.
Gehst du aber von AdobeRGB oder ECIRGB oder sonst was aus, musst du quasi ne manuelle Matrixmultiplikation durchführen.
Die entsprechende Mathematik inkl. aller benötigten Werte findest du auf der oben schon erwähnten Seite von Bruce Lindbloom.
http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2009, 20:24     Titel:
  Antworten mit Zitat      
Auch wenn man AdobeRGB verwenden will ist das kein Problem.
Die Funktion makecform kann durch den Parameter -icc auch zur Konvertierung von verschiedenen icc Profilen verwendet werden (also z.B. von AdobeRGB zu sRGB).
Siehe dazu auch die Hilfe von iccread.
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.08.2009, 03:45     Titel:
  Antworten mit Zitat      
Moin, moin

etwas verschlafen danke ich erstmal allen für die Antworten. Jetzt ist alles viel klarer!
Ich wünsche allen einen schönen Tag

Viele Grüße
Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 04.08.2009, 07:53     Titel:
  Antworten mit Zitat      
Noch zur Vollständigkeit. Das ist hier dokumentiert:

http://www.mathworks.com/support/so...../data/1-9HMQXA/index.html

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.