Как сделать, чтобы в программу не попадалась одни и те же фотографии?

Я сделал программу, в которую можно кидать фотки, и моя программа делает с этими фотками несколько действий. Нужно, чтобы программа не принимала фотки, которые ранее были скинуты в программу. Если я правильно понимаю, мне нужно подключить бд к моей программе. Как сделать, чтобы я не сохранял само изображение в базе данных, а сохранял какой-то идентификатор, чтобы когда фоток было много, программа не сравнивало фотки долго. Есть ли какой-то идентификатор, который у всех фото разный, чтобы я их сохранял в бд и при скидывании каждого нового фото его идентификатор сравнивали с остальными идентификаторами в бд? Или может есть какой-то другой способ в C# для этого? Кстати, программа у меня сделана на Windows Forms.
  • Вопрос задан
  • 171 просмотр
Решения вопроса 2
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Да, потребуется база данных.
При обработке фотографии подсчитываете hash сумму, сохраняете в БД.
При получении новой фотографии - сверяете.

hash бывает полный или по нескольким пикселям.
Первый - будет показывать - обрабатывалась ли точная копия новой фото.
Второй - будет срабатывать, даже если фото немного видоизменили.
Ответ написан
Есть различные привязки и реализации алгоритма получения перцептивного хэша. Его можно хранить в отдельной колонке таблицы. Стоит добавить индекс на это поле.
Так можно обнаружить thumbnail от большего размера изображения, если хранить и размер изображения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы