複数の画像の解像度を同時に取得する

複数の画像の解像度を同時に取得する

画像ディレクトリを繰り返しながら、複数の画像の解像度を同時に取得して表示したいと思います。どうすればいいですか?

私の画像は.jpegと.png形式です。 Transverse_H4096_W4096.jpeg や Thumb.png などの「_」文字を含む名前

答え1

ImageMagickを使用して、identify現在のディレクトリにあるすべてのJPGファイルの解像度を取得します。

for image in *.jpg *.jpeg *.png
do
   echo "$image :"
   identify -format "%[fx:w]x%[fx:h]\n" "$image"
done

答え2

これを使用してexiftoolイメージメタデータをインポートできます。

Debian/Ubuntu にツールをインストールするには:

sudo apt-get install libimage-exiftool-perl

Arch Linuxでは:

sudo pacman -Sy perl-image-exiftool

パッケージが同期されると-S(すべての必須依存関係を含むパッケージがリモートリポジトリから直接インストールされている場合)、-yプライマリパッケージデータベースの新しいコピーが(で)で定義されているサーバーからダウンロードされます。pacman.conf(5)man pacman

次に、必要なデータを抽出します。

for image in ./images/*
do
   exiftool "-*FileName*" "-*ImageSize*" "$image"
done

出力は次のとおりです。

File Name                       : linux.jpg
Image Size                      : 1920x1080
File Name                       : background.jpg
Image Size                      : 1020x980

関連情報