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

Вниз

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

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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
3-1086033673
MOTOR
2004-06-01 00:01
2004.07.04
Как узнать что база пуста


1-1087333605
DDA
2004-06-16 01:06
2004.07.04
Универсальная переменная


6-1083844687
Анонимщик
2004-05-06 15:58
2004.07.04
Вторичный поток, деструктор, TClientSocket


14-1087307527
СатирЪ
2004-06-15 17:52
2004.07.04
сабж


4-1085560979
Jel
2004-05-26 12:42
2004.07.04
Как получить размеры иконки?