Можно ли вычислить картинку по уникальному признаку в PHP?

Статус
В этой теме нельзя размещать новые ответы.

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
417
Реакции
49
На сайте юзеры загружают свои фотки. Проблема в том, что когда они регаются через вконтакте и скрипт парсит фотки из их альбомов на мой сервер - там очень много мусора.
Подскажите можно ли на 100% вычислить уникальность фотографии средствами PHP? Если да, я бы завел отдельное поле и когда я удаляю фото с сайта, я бы вносил это уникальное значение в это поле БД. В дальнейшем при загрузке юзером фото на сайт я бы проверял загружаемое фото по этому полю и если я уже ранее удалял это фото, то оно автоматически удалялось бы скриптом.
Только нужен на 100% уникальный признак, т.к. главная задача не повредить нормальные фотографии.
 
По идее да, у картинок (фоток) есть скрытая тех информация, по идее её можно дергать, но если обнулить с помощью спец программ, то тогда уже нет.
 
нет. из технической информации вам доступна только дата, размер и расширение. Все остальное - только с помощью анализаторов. Но пример - у вас много фото красных машин, а вам надо лишь феррари. как ее уникализировать? - никак. даже уггл это делает используя альты и тайтлы
 
нет. из технической информации вам доступна только дата, размер и расширение. Все остальное - только с помощью анализаторов. Но пример - у вас много фото красных машин, а вам надо лишь феррари. как ее уникализировать? - никак. даже уггл это делает используя альты и тайтлы
модель камеры, по, если фото. Если постараться можно дополнительно внести описание, и дергать из списка что нужно. А вообще в техданных около десятка тех параметров, но об этом знают только профи ;-)

EXIF — стандарт, позволяющий добавлять к изображениям и прочим медиафайлам дополнительную информацию, комментирующую этот файл, описывающий условия и способы его получения, авторство и т. п. Получил широкое распространение в связи с появлением цифровых фотокамер.
 
Последнее редактирование:
Наверное проанализировать несколько точек на фото.
Учтите, что чтобы проанализировать фото, их сначала нужно скачать себе на сайт, а это нагрузка.
Чем больше точек проанализируешь, тем точнее результат.
Поэтому если проанализировать ВСЁ фото, все точки, то результат опознавания будет 100%
Извините — какой вопрос, такой ответ;)
 
Подскажите можно ли на 100% вычислить уникальность фотографии средствами PHP?
Для определения уникальности чего-либо использовать хорошо хеш - ru.wikipedia.org/wiki/Хеш Главная сложность в том, как его подобрать ;)
Уникальность файла вычисляй по md5 хешу функциями md5() или md5_file()
Уникальность картинки независимо от того как её ужали, а также иногда при лёгком повороте или кропе, вычисляют перцептивным хешем:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

UPD:
По идее да, у картинок (фоток) есть скрытая тех информация, по идее её можно дергать, но если обнулить с помощью спец программ, то тогда уже нет.
VK обнуляет EXIF, IPTC и другие метаданные

Наверное проанализировать несколько точек на фото.
Смешение даже на несколько пикселов, например добавлением рамки к фото, сделает его уникальным. Анализировать пиксели на php гораздо дольше чем построить md5 хеш. А сделав проверку на смешение, мы получим аналог перцептивного хеша.
Всё уже придумано до нас! ;)
 
Последнее редактирование:
Для просмотра ссылки Войди или Зарегистрируйся вот еще автору для размышления, но все сводиться к тому что эти методы лишь примерны. Идеального решения нету. Малейшее дополнение фотографии новыми елементами - типа надписи изменит хеш
 
Для просмотра ссылки Войди или Зарегистрируйся вот еще автору для размышления, но все сводиться к тому что эти методы лишь примерны. Идеального решения нету. Малейшее дополнение фотографии новыми елементами - типа надписи изменит хеш
как вариант резать картинку на куски, и сравнивать хэши нескольких кусков. Какая-то часть совпадёт...
 
Как сработает ваш вариант, на двух фотографиях?


wpapers_ru_Яблоко-на-черном-фоне.jpg 1138250_rose_wallp_th.jpg

левая часть тут совпала на 100%, т.е. это одинаковые картинки, если искать хоть какое-то совпадение. Сама идея хорошая, но надо оценивать количество совпавших кусков, а для этого делить на 20-50 кусков. В плане технической реализации это будет ресурсозатратный процесс.
 
  • Нравится
Реакции: Eav
Как сработает ваш вариант, на двух фотографиях?


Посмотреть вложение 58033 Посмотреть вложение 58034

левая часть тут совпала на 100%, т.е. это одинаковые картинки, если искать хоть какое-то совпадение. Сама идея хорошая, но надо оценивать количество совпавших кусков, а для этого делить на 20-50 кусков. В плане технической реализации это будет ресурсозатратный процесс.
Мне кажется можно подобрать размеры кусков и их расположение, попробовать с полосами вертикальными горизонатльными, а может наоборот совсем мелкие квадратики свравнивать. 3 фигуры будет вполне достаточно, условия рассматривтаь тоже по разному, совпадение 2 или 3 а те что совпали 1 раз брать на ручную модерацию...
 
  • Нравится
Реакции: Offi
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху