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

Вниз

изменить яркость, контраст и цветность   Найти похожие ветки 

 
ndg   (2007-02-20 19:17) [0]

Подскажите, может кто сталкивался с этим:
как программно, не используя доп. компоненты, изменять яркость, контрастность и цветность изображения ?
Если поможете кодом, буду благодарен.


 
TRUNK ©   (2007-02-21 10:31) [1]

Какого изображения? Изображения где?


 
Jeer ©   (2007-02-21 16:22) [2]

от цветового пространства RGB перейти к HSL, а затем обратно.


 
Ricks ©   (2007-02-21 21:41) [3]

Если для тебя яркость <=> Lightness (что-то типа светлоты), то добавляй просто к каждому RGB пикселю значение, на которое ты хочешь изменить якрость
new.r:=old.r + a;
new.g:=old.g + a;
new.b:=old.b + a;


 
TRUNK ©   (2007-02-22 10:29) [4]


> Ricks ©   (21.02.07 21:41) [3]

Такое изменение может привести к искажению оттенка.
Изменять нужно так:

new.r := trunc(old.r*k);
new.g := trunc(old.g*k);
new.b := trunc(old.b*k);

И следить при этом, чтобы значения не переходили
через 0 при уменьшении и через 255 при увеличении яркости.
А вообще проще использовать HSV, в этом я согласен с [2] Jeer ©.


 
MBo ©   (2007-02-22 10:32) [5]

>TRUNK ©   (22.02.07 10:29) [4]
>Изменять нужно так:new.r := trunc(old.r*k);

Это контраст, а не яркость.

Intensity = Brigtness + Contrast * Value


 
Ricks ©   (2007-02-23 16:31) [6]


> Это контраст, а не яркость

Это даже не контраст. В фотошопе это levels (уровни). Согласись, если k >= 255 тогда вся картинка будет белой, за исключением точек, в которых одна из составляющих RGB равна нулю, а если k = 0 тогда ВСЕ черное, а если k < 0, тогда что?


 
Pavia ©   (2007-02-24 01:40) [7]

R, G, B это уровни. Каждый уровень численно характерезуется интенсивностью.
Изменяя их мы приводим к изменению яркости, контрасности и цветность изображения.
Интенивность, Яркость, контрасность имеют связь поэтому изменение одного параметра приводит к изменению другого.

Чтобы изменить кантрасность нужно растянуть, сжать интенсивность. Другими словами в самом простом случаи нам хватит умножения.
А вот чтобы изменить яркость нам нужно увеличить, уменьшить интенсивность. Другими словами нужно либы прибавить либы удалить некоторое значение.



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
11-1181762529
=BuckLr=
2007-06-13 23:22
2007.12.30
RE_FmtUnderlineStyle


3-1188287105
pavel_guzhanov
2007-08-28 11:45
2007.12.30
Как в представлении сделать not null поле?


2-1196447952
aspid03
2007-11-30 21:39
2007.12.30
как вытащить из Access базы Word document


15-1196426344
boriskb
2007-11-30 15:39
2007.12.30
Пятничные задачи от классика


3-1188291869
parivet
2007-08-28 13:04
2007.12.30
TClientDataSet