Существует множество различных алгоритмов вычисления сходства между двумя изображениями, но я не могу найти ничего о том, как вы храните эту информацию в базе данных, чтобы быстро найти похожие изображения ,Метрика для поиска похожих изображений в базе данных
Под «аналогичным» я имею в виду точные дубликаты, которые были повернуты (с шагом 90 градусов), с поправкой на цвет и/или с сохранением (сжатие с потерей jpeg).
Я пытаюсь найти «fingerprint» изображений, чтобы я мог быстро найти их.
Лучшее, что я до сих пор придумал, это generate a grayscale histogram. С 16 ячейками и 256 оттенками серого я могу легко создать 16-байтовый отпечаток. Это работает достаточно хорошо, но это не так здорово, как хотелось бы.
Другое решение, которое я пробовал, состояло в том, чтобы изменить размер изображений, rotate them, чтобы они были ориентированы одинаково, оттенки серого, нормализуют гистограммы, а затем уменьшают их до примерно 8x8 и уменьшают цвета до 16 оттенков серого , Несмотря на то, что миниатюрные изображения были очень похожими, они обычно отсутствовали на пиксель или два, что означает, что точное совпадение не может работать.
Без точного соответствия я не верю, что есть эффективный способ группировки похожих фотографий (без сравнения каждой фотографии с каждой другой фотографией, т. Е. O (n^2)).
Итак, (1) Как я могу создать Я создаю отпечаток пальца/подпись, который не зависит от требований, упомянутых выше? Или, (2) если это невозможно, то какую другую метрику я могу использовать так, чтобы с учетом одного изображения, я могу найти его лучшие совпадения в базе данных тысяч?
Вам нужен линейный хэш (потому что ваша база данных поддерживает только индексы btree?) Или вы можете использовать совместимое с GiST решение? (см .: http://www.postgresql.org/docs/9.1/static/gist.html) – SingleNegationElimination
@TokenMacGuy: Я пока ничего не решил. Я бы предпочел использовать с ним EntityFramework, который, как мне кажется, ограничивает меня такими: http://msdn.microsoft.com/en-us/data/dd363565 – mpen
В аниме сообщество манги есть на самом деле решение, которое дает вам близость к изображениям в процентах. http://saucenao.com/ и проект iqdb http://iqdb.org/ используйте это. Вы могли бы спросить их. Однако они используют базу данных CUSTOM! – sinni800