преобразование из xRGB в cmyk imagemagick

Я пытаюсь преобразовать изображение jpeg из rgb в цветовое пространство cmyk. Платформа - ubuntu 14.04 lts, ​​imagemagick 6.7.7-10 Я начинаю с двух версий образа, обе rgb. Один имеет встроенный профиль sRGB, другой - AdobeRGB. Оба они отображаются примерно одинаково в Firefox или Gwenview и очень похожи в EOG. Когда я конвертирую оба изображения в cmyk с помощью imagemagick:

convert input.jpg -colorspace cmyk test.jpg

тогда я получаю два файла, которые отображаются по-разному. Один значительно темнее другого, и оба слишком темные. Похоже, что исходные профили не использовались для правильного вычисления новых значений цвета.

Еще одна вещь, которую я заметил, заключается в том, что изображение, полученное в результате преобразования xRGB в CMYK, по-прежнему имеет встроенный профиль AdobeRGB, когда его спрашивают с помощью «идентифицировать»:

>$ identify -verbose test.jpg | grep -A 5 rofile 
  Profiles:
    Profile-exif: 36738 bytes
    Profile-icc: 560 bytes
      Description: Adobe RGB (1998)
      Manufacturer: Adobe RGB (1998)
      Model: Adobe RGB (1998)
      Copyright: Copyright 2000 Adobe Systems Incorporated

Насколько я понимаю, в цветовом пространстве CMYK может использоваться профиль RGB.

Вопрос: Что не так в моем понимании / использовании профилей ImageMagick или Colorspaces?


person Ingo    schedule 06.03.2016    source источник


Ответы (3)


Чтобы изменить и цветовую модель, и профиль ICC, я счел необходимым использовать как -profile, так и -colorspace. Нравится:

convert image.jpg  -colorspace CMYK -profile USWebCoatedSWOP.icc image_CMYK_cspace_profile.jpg
person BobK77    schedule 04.06.2018

Многие зрители не будут правильно отображать CMYK JPG, если нет профиля CMYK. Если у вас есть изображение RGB с профилем, используйте для преобразования профили, а не -colorspace. В ImageMagick сделайте следующее:

convert rgb.jpg -profile path/to/USWebCoatedSwop.icc cmyk.jpg

Если у RGB нет профиля, вы хотите добавить профиль RGB перед профилем CMYK.

convert rgb.jpg -profile path/to/sRGB.icc -profile path/to/USWebCoatedSwop.icc cmyk.jpg


Также 6.7.7.10 довольно старый и был выпуском, во время которого в ImageMagick происходило много изменений цветового пространства. Так что я настоятельно призываю вас обновиться. В то время, когда я это пишу, это 6.9.9.40 и 7.0.7.38.

person fmw42    schedule 04.06.2018

Я думаю, вы путаете цветовые пространства с профилями. Если вы просто измените цветовое пространство с помощью -colorspace cmyk, вы измените только цветовое пространство, а не профиль, поэтому ваш существующий профиль останется встроенным, как вы видели.

Я думаю тебе нужно

convert input.jpg -profile cmyk.icm result.jpg

Это отличное обсуждение Энтони Тиссена, здесь.

person Mark Setchell    schedule 06.03.2016
comment
возможно, я сбиваю с толку, но, по моему мнению, цветовое пространство cmyk не может работать с профилем RGB. Итак, "conver" может подумать об удалении этого. - person Ingo; 06.03.2016
comment
Я просмотрел вашу ссылку и видел эту страницу раньше. Кроме того, что он обращается к цветовым системам, где 'convert' использует 'цветовое пространство', которое я принял, в этом нет ничего нового. - person Ingo; 06.03.2016