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

Вниз

Алгоритм изменения контраста   Найти похожие ветки 

 
dimon_prorammer   (2004-04-21 10:23) [0]

Подкинте пожалуйста алгоритм изменения контраста для 24 - битного
битмапа.


 
[lamer]Barmaglot ©   (2004-04-21 11:16) [1]

RTFM?

http://algolist.manual.ru/graphics/filter/index.php


 
KA_ ©   (2004-04-21 11:26) [2]

Повышение/снижение контрастности – это умножение/деление значения каждого канала на константу.
Яркость считается по формуле Y := 0.3 * R + 0.59 * G + 0.11 * B
Но есть один ньюанс - чтобы внешний вид изображения не искажался, средняя яркость после изменения контрастности должна остаться прежней. Поэтому сначала вычисляешь среднюю яркость изоражения, а потом изменяешь контрастность по формуле Y := ChangeCoeff * (Y - AverageY) + AverageY


 
VMcL ©   (2004-04-21 11:51) [3]

>>[lamer]Barmaglot ©  (21.04.04 11:16) [1]

Не RTFM, а STFW :)


 
zoltan   (2004-04-21 17:09) [4]

Я просто в панике что за люди пошли человек задал вопрос, а вы разводите флуд, формули!!!! Держи

procedure Contrast(var clip: tbitmap; Amount: Integer);
var
p0:pbytearray;
rg,gg,bg,r,g,b,x,y:  Integer;
begin
 for y:=0 to clip.Height-1 do
 begin
   p0:=clip.scanline[y];
   for x:=0 to clip.Width-1 do
   begin
     r:=p0[x*3];
     g:=p0[x*3+1];
     b:=p0[x*3+2];
     rg:=(Abs(127-r)*Amount)div 255;
     gg:=(Abs(127-g)*Amount)div 255;
     bg:=(Abs(127-b)*Amount)div 255;
     if r>127 then r:=r+rg else r:=r-rg;
     if g>127 then g:=g+gg else g:=g-gg;
     if b>127 then b:=b+bg else b:=b-bg;
     p0[x*3]:=IntToByte(r);
     p0[x*3+1]:=IntToByte(g);
     p0[x*3+2]:=IntToByte(b);
   end;
 end;
end;



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

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

Наверх





Память: 0.45 MB
Время: 0.034 c
14-1087172955
Nicon
2004-06-14 04:29
2004.07.04
Приватизация


6-1084104348
Shock
2004-05-09 16:05
2004.07.04
Удаленный доступ


1-1087471661
Top100
2004-06-17 15:27
2004.07.04
Закрытие MDIChilde окна


8-1079626237
kalista
2004-03-18 19:10
2004.07.04
MediaPlayer


3-1086611120
my-fame
2004-06-07 16:25
2004.07.04
Дата обновления процедур





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