Склеивание фотографии под пакетом фотографий

Склеивание фотографии под пакетом фотографий

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

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

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

решение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для запуска скрипта; и все готово.

Связанный контент