Сшивание фото под партию фотографий

Я уверен, что для этого была бы простая команда, однако я не смог ее найти.

В основном я хотел бы сшить фотографию под другой фотографией без наложения. Также в идеале я хотел бы команду, которая может автоматизировать этот процесс для 200 верхних изображений, где сшивается то же самое нижнее изображение. Все изображения имеют одинаковую ширину, поэтому преобразование не требуется.

Я ищу программу, похожую на «stitch -below top.png bottom.png», я исследовал такие опции, как Montage, но, похоже, не могу заставить ее работать должным образом. Нужны советы.

6
задан 22 March 2013 в 01:24

1 ответ

Сначала вам нужно открыть терминал и sudo apt-get install imagemagick.

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

Введите cd DIRNAME, вам нужно заменить DIRNAME на имя папки, в которой хранятся изображения, например, /home/mark/collating - это то, что я использую для этой цели.

Теперь, когда ваша оболочка находится в нужной папке и установлена ​​imagemagick, мы используем следующее для склеивания изображений:

convert -append image1.jpg image2.jpg output.jpg

Это займет два изображения с именем image1 и image2 и вставьте image2 внизу image1, сохраняя результат как файл с именем output.jpg.

Чтобы автоматизировать это, вы можете использовать такой скрипт. Вам нужно изменить переменные, чтобы они указывали на правильные места.

#! /bin/bash

#   Replace the values of these variables with the locations of your tops and the bottom.
# The output directory must already exist!
#   "~/" is a shortcut for your home dir, FYI.

TopsDir="~/collating/tops" #Only the TOP images should be in this folder!
BottomImg="~/collating/bottom.png"
OutputDir="~/collating/complete"

[ -d "$TopsDir" -a -d "$OutputDir" ] && [ -f "$BottomImg" ] || { echo "One of the paths you supplied wasn't valid."; exit 1;}

cd "$TopsDir"

for TopImg in *; do
    convert -append "$TopImg" "$BottomImg" "$OutputDir/$TopImg"
done

Скопируйте и вставьте его в gedit или в ваш текстовый редактор и отредактируйте переменные , чтобы они указывали на правильные папки. (Или файл для нижнего изображения.) Сохраните его как collator.sh. Это удобно для следующих шагов, если вы сохраните его в своем домашнем каталоге.

Теперь откройте терминал и перейдите туда, где вы сохранили файл. (Вы уже там, если вы сохранили его в своем домашнем каталоге, в противном случае введите cd /path/to/your/location) Введите chmod +x collator.sh, чтобы дать файлу разрешения на выполнение.

И теперь мы выполним работу:
Введите ./collator.sh, чтобы запустить скрипт; и все готово.

0
ответ дан 22 March 2013 в 01:24

Другие вопросы по тегам:

Похожие вопросы: