ImageMagick изменяет цвета при преобразовании PDF в изображения
Я преобразовывать PDF-файлы, загруженные пользователями в изображения, используя следующую команду
-density 140 -limit memory 64MB -limit map 128MB [pdffile] page.png
вот результат. Справа у нас есть оригинальный PDF и слева выходное изображение. Как вы можете видеть, цвета довольно заметно отличаются.
что может быть причиной этого и как это исправить?
5 ответов
попробуйте выполнить следующую команду:
-density 140 -limit memory 64MB -limit map 128MB -colorspace RGB [pdffile] page.png
Edit: позже я обнаружил, что ImageMagick может сделать это хорошо, мне просто нужно было использовать -colorspace sRGB
моей последней командой было:
convert -density 560 -limit memory 64MB -limit map 128MB \
-colorspace sRGB [pdffile] -scale 25% page.png
передискретизация и масштабирование должны были противостоять плохому сглаживанию, упомянутому ниже.
прежде чем я обнаружил это, вот мое предыдущее решение...
в моем случае цветов, полученный с помощью ImageMagick в convert
были перенасыщены, совсем как в вопросе. Я пытался преобразовать этот файл использование IM 6.7.7.10-6ubuntu3.
-resample 100
не имело значения.-colorspace RGB
казалось, производил более точные насыщения, но все изображение было темнее, чем должно было быть.
любопытно, предложение использовать GhostScript вместо ImageMagick для преобразования, произведенного очень близко к правильному цвета:
gs -q -sDEVICE=png16m -dSubsetFonts=true -dEmbedAllFonts=true \
-sOutputFile=page.png -r200 -dBATCH -dNOPAUSE [pdffile]
(первоначальное предложение передал -dUseCIEColor
опция, но в моем случае это, казалось, уменьшало гамму: светлые пиксели были прекрасны, но темные пиксели были слишком темными, поэтому я удалил его.)
после этого единственное, что меня беспокоило, было то, что сглаживание / края были немного выключены в местах (особенно видны на кривых, проходящих 45 градусов). Чтобы улучшить это, я создал вывод в четыре раза больше требуемого разрешения, а затем после этого масштабируется, делая эти ошибки почти незаметными. Обратите внимание, что мне пришлось использовать ImageMagick в -scale
, и не -geometry
или -resize
, чтобы избежать бикубические эффекты звона.
Open Source mupdf util mutool сохраняет цвет и размер, используя параметры по умолчанию ниже если вам нужно перечислить страницы, разделенные запятой в конце команды.
mutool draw-o draw%d.png abook.формат PDF 1,2
в противном случае при использовании Linux попробуйте Windows для лучшей интерпретации RGB цветового пространства при использовании преобразования imagemagick.
следующие изображения показывают, как сглаживание улучшается, если вы выполняете выборку с более высоким разрешением, а затем уменьшаете масштаб.
хотя 1120 было немножко лучшим качеством чем 560, оно приняло долгое время преобразовать, поэтому я вероятно выбрал бы 560 на хорошее время:качество компромисс.
-colorspace sRGB -density 140
-colorspace sRGB -density 280 -scale 50%
-colorspace sRGB -density 420 -scale 33.3333%
-colorspace sRGB -density 560 -scale 25%
-colorspace sRGB -density 1120 -scale 12.5%
(легче увидеть разницу, если вы загрузите последние два изображения и переключитесь между ними в своем любимом просмотр изображений. Или прокрутите этот список изображений вверх, а не вниз. Вы должны казаться им все более уродливыми.)