Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

Как узнать яркость пикселя?   Найти похожие ветки 

 
WFS   (2007-11-03 12:35) [0]

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


 
antonn ©   (2007-11-03 12:40) [1]

Var cMax,cMin  : integer;
begin
cMax := max( max(R,G), B);
cMin := min( min(R,G), B);
L := round( ( ((cMax+cMin)*240) + 255 )/(2*255) );

L - яркость, RGB - каналы tcolor (их можно узнать через GetRValue()/GetGValue()/GetBValue() соответственно)
вот :)


 
oxffff ©   (2007-11-03 12:41) [2]

У монитора тоже яркость тожно подстраивать.
Как быть?


 
turbouser ©   (2007-11-03 12:41) [3]


> WFS   (03.11.07 12:35)

Чего?? Яркость?
LOL Пацталом :)))


 
oxffff ©   (2007-11-03 12:42) [4]


> antonn ©   (03.11.07 12:40) [1]


А еще есть alpha составляющая.


 
turbouser ©   (2007-11-03 12:43) [5]


> antonn ©   (03.11.07 12:40) [1]

У пикселя нет "яркости".


 
oxffff ©   (2007-11-03 12:43) [6]


> У пикселя нет "яркости".


У него есть пиксельность.


 
oxffff ©   (2007-11-03 12:45) [7]


> L := round( ( ((cMax+cMin)*240) + 255 )/(2*255) );


240? Это, что постоянная в системе СИ?


 
turbouser ©   (2007-11-03 12:45) [8]


> oxffff ©   (03.11.07 12:43) [6]

Можно и так сказать :)
Всего-навсего точка определенного цвета )


 
WFS   (2007-11-03 13:02) [9]

Я вот знаю, что цвет характеризуется тремя параметрами:
1. Цветовой тон (собственно цвет)
2.Чистота (оттенки, т.е примесь белым)
3. Яркость.

Насколько я понимаю, яркость характеризует степень отличия от черного.
Мне нужно эту яркость вычислить.


 
Amoeba ©   (2007-11-03 17:11) [10]

Яркость = 0.59*Зеленый + 0.3*Красный + 0.11*Синий

Коэффициенты отличаясь от 1/3 отражают неравномерность чувствительности глаза к разным участкам спектра.


 
KilkennyCat   (2007-11-03 17:54) [11]

Я бы уточнил, человеческого глаза.


 
antonn ©   (2007-11-03 19:14) [12]


> oxffff ©   (03.11.07 12:41) [2]
>
> У монитора тоже яркость тожно подстраивать.
> Как быть?

и у принтера тоже есть яркость, кого мучают вопросы не по существу, просьба убиться об стенку.


> turbouser ©   (03.11.07 12:41) [3]
>
> Чего?? Яркость?
> LOL Пацталом :)))

когда вылезешь, открой пайнт и посмотри в палитре, наряду с составляющими GRB там и констраст есть, и яркость, и оттенок...


> oxffff ©   (03.11.07 12:42) [4]
> А еще есть alpha составляющая.

умное слово сказал, да? у пикселя есть, в случае pf32bit, но к яркости пикселя это не имеет никакого отношения.

для умников, мерцающих гранями и своим языком без поодержки разумных доводов, советую ознакомиться с такой штукой, как HLS (а именно Оттенок/Яркость/Насыщенность)


 
turbouser ©   (2007-11-03 19:58) [13]


> antonn ©   (03.11.07 19:14) [12]

У самого пиксела нет яркости.
pixel.color.brightness - вот оно :)
p.s.
Настроение все испортил :-)


 
KilkennyCat   (2007-11-03 20:05) [14]


> У самого пиксела нет яркости.


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


 
clickmaker ©   (2007-11-03 20:10) [15]

> то у него ваще ничего нет

тогда он битый :)


 
KilkennyCat   (2007-11-03 20:18) [16]


> clickmaker ©   (03.11.07 20:10) [15]


и даже это нельзя сказать, не сравнив с другим.


 
antonn ©   (2007-11-03 20:23) [17]


> turbouser ©   (03.11.07 19:58) [13]
>
>
> У самого пиксела нет яркости.

открой mspaint, выбери цвет на картинке. В меню сверху нажми "палитра"/"изменить палитру". Там будет кнопочка "Определить цвет >>". В расширевшемся окошке справа можно увидеть как значения с палитре RGB, так и значения HLS (в том числе есть поле "яркость"). Выходит у пикселя есть яркость? Может хватит чушь нести и буквоедством заниматься?


 
turbouser ©   (2007-11-03 20:36) [18]


> antonn ©   (03.11.07 20:23) [17]

При чем тут паинт...
Нет у пикселя яркости. Нет и все. Вот у цвета пикселя - есть.


 
antonn ©   (2007-11-03 21:11) [19]

вот и я говорю - буквоедство.


 
DrPass ©   (2007-11-03 21:59) [20]


> вот и я говорю - буквоедство.

+1. Лишь бы повыпендриваться...


 
turbouser ©   (2007-11-03 22:16) [21]

Да ну вас... Чего тут выпендриваться? У меня настроение с утра хорошее было,
радовался всему, показался смешным сабж - выразил свои эмоции :))
Буквоедство, блин..


 
KilkennyCat   (2007-11-03 22:48) [22]

буква - тот же пиксел.


 
oxffff ©   (2007-11-03 23:27) [23]


> antonn ©   (03.11.07 19:14) [12]
>
> > oxffff ©   (03.11.07 12:41) [2]
> >
> > У монитора тоже яркость тожно подстраивать.
> > Как быть?
>
> и у принтера тоже есть яркость, кого мучают вопросы не по
> существу, просьба убиться об стенку.
>
>
> > turbouser ©   (03.11.07 12:41) [3]
> >
> > Чего?? Яркость?
> > LOL Пацталом :)))
>
> когда вылезешь, открой пайнт и посмотри в палитре, наряду
> с составляющими GRB там и констраст есть, и яркость, и оттенок.
> ..
>
>
> > oxffff ©   (03.11.07 12:42) [4]
> > А еще есть alpha составляющая.
>
> умное слово сказал, да? у пикселя есть, в случае pf32bit,
>  но к яркости пикселя это не имеет никакого отношения.
>
> для умников, мерцающих гранями и своим языком без поодержки
> разумных доводов, советую ознакомиться с такой штукой, как
> HLS (а именно Оттенок/Яркость/Насыщенность)


Дорогой друг.
Ваша реакция мне понятна.

Для начала очень рекомендую объяснить назначение 240, и откуда взялась эта цифра.

P.S.
Для того чтобы умерить ваш пыл и ваше тяфканье настоятельно рекомендую ознакомиться для начала Mathematics of Lighting.
Например в DirectX SDK.

P.P.S

Биться об стену?
Покажите пример.


 
antonn ©   (2007-11-04 01:33) [24]


> oxffff ©   (03.11.07 23:27) [23]
>
> Дорогой друг.
> Ваша реакция мне понятна.
>
> Для начала очень рекомендую объяснить назначение 240, и
> откуда взялась эта цифра.

а не все ли равно? у канала RBG максимальное значение 255, у яркости максимальное 240.

Ну откройте пайнт, ну потыкайте, сразу куча вопросов отпадет...


 
Германн ©   (2007-11-04 01:38) [25]


> KilkennyCat   (03.11.07 17:54) [11]
>
> Я бы уточнил, человеческого глаза.
>

http://delphimaster.net/view/15-1194041440/


 
oxffff ©   (2007-11-04 12:03) [26]


> antonn ©   (04.11.07 01:33) [24]
>
> > oxffff ©   (03.11.07 23:27) [23]
> >
> > Дорогой друг.
> > Ваша реакция мне понятна.
> >
> > Для начала очень рекомендую объяснить назначение 240,
> и
> > откуда взялась эта цифра.
>
> а не все ли равно? у канала RBG максимальное значение 255,
>  у яркости максимальное 240.
>
> Ну откройте пайнт, ну потыкайте, сразу куча вопросов отпадет.
> ..


Открыл и что дальше. Откройте MSDN

Device-Independent Bitmaps
A device-independent bitmap (DIB) contains a color table. A color table describes how pixel values correspond to RGB color values, which describe colors that are produced by emitting light.

RGBQUAD
The RGBQUAD structure describes a color consisting of relative intensities of red, green, and blue.

typedef struct tagRGBQUAD {
 BYTE    rgbBlue;
 BYTE    rgbGreen;
 BYTE    rgbRed;
 BYTE    rgbReserved;
} RGBQUAD;

Когда сохраняется растр. То сохраняется цвет в формате RGB (ARGB).
А 240 ну никак не может увеличить яркость свечения пикселя на мониторе.


 
MBo ©   (2007-11-04 12:25) [27]

>WFS   (03.11.07 13:02) [9]
>3. Яркость.
>Мне нужно эту яркость вычислить.

Для модели HLS уже подсказали - antonn ©   (03.11.07 12:40) [1], что совпадает с куском из
procedure ColorRGBToHLS из GraphUtil.pas


 
antonn ©   (2007-11-04 12:32) [28]


> oxffff ©   (04.11.07 12:03) [26]

замучал флудить, попробуй не кочевряжиться, а почитать:
http://ru.wikipedia.org/wiki/HLS


 
oxffff ©   (2007-11-04 12:38) [29]


> antonn ©   (04.11.07 12:32) [28]
>
> > oxffff ©   (04.11.07 12:03) [26]
>
> замучал флудить, попробуй не кочевряжиться, а почитать:
> http://ru.wikipedia.org/wiki/HLS


Может подумать.
Ты все же настоятельно читать не хочешь.

The RGBQUAD structure describes a color consisting of relative intensities of red, green, and blue.


 
Sapersky   (2007-11-04 12:40) [30]

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

А что это за фильтрация такая? Обычно фильтруют прямо по цветовым компонентам. Отсюда, видимо, и "LOL Пацталом".

у канала RBG максимальное значение 255, у яркости максимальное 240.

Максимальное на самом деле может быть любое. Hue (первый компонент HSV/HLS) часто ограничивают до 240, т.к. по-хорошему оно должно быть в диапазоне 0..360, но байта на 360 не хватает; а 240 ровно в 1.5 раза меньше (уменьшаются ошибки округления). Возможно, L в некоторых реализациях ограничивают "за компанию", хотя это не обязательно.

рекомендую ознакомиться для начала Mathematics of Lighting. Например в DirectX SDK.

Не знаю, какой у вас SDK, но в 8-м только про 3D.
Лучше, наверное, http://www.efg2.com


 
oxffff ©   (2007-11-04 12:42) [31]


> antonn ©   (04.11.07 12:32) [28]


Может ты все же объяснить откуда взялось значение 240?
В приведенной тобой формуле и твоей ссылке про это ничего нет.


 
antonn ©   (2007-11-04 12:44) [32]


> Может ты все же объяснить откуда взялось значение 240?



> Максимальное на самом деле может быть любое. Hue (первый
> компонент HSV/HLS) часто ограничивают до 240, т.к. по-хорошему
> оно должно быть в диапазоне 0..360, но байта на 360 не хватает;
>  а 240 ровно в 1.5 раза меньше


 
oxffff ©   (2007-11-04 12:46) [33]


> antonn ©   (04.11.07 12:44) [32]


Часто ограничивает кто?

Может тебе взлянуть в словарь и перевести relative intensities


 
antonn ©   (2007-11-04 12:51) [34]


> Часто ограничивает кто?

[19]
засим заканчиваю говорить с любителями поспорить. нужно было - уже нашел бы.
http://www.firststeps.ru/mfc/winapi/commdia/r.php?15


 
homm ©   (2007-11-04 12:58) [35]


> 0xffff ©
Идиот.

> turbouser ©
Буквоед.

> [29] oxffff ©   (04.11.07 12:38)
При чем здесь RGBQUAD structure? Ну попробуй пяткой затылок почесать то?

Один Антошка молодец :)


 
homm ©   (2007-11-04 13:03) [36]

> [29] oxffff ©   (04.11.07 12:38)

Ну дали тебе триугольник, говорят, найди синусы. Что ты ответишь? Что у триугольников нет синусов? Детский сад.


 
oxffff ©   (2007-11-04 13:10) [37]


> antonn ©   (04.11.07 12:51) [34]
>
> > Часто ограничивает кто?
>
> [19]
> засим заканчиваю говорить с любителями поспорить. нужно
> было - уже нашел бы.
> http://www.firststeps.ru/mfc/winapi/commdia/r.php?15


Ты так и не ответил на вопрос кто ограничивает значение коэффициента в
240.  

В диалоговом окне Цвет (Color), насыщенность и значения яркости должна быть в диапазоне 0 до 240, и значение оттенка должно быть в диапазоне 0 до 239.

А приводишь ссылки на диалоговое окно.
Тебе уже выше намекнули, что значение может быть произвольным.
И я тебе тоже намекаю на relative intensities.


> homm ©   (04.11.07 12:58) [35]
>
> > 0xffff ©
> Идиот.


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

:)


 
oxffff ©   (2007-11-04 13:14) [38]


> homm ©   (04.11.07 13:03) [36]
> > [29] oxffff ©   (04.11.07 12:38)
>
> Ну дали тебе триугольник, говорят, найди синусы. Что ты
> ответишь? Что у триугольников нет синусов? Детский сад.


А ты докажи ограничение коэффициента в 240.
А именно магический смысл этого 240.


 
homm ©   (2007-11-04 13:17) [39]

> По скольку ни доказательств, ни обсуждения.
> Просто дешевый "бряк".

Ты сам за меня все сказал, пример и объяснения я привел выше.

> А ты докажи ограничение коэффициента в 240.

> Максимальное на самом деле может быть любое. Hue (первый
> компонент HSV/HLS) часто ограничивают до 240, т.к. по-хорошему
> оно должно быть в диапазоне 0..360, но байта на 360 не хватает;
> а 240 ровно в 1.5 раза меньше (уменьшаются ошибки округления)
> . Возможно, L в некоторых реализациях ограничивают "за компанию",
> хотя это не обязательно.


 
homm ©   (2007-11-04 13:20) [40]

То, что ты ограничиваешь канал красного до 255 какой имеет магический смысл? Пишишь и не задумываешься…
А магический смысл в отм, что-бы уместиться в заданные рамки, а в случае с яркостью, еше и накладывавется смысл простого перевода в другие системы представления цвета.



Страницы: 1 2 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.02 c
15-1192809768
Ekzot
2007-10-19 20:02
2007.11.25
Замена пробелов в командной строке


2-1194027802
ореол
2007-11-02 21:23
2007.11.25
Текст по ширине


2-1193743945
timekiller
2007-10-30 14:32
2007.11.25
XML, поиск конкретных Атрибутов


15-1192464844
oxffff
2007-10-15 20:14
2007.11.25
Yield средствами Delphi. За и против.


15-1192964081
foreverDelphi
2007-10-21 14:54
2007.11.25
помогите начать раскручивать прогу