Формула для определения яркости цвета RGB

в вашем запросе ajax, добавив:

dataType: "jsonp",

после строки:

type: 'GET',

должен решить эту проблему ..

надеюсь, что эта помощь вам поможет

364
задан robmerica 27 February 2009 в 19:19
поделиться

8 ответов

Вы имеете в виду яркость? Воспринятая яркость? Яркость?

  • Яркость (стандарт для определенных цветовых пространств): (0.2126*R + 0.7152*G + 0.0722*B) [1]
  • Яркость (воспринятая опция 1): (0.299*R + 0.587*G + 0.114*B) [2]
  • Яркость (воспринятая опция 2, медленнее для вычисления): <забастовка> sqrt( 0.241*R^2 + 0.691*G^2 + 0.068*B^2 ) в †’ sqrt( 0.299*R^2 + 0.587*G^2 + 0.114*B^2 ) (благодаря @MatthewHerbst) [3]
441
ответ дан Anonymous 4 November 2019 в 09:48
поделиться

'V' из HSV, вероятно, что Вы ищете. MATLAB имеет функцию rgb2hsv, и ранее процитированная статья Википедии полна псевдокода. Если бы преобразование RGB2HSV не выполнимо, менее точная модель была бы полутоновой версией изображения.

0
ответ дан Jacob 4 November 2019 в 09:48
поделиться

Цветовое пространство HSV должно добиться цели, видеть статья Википедии в зависимости от языка, Вы работаете в Вас, может получить преобразование библиотеки.

H является оттенком, который является численным значением для цвета (т.е. красный, зеленый...)

, S является насыщенностью цвета, т.е. насколько 'интенсивный' это

, В является 'яркостью' цвета.

1
ответ дан Ian Hopkinson 4 November 2019 в 09:48
поделиться

Определите яркость. Если Вы ищете, как близко к белому цвет - Вы, может использовать Евклидово Расстояние от (255, 255, 255)

0
ответ дан Ben S 4 November 2019 в 09:48
поделиться

Яркость RGB оценивает = 0.3 R + 0.59 G+ 0,11 B

http://www.scantips.com/lumin.html

, Если Вы ищете, как близко к белому цвет - Вы, может использовать Евклидово Расстояние от (255, 255, 255)

я думаю, что цветовое пространство RGB проницательно неоднородно относительно евклидового расстояния L2. Равномерные пространства включают LAB CIE и ЛЮБОВЬ.

1
ответ дан 4 November 2019 в 09:48
поделиться

Я думаю, что Вы ищете, RGB-> формула Luma преобразования.

Фотометрический/цифровой ITU, Купленный 709 :

Y = 0.2126 R + 0.7152 G + 0.0722 B

Цифровой ITU, Купленный 601 (дает больше веса R и компонентам B):

Y = 0.299 R + 0.587 G + 0.114 B

, Если Вы готовы обменять точность на производительность, существует две формулы приближения для этого:

Y = 0.33 R + 0.5 G + 0.16 B

Y = 0.375 R + 0.5 G + 0.125 B

Они могут быть вычислены быстро как [1 111]

Y = (R+R+B+G+G+G)/6

Y = (R+R+R+B+G+G+G+G)>>3
289
ответ дан Glenn Slayden 4 November 2019 в 09:48
поделиться

Для добавления, что все другие сказали:

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

различие в яркости между ingnoring гаммой и выполнением надлежащей гаммы составляет до 20% в темно-серых.

8
ответ дан Nils Pipenbrinck 4 November 2019 в 09:48
поделиться

Я нашел этот код (написанный на C #), который отлично справляется с вычислением «яркости» цвета. В этом сценарии код пытается определить, следует ли помещать белый или черный текст поверх цвета.

10
ответ дан 23 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: