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

Вниз

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

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

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

Наверх





Память: 0.48 MB
Время: 0.041 c
3-1109578178
_ZeKa
2005-02-28 11:09
2005.03.27
Куда девается полоса прокрутки в DBGrid


3-1109418725
jz6
2005-02-26 14:52
2005.03.27
Не работает ОТКАТ в ТРАНЗАКЦИИ


1-1110511647
Poha
2005-03-11 06:27
2005.03.27
Rave


4-1108452944
Бульбаш
2005-02-15 10:35
2005.03.27
Программное нажатие enter


6-1106561928
Redis
2005-01-24 13:18
2005.03.27
Программно отправить MMS через GPRS модем





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