Главная страница
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.01 c
15-1196339700
Leonid_P
2007-11-29 15:35
2007.12.30
PHP: получить "заголовки" EXE файла.


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


4-1171464278
VitAngel
2007-02-14 17:44
2007.12.30
WinRAR запускается через раз


15-1196185840
ProgRAMmer Dimonych
2007-11-27 20:50
2007.12.30
Ни у кого книжечка часом не завалялась?


15-1195868497
Duo
2007-11-24 04:41
2007.12.30
Как определить, что мышь над TToolButton.