2017-02-20 9 views
0

Давно я ввернул свой жесткий диск и мне пришлось восстановить все мои данные, но я не смог восстановить имена файлов.Разделение значков с картинками в кучу случайных PNG

Я использовал инструмент для сортировки всех этих файлов по расширению, а другой для сортировки JPG по дате, поскольку дата создания JPG хранится в самом файле. Я не могу сделать это с помощью PNG, хотя, к сожалению.

Так что у меня много из PNG файлов, но большинство из них являются только значки или активы, используемые ранее как данные программного обеспечения я использовал в то время. Но я знаю, что есть другие, «настоящие» картины, которые ценны для меня, и я бы очень хотел их вернуть.

Я ищу любой инструмент или любой способ, просто все, что вы можете придумать, что поможет мне отделить мусор от хорошего в этой кучке фотографий, это действительно будет удивительный из вас.

Просто, чтобы вы знали, я говорю о 230 тысячах файлов, для ~ 2 ГБ данных.

Как Exemple, это то, что я называю мусор: An icon for something I don't care about или Another one, Again и все такого рода изображений.
Я хотел бы, чтобы они были отделены от картин пейзажей/людей/скриншотам, вид снимков, которые вы могли бы иметь в вас галерее телефона ...

Спасибо за чтение, я надеюсь, что вы будете в состоянии помочь !

+1

Я не уверен в точном алгоритме, так как я не знаю язык, который вы используете, но просто сортируйте его так, чтобы, если размер изображения больше 150 пикселей, а высота больше 150 пикселей, это, вероятно, не значок, а может быть переместился в папку с картинками. Это позволит только немного пропустить, что может быть быстро замечено. PNG выводит свои переменные ширины и высоты, как и jpg – Kaboom

+0

@Kaboom Я на самом деле в настоящее время не программируется (у меня нет времени, к сожалению), но я постараюсь сделать это в bash ... Спасибо за совет. –

+1

Зачем вам хранить естественные изображения в виде png?Особенно, когда они пришли с телефона. Это не имеет никакого смысла. Но если вы заинтересованы в их поиске; просто перейдите для filesize или number_of_pixels. Это будет хороший классификатор для естественного vs. icon. – sascha

ответ

2

Эта простая команда ImageMagick скажет вам:

  • высота
  • ширина
  • количество цветов
  • имя

каждого PNG в текущей директории, разделенных двоеточия для легкого разбора:

convert *.png -format "%h:%w:%k:%f\n" info: 

Пример вывода

600:450:5435:face.png 
600:450:17067:face_sobel_magnitude.png 
2074:856:2:lottery.png 
450:450:1016:mask.png 
450:450:7216:result.png 
600:450:5435:scratches.png 
800:550:471:spectrum.png 
752:714:20851:z.png 

Если вы на MacOS или Linux, вы можете легко запустить его под GNU Parallel, чтобы получить 16 сделано в то время, и вы можете анализировать результаты легко с awk, но вы можете быть в Windows.

Возможно, вы захотите изменить \n в конце для \r\n под Windows, если вы планируете разбирать выходные данные.

+0

Это очень хороший ответ, спасибо. Мне уже удалось с помощью людей в комментариях использовать только количество цветов, и я закончил с запуском 'ident -format% k $ filename' для каждого файла и выбора файлов со значением больше 5000. Это работал хорошо, я мог бы использовать другие значения позже. –

Смежные вопросы