Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 21. 06. 2016 16:38 — Editoval buff (21. 06. 2016 16:54)

buff
Příspěvky: 213
Škola: ZŠ
Reputace:   
Web
 

Vysvětlení formulace a implementace v c++

Hledal jsem jak bych mohl realizovat funkci levels která se používá ve Photoshopu i Gimpu. Našel jsem tuto odpověď:

Color levels in OpenCV

http://i.stack.imgur.com/7oayJ.png

od dhanushka:

For example, the orange curve is a straight line from (a, c) to (b, d), blue curve is a straight line from (a, d) to (b, c) and green curve is a non-linear function from (a,c) to (b, d).

We can define the blue curve as (x - a)/(y - d) = (a - b)/(d - c). Limiting values of a, b, c and d depend on the range supported by the channel that you are applying this transformation to. For gray scale this is [0, 255].

For example, if you want a transformation like (a, d) = (10, 200), (b, c) = (250, 50) for a gray scale image,

y = -150*(x-10)/240 + 200 for x [10, 250]

y = x for [0, 10) and (250, 255] if you want remaining values unchanged.

Čemu nerozumím je co znamenají hodnoty x a y a jak s nimi pracovat. Tohle je nějaká pseudodefinice nebo co a potřeboval bych kdo to chápete abyste mi to vysvětlili buď více slovně nebo rovnou kódem, nejlépe v c/c++ případně php nebo js. Já to chci dělat pro c++. Pro to používám knihovnu opencv, kde se dá snadno načíst obrázek i procházet obrazová data ve vektoru nebo poli.

Z gimpu vím, že vstupní hodnoty ovlivňují jas, u výstupích hodnot bych řekl že se mění kontrast. Ovšem nevím jak toto realizovat. Jednodušší by snad bylo převést obraz do jiného barvového prostoru jako luv nebo lab nebo hsv a tam upravovat přímo ten jas. Snad.

Za druhé, pokud jste machři byl bych vděčný za rozříšení formulace tak, aby byla schopna ovlivnit i třetí vstupní hodnotu gamma - zelenou křivku. A opět bych to potřeboval spíš v programátorském kódu než matematickém.


Dobré na ukládání dokumentů, aby byly přístupné ke čtené online *.doc, *.rtf aj. http://www.viewdocsonline.com

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson