Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать яркость пикселя? [D7]


Страницы:   1 2 3

WFS ©   (2007-11-03 12:35:00) 

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


DrPass   (2007-11-03 21:59:00) [41]


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

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


antonn   (2007-11-03 21:11:00) [42]

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


turbouser   (2007-11-03 20:36:00) [43]


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

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


antonn   (2007-11-03 20:23:00) [44]


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

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


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


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


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


clickmaker   (2007-11-03 20:10:00) [46]

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

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


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


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


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


turbouser   (2007-11-03 19:58:00) [48]


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

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


antonn   (2007-11-03 19:14:00) [49]


> 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 (а именно Оттенок/Яркость/Насыщенность)


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

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


Amoeba   (2007-11-03 17:11:00) [51]

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

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


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

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

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


turbouser   (2007-11-03 12:45:00) [53]


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

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


oxffff   (2007-11-03 12:45:00) [54]


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


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


oxffff   (2007-11-03 12:43:00) [55]


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


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


turbouser   (2007-11-03 12:43:00) [56]


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

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


oxffff   (2007-11-03 12:42:00) [57]


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


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


turbouser   (2007-11-03 12:41:00) [58]


> WFS   (03.11.07 12:35)

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


oxffff   (2007-11-03 12:41:00) [59]

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


antonn   (2007-11-03 12:40:00) [60]

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() соответственно)
вот :)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо