четверг, 26 ноября 2009 г.

Как удалить однотонный фон с картинки с помощью ImageMagick

Есть картинца с однотонным фоном.

Надо Этот тон удалить и заменить белым.

Нет ничего проще, если под рукой есть imagemagick.

convert with-background.png -transparent "#FFFFCC" \
   -background white -layers flatten white-background.png

Здесь "#FFFFCC" означает цвет фона моей картинки.

Конструкция -transparent $COLOR делает прозрачным всё, что обладает заданным цветом. А -background white совместно с -layers flatten делает фон белым. Хотите другой? Меняйте white на всё, что пожелаете, и всё.

Вы спросите, почему именно -layers flatten? Не знаю :) Работает, главное. Также работает -layers merge и -layers mosaic. Но поскольку здесь изображение одно, то разницы между ними, вроде как нет.

P.S. Мне это понадобилось, потому что не оказалось под рукой нужного графика. Исходных данных нет, всё что было, так это рисунок внутри PDF файла, который я оттуда успешно стянул :) Копируете статью - поставьте ссылку на оригинал!

2 комментария: