Como costurar uma foto abaixo de um lote de fotos

6

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

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

Eu estou procurando por um programa como "stitch -below top.png bottom.png", eu explorei opções como o Montage, mas não consigo fazer com que funcione conforme necessário. Procurando por conselhos.

    
por User 21.03.2013 / 21:51

1 resposta

4

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

Agora coloque todas as suas imagens na mesma pasta para poder acessá-las facilmente no terminal. Coloque as imagens principais 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 em que as imagens estão armazenadas, por exemplo, /home/mark/collating é o que eu uso para essa finalidade.

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

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

Isso levará as duas imagens chamadas image1 e image2 e colocará image2 na parte inferior da image1, salvando o resultado como um arquivo chamado output.jpg.

Para automatizar isso, você pode usar um script como este. Você precisa alterar as variáveis para que elas 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 no seu editor de texto e edite as variáveis para que elas apontem para as pastas corretas. (Ou arquivo para a img inferior.) Salve como collator.sh . É conveniente para os próximos passos se você salvá-lo em seu diretório pessoal.

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

E agora realizamos o trabalho:
Digite ./collator.sh para executar o script; e pronto.

    
por Mark Paskal 21.03.2013 / 22:38