Главная страница
    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.008 c
15-1196412172
BAX
2007-11-30 11:42
2007.12.30
FastReport Server ?


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


6-1174490071
Fantom348
2007-03-21 18:14
2007.12.30
URL Decoding


2-1196851391
Максим
2007-12-05 13:43
2007.12.30
DLL


2-1196849548
хоме
2007-12-05 13:12
2007.12.30
Как подставить переменную в SQL запрос?





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