none
Найти цвет в RGB RRS feed

  • Вопрос

  • Добрый вечер. Помогите разобраться с поиском нужного цвета из списка заданных.

    Есть база в ней забиты цвета RGB через запятую например 125,12,25

    Строк не очень много не более 200

    Мне необходимо найти строку наиболее близкую по цвету (именно по самому цвету)

    Если я разобью данные из базы на три значения создам из них коллекцию.

    Допустим сначала найду ближайшее значение R, потом что? Искать ближайшее значение G? А если оно совсем из другой строки коллекции будет?

    Потом искать ближайшее значение B? А если оно также совсем из другой строки коллекции будет?

    В общем как найти ближайший цвет из моей коллекции RGB по заданным RGB?

    Спасибо

    13 декабря 2016 г. 15:29

Ответы

  • Для каждого из 200 цветов определить разницу с искомым цветом. Выбрать цвет с минимальной разницей.

    Как определить разницу? Ну например так:

    deltaC = sqrt((R-R')^2 + (G-G')^2 + (B-B')^2)

    Если я не ошибся то это должно быть расстояние между цветами если они представлены точками в 3х мерном пространстве с координатами R, G, B и R', G', B'.



    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа DevingAs 13 декабря 2016 г. 18:04
    13 декабря 2016 г. 16:52
    Модератор