1

У меня есть 2 папки с более чем 5000 фотографий в каждой:

  • Папка 1: исходные файлы в хорошем качестве, но с удобочитаемыми именами (например, saigon_motorcycle_traffic.jpg)
  • Папка 2: те же файлы в действительно плохом качестве (ширина 450 пикселей), но с чистыми идентификаторами, которые соответствуют базе данных (например, 562634.jpg).

Цель состоит в том, чтобы сопоставить изображения высокого разрешения с идентификаторами базы данных.

Мой вопрос: Какой самый быстрый способ переименовать версию с высоким разрешением saigon_motorcycle_traffic.jpg в ее копию с низким разрешением 562634.jpg?


Я перепробовал кучу программного обеспечения (например, Duplicate Photo Cleaner, VisiPics, XnView, DupliFinder, ...), все они нашли дубликаты, но ни один из них не предложил подходящего способа для такого рода возрождения или подходящей функции экспорта.

Изменить: я не пробовал никаких сценариев (как отмечено в комментариях), поскольку я не знаю ни одного и не нашел ни одного. Если ты что-нибудь знаешь, пожалуйста, дай мне знать.

Некоторые вещи не будут работать: сопоставление размеров изображения не будет работать (большинство изображений имеют одинаковые размеры), сопоставление даты создания не будет работать (все испорчено), и выполнение вручную не будет работать, так как я хочу сохранить мое психическое здоровье ;-)

1 ответ1

0

Я закончил писать подпрограмму PHP (я не буду публиковать полный код, так как это действительно нечистое решение), которая сделала свое дело.

Используя Phasher, я смог перебрать все файлы изображений и найти подозреваемого (!) дубликаты: каждое изображение преобразуется в небольшой хэш (на основе версии изображения 8x8). Эти хэши можно сравнить.

2 вещи, которые нужно иметь в виду:

  • поскольку это вложенный цикл, важно сначала получить все хэши и кэшировать их перед фактическим сравнением. Иначе это займет вечность.
  • подход НЕ дает идеальных результатов. У меня была небольшая частота ошибок при первом запуске. Так что была еще некоторая проверка ошибок, которую нужно было сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .