Quero exibir um número no topo de cada imagem, para todos os arquivos de imagem em um diretório. Em outras palavras, cada imagem é modificada para conter uma caixa contendo um número. Como posso automatizar isso?
Responder1
Este script bash faz isso. Ele usa imagemagick. Instale o imagemagick apt-get install imagemagick
nos sistemas Ubuntu e Debian e um comando yum semelhante no Fedora. O truque é aumentar um contador para cada imagem e usar esse valor ao escrever o rótulo em cada imagem. Todos os comandos usados pelo script existem no Ubuntu/Debian desde pelo menos 2016 e também funcionam com o Ubuntu 21.10.
#!/bin/bash
mkdir -p out #creates an output directory called 'out'
i=0
ls -1 *.jpg *.JPEG *.jpeg *.JPG 2>/dev/null|while read image
do
number=$(printf "%02d" $i)
convert "$image" -fill black -undercolor '#FFFFFF' -pointsize 25 -gravity northwest -annotate +10+10 "$number" "out/$image"
((i=i+1))
done