ImageMagick - CMYK->RGB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ImageMagick - CMYK->RGB

    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
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    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?!?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      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
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        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
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          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
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            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.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Hier gibt es eine kleine Trick, nämlich Farbprofile :-)

              Als erstes unter ECI OrgECI RGB Profil und dann noch die Offset Profile 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!

              Kommentar


              • #8
                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
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  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-Code:
                  <?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-Code:
                  <?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.
                  Zuletzt geändert von Quetschi; 24.06.2005, 10:41.
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    der ordner "bin" stimmt auf alle fälle - nenn mal das profil in "eci-rgb.icc" um, und versuche folgenden aufruf:




                    PHP-Code:
                    <?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?

                    Kommentar


                    • #11
                      /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

                      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-Code:
                      <?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
                      Zuletzt geändert von Quetschi; 24.06.2005, 13:42.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        mach zuerst ein png, dann ein jpg...

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

                        Kommentar


                        • #13
                          kann mir einer ein schnipsel verraten, wie man aus CMYK zu RGB konvertiert?

                          irgendwie klappt das nicht mit

                          PHP-Code:
                          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;
                          ?>

                          Kommentar


                          • #14
                            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.

                            Kommentar

                            Lädt...
                            X