imagemagick конвертирует CMYK pdf в RGB jpeg или PNG и сохраняет цвета

У меня есть cmyk pdf, который я пытаюсь преобразовать в файл RGB jpeg или png, но цвета остаются довольно близкими к версии CMYK (по сравнению с тем, как это делает Photoshop)

Я пытаюсь выполнить следующую команду, но цвета резко меняются с красного на почти ярко-неоновый красный и так далее.

Вот команда

 convert cmykpdf.pdf +profile icc -profile AdobeRGB1998.icc -colorspace sRGB jpegtesting.jpg

Любые идеи? или мысли как это сделать. Я попытался сохранить его как PNG, и возникла такая же проблема, и я попытался изменить sRGB на просто RGB.

ПРИМЕЧАНИЕ. Это не обязательно должно быть RGB jpeg, это может быть даже CMYK jpeg, но мне просто нужно, чтобы он правильно отображался в браузере, и я знаю, что safari не отображает cmyk jpeg правильно

Моя цель - просто отобразить img в браузере, который показывает правильный цвет и правильное разрешение, ничего не пикселированное


person Yeak    schedule 14.08.2013    source источник
comment
С преобразованием из CMYK в RGB связано много вуду. Photoshop - золотой стандарт в этой области, я бы не ожидал, что бесплатная утилита приблизится к нему.   -  person Mark Ransom    schedule 15.08.2013


Ответы (3)


Решение довольно простое, в настоящее время в Photoshop CMYK to RGB нет ничего особенного. Imagemagick использует цветовую систему LCMS, которая отлично справляется со своей задачей.

Но сначала вам нужно отредактировать delegates.xml файл внутри каталога IM. Найдите строку с delegate decode="ps:cmyk" и вставьте -dUseCIEColor=false ближе к концу, чтобы она выглядела так:

<delegate decode="ps:cmyk" restrain="True" command="&quot;@PSDelegate@&quot; -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPSCrop -dAlignToPixels=0 -dGridFitTT=2 &quot;-sDEVICE=pamcmyk32&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; -dUseCIEColor=false &quot;-f%s&quot; &quot;-f%s&quot;"/>

Это необходимо, потому что в противном случае Ghostscript (перед возвратом pam изображения в ImageMagick) выполнит преобразование CMYK в CMYK (при условии, что DeviceCMYK будет CMYK на основе CIE), и вы, вероятно, этого не захотите, поскольку цвета будут значительно сдвигаться.

Затем попробуйте эту команду:

convert -density 144 cmyk.pdf -profile USWebCoatedSWOP.icc -resample 72 -profile "sRGB Color Space Profile.icm" -quality 100 out.jpg

Здесь мы берем cmyk.pdf (скорее, временное изображение pam, которое GS возвращает в IM), назначаем профиль CMYK (как и в Photoshop, когда вы открываете файл или делаете это явно - поэтому выберите профиль, который лучше всего описывает ваш ввод CMYK) , преобразуйте его в профиль sRGB (потому что я не думаю, что вам нужен AdobeRGB в качестве цветового пространства изображений для Интернета) и сохраните в jpeg. При необходимости уменьшите параметр качества.

Еще одна хитрость - дополнительное ручное сглаживание - обратите внимание на промежуточное разрешение 144 dpi и окончательное 72 dpi. Потому что я не думаю, что сглаживание Ghostscript с -dGraphicsAlphaBits=4 находится на одном уровне со сглаживанием Photoshop.

Результат этой команды выглядит точно так же, как преобразованный в Photoshop.

person user2846289    schedule 15.11.2013
comment
Было бы здорово отметить, где вы взяли файлы icc и icm - person Meetai.com; 25.07.2014
comment
При этом я получаю сообщение lcms: Error # 12288; Поврежденный профиль памяти. Любые идеи? - person Meetai.com; 25.07.2014
comment
@Air, сейчас проверяю на Ubuntu 14.04 (раньше это была какая-то XP) и с моими тестовыми файлами работает так, как я написал. У тебя все еще есть проблемы? Профили ICC стандартные. Для источника CMYK вы должны выбрать то, что лучше всего описывает предполагаемые условия печати, например USWebCoatedSWOP.icc можно получить с сайта Adobe, т. Е. С первого результата Google. sRGB.icc является стандартом RGB и уже должен быть установлен, например в /usr/share/color/icc/colord. Что касается ошибок, оба IM и GS активно разрабатываются, какие версии вы используете? - person user2846289; 31.07.2014
comment
Разве не стоит упомянуть о разных местах расположения delegates.xml? например в Mac OSX Mavericks это /opt/local/etc/ImageMagick-6 - person basZero; 28.08.2014
comment
Спасибо за решение. Это дало мне идеальный результат после безуспешных попыток с парой разных профилей. - person Mohsen; 27.09.2014
comment
В Ubuntu (14) я нашел файл делегатов по адресу /etc/ImageMagick/delegates.xml. - person Marten Koetsier; 26.03.2015

Вы можете попробовать это:

convert -negate -colorspace RGB srcfile.jpg outputfile.jpg

Сообщите мне, если это сработает!

person Mackelito    schedule 15.11.2013
comment
Опс .. извините .. попробуйте удалить -negate - person Mackelito; 06.01.2014
comment
К сожалению, необходимость «отрицания» кажется несколько случайной. - person Synchro; 14.01.2014
comment
Оно работает. Но преобразованный файл выглядит темнее исходного файла. Не могли бы вы предложить мне решение? - person parthi; 05.03.2015
comment
@parthi -colorspace sRGB. - person Skippy le Grand Gourou; 20.11.2016

Основываясь на предыдущих ответах, мне наконец удалось сохранить естественные цвета от CMYK pdf до RGB png, просто используя:

convert -colorspace sRGB cmyk.pdf rbg.png

person Bastien Ho    schedule 02.12.2016