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

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
2-1196836065
alshtam
2007-12-05 09:27
2007.12.30
res файл


2-1197011951
Александр Семак
2007-12-07 10:19
2007.12.30
Удаление установленных компонентов


2-1196686616
Alexandr Malygin
2007-12-03 15:56
2007.12.30
Арифметика


2-1196675502
Alexandr Malygin
2007-12-03 12:51
2007.12.30
excel


15-1196342882
моряк
2007-11-29 16:28
2007.12.30
как стать нормальным программистом!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский