Как я могу сохранить цветовые коды HTML в базе данных MySQL, а затем искать диапазон или цвета? - PullRequest
5 голосов
/ 27 февраля 2010

У меня есть скрипт, который извлекает наиболее часто встречающиеся цвета из изображения. Я хочу сохранить эти данные в MySQL, чтобы иметь возможность извлекать изображения в зависимости от цвета. Например, если пользователь нажимает на красный цвет, я хочу вытащить другие изображения с большим количеством «красных» цветов. Я не уверен, как искать в диапазоне значений цвета или какие значения на самом деле хранить в базе данных. В идеале я хотел бы представить пользователю градиентную полосу и попросить его щелкнуть по ней, чтобы найти изображения, близкие по цвету к тому, что они щелкнули.

Любая помощь, указатели или ключевые слова, которые я могу использовать в Google для получения дополнительной информации, будут полезны для пользователя.

Ответы [ 3 ]

4 голосов
/ 27 февраля 2010

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

select imageName from imageColors where ( ABS(red - $redHex) + ABS(blue-$blueHex) + ABS(green - $greenHex) < $threshold)

$threshold - максимальное расстояние между цветами.

1 голос
/ 27 февраля 2010

Моя первая мысль: лучше всего использовать шестизначный гекс и хранить каждый компонент (красный, зеленый, синий) в отдельном поле.

Ищете что-то "красное"? Выберите эти записи с большим количеством красного и относительно низким зеленым и синим, а затем будьте готовы настроить свои отсечки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...