convert -average darky1.jpg darky2.jpg lighty1.jpg lighty2.jpg l.ppm
convert -average lighty1.jpg lighty2.jpg lighty1.jpg lighty2.jpg d.ppm
l.ppm é muito mais leve que d.ppm. A ordem das imagens é importante (mas não deveria).
O mesmo para usar evaluate-sequence mean
.
Como fazer isso corretamente?
Responder1
Apenas useGráficosMagick:gm convert -average *.JPG q.ppm
Responder2
Oito anos depois, isso ainda parece ser um problema, sem respostas satisfatórias na família StackExchange.
O operador -average do ImageMagick calcula a média de duas imagens ao mesmo tempo: a imagem atualmente considerada e o resultado da média anterior. Em seguida, passa para a próxima imagem.
Portanto, em vez de todas as imagens da sequência terem o mesmo peso, as imagens posteriores têm um peso maior. Isso não dá o resultado que quase todo mundo que usa essa opção esperaria intuitivamente. Há também o problema de que todas as imagens precisam ser carregadas na memória.
A solução para ambos os problemas é um script para chamar convert recursivamente, em pares de imagens, assim:
#!/bin/bash
i=0
for file in img*jpg; do
echo -n "$file.. "
if [ $i -eq 0 ]; then
cp $file avg.jpg
else
convert $file avg.jpg -fx "(u+$i*v)/$[$i+1]" avg.jpg
fi
i=$[$i+1]
done
Responder3
convert darky1.jpg darky2.jpg lighty1.jpg lighty2.jpg -evaluate-sequence Mean avg.ppm
Cuidado: isso carrega todas as imagens na memória de uma só vez.