获取文件夹中所有图片的名称和尺寸

-2 投票
3 回答
5386 浏览
提问于 2025-04-28 06:48

我想知道如何获取文件夹中所有图片的名称和尺寸。我有超过5万张图片在一个文件夹里。我需要一个包含所有图片文件名称和尺寸的列表。我使用的是Windows 7电脑,已经安装了Mediainfo和Python。如果需要的话,也可以安装其他软件,比如ImageMagick。


这是Mofi编辑的内容,目的是教Renuka如何正确提问。

我在文件夹C:\Temp\My Pictures及其子文件夹中有超过5万张图片,文件名像这样:

  • 子文件夹1
    • My Photo1.jpg
  • 另一个子文件夹
    • Another Photo.jpg
  • PNG image.png

我需要支持的文件扩展名有:JPG、JPEG、PNG、GIF、BMP

我想把每个图片文件的名称和路径写入一个CSV文件C:\Temp\ImageList.csv,内容包括:

  1. 带路径的文件名,用双引号括起来
  2. 图片的宽度(像素)
  3. 图片的高度(像素)

各项之间用逗号分隔,也就是,

这个CSV文件的格式应该像上面文件列表的例子:

"C:\Temp\My Pictures\Subfolder 1\My Photo1.jpg",800,600
"C:\Temp\My Pictures\OneMoreSubFolder\Another Photo.jpg",768,1024
"C:\Temp\My Pictures\PNG image.png",48,36

我目前写的代码是:

rem Here should be your code. You should have already searched in WWW
rem by yourself how to fulfill this task and tried something by yourself.

我遇到的问题是……

如何……?

这样的问题在Stack Overflow上会受到欢迎。

暂无标签

3 个回答

0

我建议你使用免费的(私人使用)IrfanView,并通过命令行来操作:

"Path to IrfanView\i_view32.exe "Path to folder with images\*.*" "/info=Path to list file\ImageInfo.lst"

对于一个JPEG文件,输出的列表文件内容示例如下:

[photo.jpg]
File name = photo.jpg
Directory = 
Compression = JPEG, quality: 92, subsampling ON (2x1)
Resolution = 180 x 180 DPI
Image dimensions = 1024 x 768  Pixels (4:3)
Print size = 14.4 x 10.8 cm; 5.69 x 4.27 inches
Color depth = 16,7 Million   (24 BitsPerPixel)
Number of unique colors = 53939
Disk size = 225.87 KB (231.293 Bytes)
Current memory size = 2.25  MB (2.359.336 Bytes)
File date/time = 19.05.2014 / 15:14:32
0

如果你只是想查看图片的尺寸,而不想弄一个包含所有内容的文档(在涉及到编程的部分之后),那么你根本不需要任何软件。这是Windows自带的一个功能。你只需打开文件夹,把视图切换到详细信息模式,然后右键点击顶部的标题。选择更多,在列的列表中找到尺寸,确认对话框后,你就可以回到文件夹了。现在你可以看到这个文件夹里所有图片的尺寸了。

6

使用ImageMagick这个工具,然后运行下面的命令:

identify -format "%f,%w,%h\n" *.jpg > filelist.csv

示例输出

identify -format "%f,%w,%h\n" *.jpg *.png

a.jpg,870,946
b.jpg,298,219
bd.jpg,3138,1877
bean1.jpg,1252,1252
bean2.jpg,500,355
bh.jpg,1877,3138
book.jpg,1715,3049
cap.jpg,300,221
fg.jpg,180,252
fractal.jpg,38400,21600
result.jpg,100,100
score.jpg,870,946
1.png,400,300
1b.png,202,102
2.png,400,300
2b.png,202,102
3.png,103,115
3b.png,202,102

或者

identify -format "%f, width=%w, height=%h\n" *.jpg

如果你想对PNGTIF文件做同样的操作,只需要把jpg改成pngtif就可以了。

撰写回答