php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
ImageMagick - CMYK->RGB


 
Quetschi
11-05-2005, 16:54 
 
Hallo,

hat jemand von euch Erfahrung mittels ImageMagick ein CMYK-Bild in ein Browsertaugliches RGB umzuwandeln?

mittels convert -colorspace rgb

kommt leider nur ein grauenhaftes Ergebnis (völlig falsche Farben) raus.

Gruss
Quetschi

 
schmalle
12-05-2005, 13:14 
 
Ich habe zwar keine Erfahrung damit, aber theoretisch müsste es genügen das Bild in ein Datei Format zu wandeln, welches kein CMYK unterstützt. z.B. ein TIFF zu JPG?!?

 
Kropff
12-05-2005, 13:56 
 
z.B. ein TIFF zu JPG?!?
also es gibt auch cmyk-jpegs, deine antwort ist aber trotzdem richtig. imagemagick hat große probleme mit cmyk-bildern, so kann man z.b. die auflösung nicht abfragen. daher macht imagemagick z.b. aus einem 300 dpi cmyk-eps automatisch ein 72dpi rgb-jpg. allerdings werden die jpegs dann "herunterskaliert", d.h. wenn die ausgangsdatei nicht besonders groß ist, wird das neue bild ipsig klein.

gruß
peter

 
Quetschi
12-05-2005, 14:13 
 
Danke für euere Antworten,

ich habe es mit CMYK Tiff's und JPG's probiert, das Ergebnis in RGB ist dabei immer ein Bild mit viel zu knalligen, im manchen Tönen fast neon-artigen Farben.

Auf mein Anfragen war mein Hoster sogar so freundlich die aktuellste Version von ImageMagick zu installieren, was aber keine Änderung mit sich brachte.

Naja, ist kein Beinbruch. Das ganze ist für die übliche Geschichte, dass User Bilder hochladen können usw. Dann sollen Sie halt keine CMYK's hochladen und basta :)

 
Kropff
12-05-2005, 14:38 
 
ich habe es mit CMYK Tiff's und JPG's probiert, das Ergebnis in RGB ist dabei immer ein Bild mit viel zu knalligen, im manchen Tönen fast neon-artigen Farben.

das hängt von den bildern ab. ich mußte mal 1000 bilder umwandeln mitimagemagick und siehe da bei pflanzenbildern (grüne blätter, brauner boden) war das ergebnis erbärmlich. normale motive wurden aber sehr gut umgewandelt.

Das ganze ist für die übliche Geschichte, dass User Bilder hochladen können usw.
die wissen doch eh nicht was cmyk ist. digitalkameras arbeiten doch mit rgb ;-)

gruß
peter

 
Quetschi
12-05-2005, 14:51 
 
Naja, das ist nicht für irgendeine Community oder so, sondern ein Portal für Hotels, Ferienwohnungen usw.

Die haben dann oft ne CD mit Bildern aus der Druckerei wo sie Ihren letzten Prospekt drucken lassen haben oder von uns z.B. (mein Chef fotografiert auf Großbild-Diafilm und scannt mit nem Crosfield-Trommelscanner, halt auch für Druckerei) und haben halt daher schon mal oft CMYK's. Aber natürlich wissen die wenigsten ob sie nun ein CMYK oder RGB vor sich haben.

Daher wärs halt schön gewesen, wenn man denen die Arbeit abnehmen kann indem man CMYK's automatisch auf dem Server in RGB's wandelt, aber das Ergebnis mit ImageMagick war bei 15 getesteten Bildern nicht akzeptabel -> Anti-Werbung.

Im OpenSource-Bereich ist scheinbar die Verwendung von CMYK's nicht sehr gut implementiert, GIMP z.B. hatte ich auch mal gegen Photoshop getestet. GIMP ist für RGB sicher ein spitzen Programm vor allem wenn man bedenkt das es nix kostet, bei CMYK traten aber die gleichen Farbfehler auf wie bei ImageMagick.

 
tracker
24-06-2005, 10:41 
 
Hier gibt es eine kleine Trick, nämlich Farbprofile :-)

Als erstes unter ECI OrgECI RGB Profil (http://www.eci.org/eci/downloads/ECI-de/iccprofile_der_eci/eciRGBv10.zip) und dann noch die Offset Profile (http://www.eci.org/eci/downloads/ECI-de/iccprofile_der_eci/ECI_Offset_2004.zip) laden. Dann die Dateien "eci-rgbv1.icc" und "isocoated.icc" in den IM Pfad bzw. auszuführenden Pfad laden. Dann noch dem IM Aufruf "-profile isocoated.icc -profile ECI-RGB.V1.0.icc" (bedeutet von Profil1 zu Profil2) hinzufügen und das sollte es gewesen sein :-)

Hoffe ich konnte helfen!

 
Quetschi
24-06-2005, 10:50 
 
Hallo,

hey super :), klingt nach einer vernünftigen Lösung, dachte schon auch dass es an den Profilen liegt, aber hatte keine Ahnung wie man IM andere Profile beibringt.

Werd ich bei nächster Gelegenheit testen, danke!

Gruss
Quetschi

 
Quetschi
24-06-2005, 11:36 
 
Leider doch wieder ernüchterung :(

Ich habe die Dateien ECI-RGB.V1.0.icc und ISOcoated.icc in das Verzeichnis geladen wo sich auch 'convert' befindet.

Folgende Aufrufe habe ich getestet:
<?php
$conv = "/usr/local/bin/convert ".$ziel_temp;
$conv .= " -resize 200x200 -quality 85 ";
$conv .= " -unsharp 0.5x0.5 ";
$conv .= " -profile /usr/local/bin/isocoated.icc -profile /usr/local/bin/ECI-RGB.V1.0.icc ";
$conv .= $ziel;
?>
und
<?php
$conv = "/usr/local/bin/convert ".$ziel_temp;
$conv .= " -resize 200x200 -quality 85 ";
$conv .= " -unsharp 0.5x0.5 ";
$conv .= " -profile isocoated.icc -profile ECI-RGB.V1.0.icc ";
$conv .= $ziel;
?>
Beide Aufrufe erzeugen ein Bild das vom Browser nicht angezeigt werden kann. Füge ich noch -colorspace rgb hinzu, wird das Bild zwar angezeigt, allerdings wieder mit den gleichen unbrauchbaren Farben. Hast du vielleicht noch ne Idee? Hab ich das noch irgendwie falsch angewendet?

Gruss
Quetschi

EDIT:
Hab beim 1. Profil nicht auf Gross/Kleinschreibung geachtet, das Ergebnis bleibt aber das gleiche.

 
tracker
24-06-2005, 13:12 
 
der ordner "bin" stimmt auf alle fälle - nenn mal das profil in "eci-rgb.icc" um, und versuche folgenden aufruf:




<?php
$conv = "/usr/local/bin/convert ".$ziel_temp;
$conv .= " -resize 200x200 -quality 85 ";
$conv .= " -filter triangle";
$conv .= " -profile isocoated.icc -profile eci-rgb.icc";
$conv .= " -unsharp 0.5x0.5 ";
$conv .= $ziel;
?>

Ach ja, der Filter "triangle" ist etwas zuträglicher für die Qualität im Allgemeinen :-)
Du kannst auch noch versuchen die Profile in den Bild-Ordner zu legen - nur falls IM sie dort suchen sollte...

PS.: Welche IM Version setzt Du ein?

 
Quetschi
24-06-2005, 14:24 
 
/usr/local/bin/convert --help

zeigt:

Version: ImageMagick 6.2.3 06/23/05 Q16 http://www.imagemagick.org

Ganz frisch installiert und funktioniert ansonsten auch einwandfrei.

Hat auch alles nix geholfen, sobald ich -colorspace rgb weglasse wird ein Bild draus das der Browser nicht anzeigen kann. Mit PHP lassen sich zwar die Größeninfos auslesen, aber das wars dann :dontknow:

Mit -colorspace rgb kommen wieder die gräßlichen Farben.


Auszug aus dem Manual von ImageMagick zu -profile:

Use +profile icm, +profile iptc, or +profile profile_name to remove the respective profile.
Use identify -verbose to find out what profiles are in the image file.
Use -strip to remove all profiles.

Sollte der Aufruf evtl. eher so aussehen?

<?php
$conv = "/usr/local/bin/convert ".$ziel_temp;
$conv .= " -resize 200x200 -quality 85 ";
$conv .= " -filter triangle";
$conv .= " +profile ISOcoated.icc -profile eci-rgb.icc";
$conv .= " -unsharp 0.5x0.5 ";
$conv .= $ziel;
?>

EDIT:
Grad versucht -> negativ

 
raymundfischer
08-12-2005, 20:42 
 
mach zuerst ein png, dann ein jpg...

jeweils mit -density 72x72 +profile \"*\"

 
Stefan P
25-12-2005, 01:22 
 
kann mir einer ein schnipsel verraten, wie man aus CMYK zu RGB konvertiert?

irgendwie klappt das nicht mit


PHP:--------------------------------------------------------------------------------
<?php
$conv = "/usr/local/bin/convert ".$ziel_temp;
$conv .= " -resize 200x200 -quality 85 ";
$conv .= " -filter triangle";
$conv .= " +profile ISOcoated.icc -profile eci-rgb.icc";
$conv .= " -unsharp 0.5x0.5 ";
$conv .= $ziel;
?>

 
LaraRoe
27-06-2007, 19:13 
 
Siehe http://www.ws-online.de/software/cmyk_rgb.html zu diesem Thema. Es müssen nur die ICC von Adobe geladen werden, um zu respektablen ergebnissen zu kommen. Habe es soeben ausprobiert.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:20 Uhr.