По изображению как определить оттенок? - PullRequest
1 голос
/ 21 января 2010

Для приложения базы данных я пытаюсь определить средний оттенок раздела фотографии по цветовой шкале.

Будучи новичком, я нахожу это очень сложным для объяснения, поэтому я создал простую диаграмму, показывающую, чего именно я пытаюсь достичь.

http://www.knockyoursocksoff.com/shade/

Если бы у кого-нибудь было время дать мне несколько идей, я был бы очень благодарен.

С наилучшими пожеланиями,

Уоррен.

Ответы [ 2 ]

1 голос
/ 21 января 2010

Если вы используете цветные фотографии, вы должны сначала преобразовать выбранную область из RBG (красный, зеленый, синий) в HSL / HSV ( артикул ).

HSL расшифровывается как «оттенок, насыщенность, яркость». 1 Интересующее вас число: lightness .

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

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

Краткое примечание о значениях освещенности: Технически вы не можете просто усреднить значения освещенности, потому что восприятие освещенности не является линейным ( статья ). Но, если вы не пишете глубоко научное приложение, простое усреднение легкости даст вам «достаточно точное» значение.


1 В Adobe Photoshop его называют HSB (оттенок, насыщенность, яркость)

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

Я думаю, я бы начал с усреднения значений пикселей:

for x = start_x to end_x
for y = stary_y to end_y
  total += getPixel(x,y)
shade = total / (xlen*ylen)

Будет намного сложнее, если вы сделаете это в цвете.

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