2014-10-18 2 views
-3

Как получить имена и размеры всех изображений в папке? У меня более 50 тыс. Изображений в папке. Мне нужен список имен вместе с размерами всех файлов изображений. ПК с Windows 7 с установленными Mediainfo и Python. Можете установить другое программное обеспечение, если необходимо, например ImageMagick.Получить имя и размеры всех изображений в папке


Под редакцией MOFI показать Ренуки как спросить прямо.

Я имею в папке C:\Temp\My Pictures и ее подпапки более 50,000 файлов изображений с именами как

  • вложенная_папка 1
    • Моего photo1.jpg
  • OneMoreSubFolder
    • Другой Photo.jpg
  • PNG image.png

расширения файлов для поддержки являются: JPG, JPEG, PNG, GIF, BMP

В хотим получить имя каждого изображения файл с путем в файл CSV C:\Temp\ImageList.csv с:

  1. именем файла с путем в двойных кавычках
  2. ширины изображения в PIXE Ls
  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 

Код I до сих пор:

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. 

Моя проблема что ...

Как ...?

Такой вопрос будет приветствоваться при переполнении стека.

ответ

4

Используйте 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.

+0

Это отображается dogsandcats.jpg JPEG 958x1644 958x1644 + 0 + 0 8-bit sRGB 254KB 0.000u 0: 00.000 любой способ только ширины и высоты diplay отдельно? также может ли он создать файл csv? – Renuka

+0

Попробуйте 'ident -format '% w% h" * .jpg –

+0

Извините, что я имел в виду высоту ширины имени. Я попробовал, чтобы он соединял ширину и высоту. Любой способ добавить пространство между ними? – Renuka

0

Если вы просто хотите видеть размеры и не хотите иметь документ, содержащий все (после какой-либо части программирования), вам даже не нужно программное обеспечение. Это встроенная функция в Windows. Просто перейдите в папку и переключите вид на Detail и щелкните правой кнопкой мыши заголовок вверху. Выберите more и из списка столбцов выберите Dimensions. Подтвердите диалоговое окно, и вы вернетесь в папку. Теперь вы можете увидеть размеры всех изображений в этой папке.

+0

Я хочу детали в формате списка в текстовом файле или файле csv. – Renuka

0

Мое предложение заключается в использовании бесплатный (для частного использования) IrfanView и использовать командную строку:

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

Вывод в файл списка для 1 файла 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

Здесь отображаются все детали. Я хочу только имя и размеры. – Renuka

+0

Да, но с помощью нескольких простых командных команд вы можете извлекать только имя файла и размеры изображения в еще один текстовый файл, например, с помощью 'findstr'. Но, как вы можете прочитать в разделе [Какие темы можно задать здесь?] (Http://stackoverflow.com/help/on-topic), сообщество переполнения стека не предназначено для выполнения всей работы для вас, что является причиной ваш вопрос уже получил 2 голоса за 15 минут и будет закрыт, скорее всего, через несколько часов или дней. – Mofi

+0

Я знаю. Вы, ребята, умны. Но это место не дружелюбно. Большинство людей ненавидят это место. Все не ботаник, как вы, ребята. Также нет способа узнать, почему вопрос был подавлен. Меня многократно забивали, но я не знаю, почему. Как я могу улучшить в следующий раз, если не знаю причины. – Renuka