Поиск похожих картинок.

Тема в разделе "Как сделать...", создана пользователем Виллен, 18 май 2009.

Статус темы:
Закрыта.
  1. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    236
    Симпатии:
    60
    Давно у меня есть идея создать галерею со свободной заливкой изображений любым участником.
    Но нужно как то застраховаться от дублей и похожих картинок.
    Локально есть куча прог умеющих выявлять похожие картинки,
    например вот одна из них: http://www.imagedupeless.com/ru/
    Можно ли сделать подобное на php?
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Ну от дублей можно избавится сверяя например хэши изображений.

    А насчет похожих, хз, тут наверное это дело проще решать через нейронную сеть.
     
  3. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    236
    Симпатии:
    60
    Да 100% дубли можно и хешем, хоть тем же md5, это и так понятно.
    А как поступить с масштабированными, кропленым картинками?
    Переводить всё в минитюры с разрешением 100х100 и уже их хешировать?
    но от кропа это не спасет...
     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    А что мешает использовать теже локальные проги?
     
  5. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    236
    Симпатии:
    60
    Либо сложность построения галереи, надо из php будет запускать внешнее приложение (хорошо если удастся найти приемлимую софтину для линукса), разобраться как ему подсунуть загружаемое изображение? как увидеть результат?
    хотелось бы что б пользователь не только получил сообщение о дубле (вполне возможно что "мнимом" дубле), но увидел похожие картинки и имел возможность загрузить "дубль" в случае ошибки программы.
    Либо задержками в обновлении, т.е. юзеры накидали картинок, а потом админ удаляет дубли.

    Второй метод неинтересен ниразу. Это скучная рутина, которая надоест через 2-3 недели. Даже автоматизация запуска программы мало поможет, всеравно надо оценивать результат "на глаз".

    Так что нужен третий метод - генерация хешфункции изображения на лету, сравнение с базой и так далее.
    Хотелось бы найти исходники тогоже imagedupless, что бы выдрать от туда хотя бы алгоритм.
     
  6. Ceyce

    Ceyce Постоялец

    Регистр.:
    3 ноя 2008
    Сообщения:
    52
    Симпатии:
    51
    Конечно можно.
    Какая разница PHP, C++ или Java? Все можно сделать на любом языке.:)
    Другое дело что алгоритм очень сложный должен получится.

    Я бы посоветовал такой третий метод - дать пользователям возможность проголосовать "баян!" и попросить дать ссылку где такая же картинка. Если наберется 2-3 голоса, то смотреть самому(либо вообще автоматически удалять).
     
  7. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    236
    Симпатии:
    60
    Нашел вот такой интересный сервер
    http://server.imgseek.net/
    но установить не получилось
    (затупил на этапе установки imagemagick, libmagick++9-dev и тд, необходимых для перекомпиляции _imgdb.so. Что случилось с репозитариями убунты 7.10 ? только у меня выдается ошибка 404?)

    А пока разбираюсь в исходниках imgdb
    Алгоритм осонован на Haar 2D transform
     
  8. mikemilj

    mikemilj Постоялец

    Регистр.:
    31 янв 2009
    Сообщения:
    103
    Симпатии:
    4
Статус темы:
Закрыта.