同时获取多个图像的分辨率

同时获取多个图像的分辨率

我试图循环遍历图像目录并尝试同时获取多个图像的分辨率并显示它们。我怎样才能做到这一点?

我的图像采用 .jpeg 和 .png 格式。名称包含“_”字符,例如 Transverse_H4096_W4096.jpeg 和thumb.png

答案1

使用 ImageMagickidentify获取当前目录中所有 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是同步包(包直接从远程存储库安装,包括所需的所有依赖项),哪里是从(from )-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

相关内容