我试图循环遍历图像目录并尝试同时获取多个图像的分辨率并显示它们。我怎样才能做到这一点?
我的图像采用 .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