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

Вниз

Алгоритм уровней.   Найти похожие ветки 

 
Maxim____   (2004-11-20 01:29) [0]

Подскажите где найти, пишу в гоогл levels formula, levels rgb,
но ничего не находится. также впрочем и в рунете.


 
MBo ©   (2004-11-20 09:06) [1]

Гугл тебя не понял. Я тоже ;(


 
Maxim____   (2004-11-21 01:39) [2]

Алгоритм уровней, цвето(скорее свето)коррекция такая,
в фотошопе она есть.


 
Maxim____   (2004-11-23 02:40) [3]

смещение точки белого и точки чёрного


 
Fenik   (2004-11-23 17:42) [4]

А подробнее не можешь написать?


 
Maxim____   (2004-11-23 18:03) [5]

могу только сказать что это растяжка гистограммы.
растяжка у меня более-менее получается, но хотелось бы плавнее,
мне нужен классический алгоритм.
подробнее ничего не знаю, поэтому и спрашиваю.


 
Maxim____   (2004-11-23 22:13) [6]

да, а "стяжка" т.е. сужение гистограммы  у меня вообще не получается.

никто никогда не писал уровней?


 
murtix   (2004-11-24 00:46) [7]

Меня тоже интересует этот вопрос по-моим наблюдениям :
при движении крайних ползунков например белого верхнего (Input Levels) происходит следующее : все точки (пикселы) цвет которых больше чем значение для данного ползунка приобретают белый цвет т.е.

if Color0 > ILW then Color0 := 255
               else Color0 := K * Color0 + B;

ILW = Input Levels White
по-моему В = 0 всегда, а К > 1 и расчитывается из ILW
обычное линейное отображение
и т.д.
А работу среднего следует искать в так называемом Гамма


 
Maxim____   (2004-11-26 16:17) [8]

народ! научите пользоватьмя гуглом,
нашёл всё про гамму, и формула простая.
но с точками ничего не понятно.


 
murtix   (2004-11-26 20:16) [9]

Может скинешь все в виде архива на мыло murtix@yandex.ru
разберемся


 
programania ©   (2004-11-28 01:36) [10]

>Maxim____  
>мне нужен классический алгоритм

не надо никакого алгоритма, просто
вычитаем начало старого диапазона,
умножаем на отношение диапазонов
и прибавляем начало нового диапазона:

//в массиве br получили яркость:  (p0[x1]*28+p0[x2]*151+p0[x3]*76) shr 8;
//находим минимальную и максимальную:
maxS:=0; minS:=$FFFF;
for y:=1 to h do for x:=1 to w do begin
 z:=br[y,x];
 if z<minS then minS:=z;
 if z>maxS then maxS:=z;
end;

maxN:=200; minN:=50;//новый диапазон любой 0..255
p:=(maxN+1-minN) * 256 div (maxS-minS); //отношение диапазонов

for y:=1 to h do begin
 p0:=bj.scanline[y-1];
 x1:=0; x2:=1; x3:=2;
 for x:=1 to w do begin
   s:=br[y,x];                  //старая яркость
   n:=(s-minS)*p div 256 +minN; //новая
   k:=n*256 div s;              //коэфициент изменения
   z:=p0[x1]*k div 256; if z>255 then z:=255; p0[x1]:=z;
   z:=p0[x2]*k div 256; if z>255 then z:=255; p0[x2]:=z;
   z:=p0[x3]*k div 256; if z>255 then z:=255; p0[x3]:=z;
   inc(x1,3); inc(x2,3); inc(x3,3);
 end
end;


 
murtix   (2004-12-05 00:45) [11]

>programania
Это работа крайних ползунков, а со средним (гаммой) как быть.
>Maxim____
Не молчи плз. скажи до чего дошел


 
programania ©   (2004-12-05 22:32) [12]

>murtix  
>Это работа крайних ползунков, а со средним (гаммой) как быть.
Гамму расчитать заранее в массив [0..255] of byte:
и использовать gamma[p0[x1]] вместо p0[x1]

function CalculateGamma(Gamma:Double;Value:Integer):Double;
begin
if Value>0 then result:=255* exp (Gamma * ln(Value/255))+0.5 else result:=0;
end;

PROCEDURE rGamm(var gamma:m255;z:integer);
var i: integer;
begin
//z=10..500
if z=0 then z:=100;
for i:=0 to 255 do gamma[i]:=trunc(CalculateGamma(100/z,i));
end;

У меня в photoPaint8 нет среднего ползунка,
но наверно это тоже самое, но только 2 диапазона.
А вообще я думаю лучше не дурить людям голову
уровнями и гистограммами а сделать кнопку auto-adjust
и растягивать диапазон яркости до предела 0..255
причем темную точку лучше не опускать больше чем
поднимать светлую иначе картинка заметно потемнеет.



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

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

Наверх




Память: 0.5 MB
Время: 0.042 c
14-1110258293
Virgo_Style
2005-03-08 08:04
2005.03.27
8 марта


3-1109324020
malefik
2005-02-25 12:33
2005.03.27
Параметры в fibdataset...


3-1109240962
salexn
2005-02-24 13:29
2005.03.27
Сравнение структур 2-х баз данных


3-1109609111
Bogdan
2005-02-28 19:45
2005.03.27
Создание отчета


1-1110564923
Chroot
2005-03-11 21:15
2005.03.27
Прожиг дисков и печать документов