|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
Яркость пикселя24.09.2011, 15:58. Показов 33325. Ответов 16
Метки нет (Все метки)
0
|
|
| 24.09.2011, 15:58 | |
|
Ответы с готовыми решениями:
16
поиск пикселя цвет пикселя |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 24.09.2011, 16:04 | ||||||
1
|
||||||
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 24.09.2011, 16:33 [ТС] | |
|
А как именно из R, G, B составляющих получить яркость?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 24.09.2011, 17:03 | |
|
Ну это смотря какая яркость интересует (Brightness, Perceived Brightness, Luminance).
Можно расчитать по среднему арифметическому: (R + G + B)/3 В более серьезных местах (телевещание, например), расчитывается так: R * Rw + G * Gw + B * Bw, где Rw, Gw и Bw - коэффициент для каждого цвета от 0 до 1, который может меняться в зависимости от сферы применения. Есть еще формула с расчетом корня.
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||
| 24.09.2011, 17:12 [ТС] | ||
|
У меня есть предмет "Распознавание изображений" и мне нужно сделать гистограмму яркостей. Гистограмму не проблема сделать, но преподаватель попросил высчитывать яркости именно из RGB-составляющих. И я вот думаю как.
Добавлено через 1 минуту
0
|
||
|
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
|
|
| 24.09.2011, 18:04 | |
|
Подели результат на 255 и получишь в промежутке от 0 до 1.
1
|
|
|
9 / 9 / 4
Регистрация: 25.09.2011
Сообщений: 23
|
|
| 25.09.2011, 10:03 | |
|
Для определения яркости пикселя можно воспользовать формулой Y=0.3*R+0.59*G+0.11*B, правда это больше для изображений в оттенках серого.
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 19.02.2021, 11:20 | |
|
Заинтересовала меня эта формула, почему именно такие коэффициенты, решил копнуть чуть глубже (пара ссылок: 1, 2).
Если в трех словах, то сама формула это перевод RGB пикселя в оттенки серого, а коэффициенты формулы это показатель той или иной системы представления/кодирования цвета (изначально PAL/SECAM и все вот это вот). В разных системах цвет, закодированный одним и тем же значением, будет выглядеть по разному. И наоборот - выглядящий одинаково в разных системах цвет, будет по разному кодироваться. В общем виде: [R±dr, G±dg, B±db], где dr, dg, db - некоторое отклонение свойственное той или иной системе. Как происходит запись цвета в какой-то конкретной системе: берется двухмерное математически составленное бесконечно точное представление цвета (палитра на плоскости) и выбирается на ней точка, чьи координаты и будут означать запись цвета. Выбираются три основных (связанных с данной технологией производства) цвета, например, красный, зеленый и синий, и сопоставляются с цветовой палитрой. Таким образом получается, что какой-нибудь зеленый цвет располагается по таким-то координатам, а смежный цвет, находящийся в бесконечно близком приближении к нему уже не зеленый. Почему выбираются те или иные координаты? А вот не почему, на глаз. Ну по крайней мере раньше так было при аналоговом вещании. Возвращаясь же к самой формуле, то высчитанное по ней значение является некой яркостью пикселя. Некой - потому что понятий яркостей существует несколько. И хрен его знает что мы получили за число, но оно точно как-то характеризует исследуемый пиксель. Резюмируя можно сказать, что в прикладных целях совершенно наплевать как рассчитывать яркость пикселя, хоть просто брать среднее арифметическое по RGB, потому что неизвестно с помощью какого оборудования получены данные пиксели, какие там были кодеки, какой они стандарт поддерживали, будут ли они куда-то выводиться вообще потом и через сколько десятков лет какие изменения в этой всей сфере произойдут.
0
|
|
|
|
||
| 19.02.2021, 12:05 | ||
|
Яркость пикселя рассчитывается исходя из чувствительности глаза к разным длинам волн. Y=0.3*R+0.59*G+0.11*BГлаз лучше всего распознает зеленый цвет, поэтому коэффициент при G - самый большой. Красный цвет глаз видит хуже, и синий - еще хуже. Поэтому синий цвет мало влияет на субъективное восприятие яркости, и его коэффициент самый маленький.
0
|
||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||
| 19.02.2021, 14:35 | ||
![]() Ну а если чуть более серьезно, то в представленной вами формуле коэффициенты рассчитываются исходя из технологий семидесятых годов, тех технологий, которые сейчас уже не используются (можно почитать по приведенным мной ссылкам в предыдущем сообщении). С девяносто шестого года стал рулить стандарт sRGB, коэффициенты которого 0.212, 0.715 и 0.072 соответственно.
0
|
||
|
Модератор
|
|
| 19.02.2021, 17:49 | |
|
SatanaXIII, Storm23, если брать вопрос топика:
Есть объект типа Color. Как определить яркость цвета?То яркость определятся как одна 512 от суммы самого тусклого и самого яркого цвета. Формула Y=0.3*R+0.59*G+0.11*B имеет отношение только к физическому устройству имеющему абсолютно одинаковую чувствительность ко всем цветам.Так светочувствительные ячейки обычно изготавливаются на одной пластине и одного размера, то нелинейность определяется в основном светофильтрами. То к физическим величинам это формула может применяться. Но в форматах хранения по любому будет производиться какая-то оптимизация, так как выделять одинаковое количество бит под хранение величин разных диапазонов не эффективно. Поэтому для хранимых форматов изображений я не думаю, что эта формула применима.
0
|
|
|
|
|||
| 19.02.2021, 18:03 | |||
|
RGB - не имеет отношения к типу устройства. Это абсолютный стандарт представления цвета. Например #FF0000 - это вполне конретный цвет (красный). И это значение не зависит от того, как было получено изображение и как оно будет отображаться. Поэтому именно к RGB и должна применяться эта формула. НО когда RAW от камеры получен, сырые пикселы по спец формулам преобразуется в RGB. И этот RGB уже является девайсо-независимым.
0
|
|||
|
Модератор
|
|||||||
| 19.02.2021, 18:27 | |||||||
Исходя из этого яркости монохромных цветов принимаются равными. Без всяких коэффициентов.
0
|
|||||||
|
|
|||
| 19.02.2021, 18:39 | |||
Сообщение было отмечено Элд Хасп как решение
РешениеGets the hue-saturation-lightness (HSL) lightness value
1
|
|||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 20.02.2021, 10:46 | |
|
Storm23, Элд Хасп, спасибо за интересную беседу.
Storm23, последний вопрос: Почему Y=0.3*R+0.59*G+0.11*Bа не Y=0.212*R+0.715*G+0.072*B?
0
|
|
|
|
||
| 20.02.2021, 13:02 | ||
|
Зачем нужен sRGB? Дело в том, что разные мониторы имеют разные характеристики матрицы экрана. И для каждого монитора есть разные формулы перевода RGB в яркость субпикселей (т.н. гамма коррекция). Но если использовать стандартный RGB то цвета на разных мониторах будут выглядеть немного по-разному. Для того, что бы этого избежать, вместо RGB стали использовать sRGB, который уже содержит гамма коррекцию. Это позволяет разным мониторам отображать цвета почти одинаково.
1
|
||
| 20.02.2021, 13:02 | |
|
Помогаю со студенческими работами здесь
17
GDI+ изменить насыщенность и яркость разложив RGB в HSL
Построить гистограмму яркости и пользуясь этой гистограммой редактировать яркость изображения
Получить цвет пикселя монитора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|