Вопрос: Объединение нескольких изображений с помощью ImageMagick


Я хотел бы объединить несколько изображений в одно изображение с помощью ImageMagick. Чтобы объяснить немного лучше, я хочу, чтобы результат выглядел примерно так:

То есть, у меня есть несколько скриншотов, и я хочу превратить их в одно изображение с оригинальными изображениями друг на друга.

По Googling я столкнулся с командой «составной», но я не знаю, если, и в этом случае, как использовать ее, чтобы получить результат, который я хочу.


144
2018-05-30 18:30


Источник


Вы проверили Примеры многомерных изображений imagemagick? - timbooo
stackoverflow.com/questions/12076293/... - Ciro Santilli 新疆改造中心 六四事件 法轮功


Ответы:


Для любого количества входных файлов названный in-<что нибудь>.jpg:

convert -append in-*.jpg out.jpg

Чтобы добавить определенные файлы или пропустить числа вместо получения полного «glob», вы можете явно указать входные файлы и поместить append команда впоследствии

конвертировать в-1.jpg в-5.jpg в-N.jpg + добавить out-in1-plus-in5-in-inN.jpg

Вы можете использовать -append (вместо +append) для вертикального приклеивания.

Или:

montage -mode concatenate -tile 1x in-*.jpg out.jpg

также создаст файл out.jpg который содержит вертикальную конкатенацию исходных изображений.

convert

Для простой конкатенации в одной строке или столбце append вариант convert инструмента достаточно. Обратите внимание, что -append объединяет все изображения по вертикали, создавая один столбец с N строки, а также +append соединяется горизонтально, создавая один ряд с N колонны.

(Видеть ImageMagick: параметры командной строки.)

montage

Чтобы получить более тонкий контроль над макетом, нам понадобится montage инструмент. montage -mode concatenate будут склеивать входные изображения вместе, как и append вариант и -tile 1x контролирует макет, который будет применяться.

tile следует формату столбцы×строки, но обе стороны могут отсутствовать и montage выяснит, как выполнить ограничения.

Мы используем 1x (ровно один столбец с любым количеством строк) здесь, чтобы получить тот же эффект, что и -append, Без -tile 1x, он присоединяется к изображениям, подобным +append, по умолчанию -tile x1 (любое количество столбцов в одной строке).

(Видеть Примеры ImageMagick: монтаж, массивы изображений.)


217
2018-05-30 19:37



Благодарю. append прекрасно работает, но я считаю, что сломанный монтаж: если шрифты ghostscript не установлены, он будет спасен, ДАЖЕ, если вы не будете аннотировать изображения. Шрифты следует загружать по требованию, а не заранее. - Bram
@Bram: Я не знал этого и твердо согласен. Вы знаете, работает ли GraphicsMagick одинаково? - peth
Как пропустить все остальные изображения? Я бы хотел разобрать подмножество-в-1, в-3, в-5 и т. Д. - Mike Robinson
@MikeRobinson convert -append `counter=0; for x in in-*; do if [[ $(($counter % 2)) == 0 ]]; then echo $x; fi; counter=$((counter + 1)); done` out.jpg должен выполнять эту работу. - gozzilli
@peth: ваш ответ начинается с примера convert команды, которая -append  до имена входных файлов. Анонимный пользователь добавил пример с +append  после имена входных файлов. Действительно ли они действительны? Является ли заказ значительным? - Scott