2010-01-08 2 views
2

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

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

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

ответ

0

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

+0

Я не уверен, что понимаю, что вы подразумеваете под цветовыми интервалами. Как эти данные будут выглядеть в базе данных? – James

0

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

+0

Итак, если я храню шестнадцатеричные коды цвета, как если бы они были тегами с помощью таблицы ссылок, тогда запросы могут быть быстрыми, хотя потенциально могут быть сотни или тысячи цветов на изображение? – James

1

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

Смежные вопросы