Costurando uma foto abaixo de um lote de fotos

Costurando uma foto abaixo de um lote de fotos

Tenho certeza de que haveria um comando simples para isso, mas não consegui encontrar um.

Basicamente eu gostaria de costurar uma foto abaixo de outra foto sem sobreposição. Idealmente, também gostaria de um comando que pudesse automatizar esse processo para 200 imagens superiores onde a mesma imagem inferior fosse costurada. Todas as imagens têm a mesma largura, portanto nenhuma transformação é necessária.

Estou procurando um programa como "stitch -below top.png bottom.png", explorei opções como Montage, mas não consigo fazê-lo funcionar conforme necessário. Procurando conselhos.

Responder1

Primeiro você precisa abrir um terminal e sudo apt-get install imagemagick.

Agora coloque todas as suas imagens na mesma pasta para que você possa acessá-las facilmente a partir do terminal. Coloque todas as imagens superiores em sua própria pasta e mantenha a imagem inferior em outro lugar para simplificar as coisas.

Digite cd DIRNAME, você precisa substituir DIRNAME pelo nome da pasta onde as imagens estão armazenadas, por exemplo /home/mark/collatingé o que utilizo para esse fim.

Agora que seu shell está na pasta correta e o imagemagick está instalado, usamos o seguinte para unir as imagens:

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

Isso pegará as duas imagens denominadas image1 e image2 e colará a image2 na parte inferior da image1, salvando o resultado como um arquivo denominado output.jpg.

Para automatizar isso você pode usar um script como este. Você precisa alterar as variáveis ​​para que apontem para os lugares certos.

#! /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

Copie e cole no gedit ou em seu editor de texto eedite as variáveispara que apontem para as pastas corretas. (Ou arquivo para a imagem inferior.) Salve-o como collator.sh. É conveniente para as próximas etapas se você salvá-lo em seu diretório inicial.

Agora abra um terminal e navegue até onde você salvou o arquivo. (Você já está lá se o salvou em seu diretório inicial, caso contrário, digite cd /path/to/your/location) Digite chmod +x collator.shpara conceder permissões de execução ao arquivo.

E agora terminamos o trabalho:
Digite ./collator.shpara executar o script; e pronto.

informação relacionada