Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.11 c
2-1193726676
Reni
2007-10-30 09:44
2007.11.25
Proxy


15-1193345938
Kick
2007-10-26 00:58
2007.11.25
Как на блок-схеме изобразить функции?


15-1193344929
Сусл
2007-10-26 00:42
2007.11.25
корпоративное решение от google


15-1193395304
Sour Smile
2007-10-26 14:41
2007.11.25
Стандартные заголовочные файлы


15-1193108125
Slider007
2007-10-23 06:55
2007.11.25
С днем рождения ! 23 октября 2007 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский