Usando o identify
do ImageMagick para obter a resolução de todos os arquivos JPG no diretório atual:
for image in *.jpg *.jpeg *.png
do
echo "$image :"
identify -format "%[fx:w]x%[fx:h]\n" "$image"
done
Estou tentando percorrer um diretório de imagens e tentar obter a resolução de várias imagens ao mesmo tempo e exibi-las. Como posso fazer isso?
minhas imagens estão no formato .jpeg e .png. Os nomes têm caracteres '_' como Transverse_H4096_W4096.jpeg e thumb.png
Usando o identify
do ImageMagick para obter a resolução de todos os arquivos JPG no diretório atual:
for image in *.jpg *.jpeg *.png
do
echo "$image :"
identify -format "%[fx:w]x%[fx:h]\n" "$image"
done
Você pode usar exiftool
para obter metadados de imagens.
Para instalar a ferramenta no Debian / Ubuntu:
sudo apt-get install libimage-exiftool-perl
No Arch Linux:
sudo pacman -Sy perl-image-exiftool
Onde -S
é para sincronizar os pacotes (os pacotes são instalados diretamente dos repositórios remotos, incluindo todas as dependências necessárias) e -y
é baixar uma cópia nova do banco de dados do pacote principal do (s) servidor (es) definido (s) em pacman.conf(5)
(de man pacman
).
Em seguida, extraia os dados necessários:
for image in ./images/*
do
exiftool "-*FileName*" "-*ImageSize*" "$image"
done
A saída será:
File Name : linux.jpg
Image Size : 1920x1080
File Name : background.jpg
Image Size : 1020x980
Tags shell