获取文件夹中所有图片的名称和尺寸
我想知道如何获取文件夹中所有图片的名称和尺寸。我有超过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
,内容包括:
- 带路径的文件名,用双引号括起来
- 图片的宽度(像素)
- 图片的高度(像素)
各项之间用逗号分隔,也就是,
这个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
如果你想对PNG
或TIF
文件做同样的操作,只需要把jpg
改成png
或tif
就可以了。