1

  1         2      3      4
  • Изображение 1 - это оригинальный основной файл, отображаемый на display ImageMagick. Это проявляется как негатив, но не должно быть. При отображении с использованием других инструментов это нормально.
  • Изображение 2 - это изображение 4, добавленное к изображению 1 с помощью `convert main.jpg footer.jpg -append output.jpg. Основная часть все еще отрицательная, но нижний колонтитул нормальный
  • Изображение 3 - это тот же файл, что и изображение 2, но оно отображается в Windows Preview (оно одинаково для всех, кроме display мгновенных сообщений). Основное изображение нормальное, но колонтитул отрицательный.
  • Изображение 4 является файлом нижнего колонтитула, который обычно отображается во всех утилитах.

Я пытался сделать:

convert main.jpg -negate footer.jpg  -append -negate output.jpg

но это делает нижний колонтитул почти полностью черным (но он отображается правильно на display чата!). У него также есть недостаток, заключающийся в том, что он неправильно работает с изображениями, с которых правильно начать.

Проблема в том, что у меня есть большой пакет файлов для обработки, и некоторые из них не имеют этой проблемы. С помощью параметра identify -verbose я обнаружил, что некоторые из проблемных файлов с большей вероятностью имеют разрешение, равное или близкое к геометрическим размерам изображения. Изображения с "разрешением", которое выше или значительно ниже, чем геометрия, с меньшей вероятностью демонстрируют эту проблему.

Все основные изображения имеют размер 350x350 пикселей, а нижний колонтитул составляет 350x60.

Другие отличия (от identify -verbose), которые могут быть значительными:

Image: NORMAL.jpg                      Image: NEGATIVE.jpg
  Format: JPEG                            Format: JPEG
  Class: DirectClass                      Class: DirectClass
  Geometry: 350x350+0+0                   Geometry: 350x350+0+0
  Resolution: 100x100                     Resolution: 338.66x338.66
  Print size: 3.5x3.5                     Print size: 1.03348x1.03348
  Units: Undefined                        Units: PixelsPerInch
  Type: TrueColor                         Type: ColorSeparation
  Endianess: Undefined                    Endianess: Undefined
  Colorspace: RGB                         Colorspace: CMYK
  Depth: 8-bit                            Depth: 8-bit
  Channel depth:                          Channel depth:
    red: 8-bit                              cyan: 8-bit
    green: 8-bit                            magenta: 8-bit
    blue: 8-bit                             yellow: 8-bit
                                            black: 8-bit

Я пробовал это с использованием IM 6.5.1-0 и 6.6.8-3 в Linux и 6.5.2-5 в Windows.

Как я могу надежно диагностировать причину и автоматически ее исправить? Как я могу добавить эти изображения в пакете, не делая много ручного вмешательства?

Я прошу прощения за небольшие фрагменты, но это авторские изображения.

1 ответ1

1

Оказывается, что цветовое пространство было проблемой. Я решил проблему, преобразовав его из CMYK в RGB.

identify -verbose *.{jpg,JPG} |
    grep -E '^(Image:|[[:blank:]]+Colorspace: CMYK)'|
    grep -Po 'Image: \K.*' |
    xargs -I % convert % -colorspace RGB footer.jpg  -append combined/%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .