Как я могу реализовать поиск цвета для галереи изображений? - PullRequest
2 голосов
/ 08 января 2010

Я работаю над простым проектом галереи изображений и хотел бы реализовать возможность поиска на основе цветного шестнадцатеричного кода. Поэтому, если кто-то введет «ff1212» в поиск, он будет отображать только те изображения, которые содержат этот конкретный оттенок красного. Я видел веб-сайт с поиском, который работает так, как я хочу: http://cssline.com (AJAX-часть хороша, но мне нужны серверные компоненты).

Я не могу понять, как хранить данные о цвете для каждого изображения. Должен ли я получить каждый уникальный шестнадцатеричный код, используемый в изображении, и сохранить их как теги в базе данных? Кажется, что это создаст огромный набор данных, который замедлит поиск. Как насчет хранения самих изображений в базе данных и сканирования их цветов во время поиска? Это также звучит так, как будто это будет медленно. Я знаю, что как только я пойму, как хранить данные для быстрого поиска, я смогу понять, как закодировать сам поиск.

У кого-нибудь есть какие-либо советы или рекомендации, которые могут мне помочь?

Ответы [ 3 ]

1 голос
/ 17 февраля 2012

Прежде всего, уменьшите количество цветов на изображениях до приемлемого значения (максимум 16 или около того). Затем, чтобы иметь возможность сравнивать разные изображения, я думаю, что было бы неплохо хранить только значения websafe (интервалы, о которых говорил @erelander) для нормализации результатов.

0 голосов
/ 08 января 2010

Я не думаю, что сохранение значений цвета в базе данных сделает его медленным. Это, однако, сделает его безумно большим! А учитывая, что вы можете индексировать данные по значениям цвета, процесс будет быстрым.

0 голосов
/ 08 января 2010

Вы можете попытаться сохранить цветовые интервалы каждого изображения в базе данных, а не сохранять каждое уникальное значение цвета. Конечно, для поиска этих интервалов может потребоваться другой алгоритм поиска.

...