2017/11/29

Élesítsünk életlenítéssel - the Gaussian Blur sharpening case - Photoshop matematika

Mert mi mással ugye? Ez nem homeopátia, hogy azonost az azonossal kezeljünk, ez tudomány. Nem ez volt a kutatási cél, de egy jó kis Photoshop matematika következik. Kivonást, összeadást vágod? Elsős anyag. Akkor mehet is. Lazán kapcsolódik az előző bejegyzéshez is, ahol azt tagadtuk, hogy az Unsharp Mask ugyanúgy dolgozna, mint a régi filmes maszkolási eljárás. 

Az alapvetés az, hogy az Unsharp Mask hatását tökéletesen reprodukáljuk, de csakis Gaussian Blur segítségével. Persze nem mi találtuk ki, ez a video itt pont ezt csinálja, viszont fórumozgatás közben vannak akik kételkednek a módszerben. Na, mi pont alátámasztjuk. Igenis, nem mondod meg, melyik kép volt élesítve Unsharppal és melyik Gaussian Blurral. Sőt a két kép Differencies összehasonlítása is semmit mutat. Lehet, hogy a PS is csak Gaussiannal élesít a motorháztető alatt (a wiki alátámasztani látszik ezt)?

Szóval legyen a kiindulási kép neve O, mint original (a tátrai hegyivezetők pillednek rajta a Gerlachon). Ebből duplázunk egy UnsharpMask nevű réteget, amire rádobjuk az Usharp Mask filtert 2 pixellel. Ez lesz az összehasonlítási alap. Ezt ki is kapcsoljuk egy időre. 

1 lépés. Az O rétegből duplázunk egy GB nevű réteget, amire Gaussian Blurt eresztünk 2 pixellel
2. lépés. Az O rétegből duplázunk egy O-GB nevű réteget. Kivonjuk az O-ból a GB réteget. Ezt az Apply Image... parancs segítségével, GB réteg/Substract blending móddal, hajtjuk végre. 
3. lépés. Az O rétegből duplázunk egy O+invGB réteget. Vagyis az eredetihez most hozzáadjuk a GB réteg inverzét. 

4. lépés. Újabb eredeti réteg létrehozása O+(O-GB)-inv(O+invGB) névvel. Ezt két lépésből fogjuk végrehajtani. 
    4.1. először a 2. lépésben létrehozott réteget adjuk hozzá az eredetihez, 

  4.2. majd a 3. pontban létrehozott réteg inverzét (inverz inverze) fogjuk kivonni a 4.1 lépés eredményéből. 

Naaa, nem annyira bonyi ez. A kapott réteget aztán összevissza hasonlítgathatjuk az Unsharp Mask réteggel, de hogy különbség nem lesz (ha pontosan követted a képletet), az fix. 
200% nagyításban a kép felét UM, a másikat GB élesíti. De a Differencies sem mutat eltérést.
A képlet tehát (fórumok is ezt igazolják):  USM = O + (O - GB) - inv(O + invGB) lehetne, ahol USM px = GB px, vagyis ugyanolyan értékű Unsharp és Gaussian esetére igaz ez. Azért csak óvatosan, ugyanis a photoshop matematikájában O+(O-GB) nem egyenlő O+O-GB-vel. Gyakorlatilag egy Gaussian Blurral valahogyan terhelt Szolarizálást kapunk:

Namost, más fórumokon ezt próbálják egyszerűsíteni (programozhatóság miatt), és az derül ki, hogy az inv LAYER = WHITE - LAYER
Ezt hamar ellenőriztük is. Az eredeti rétegen végrehajtott Image/Adjust/Invert tök ugyanaz, mint az Apply Image.../ Invert pipával és Normal Blendinggel, vagy egy teljesen WHITE rétegből kivonni az eredeti rétegünket
A preview bekapcsolása miatt a White layer már mutatja a hatást, de egy sima fehér rétegről van szó.












Tehát ezek mind negatív képet okoznak. Ha inverz nélkül akarnánk felírni a képletet akkor így is nézhetne ki:
USM = O + (O - GB) - {Wh-[O + (W-GB)]} ahol a műveleti sorrendet a zárójelek mondják. Ezért kapnak a kollégák rossz eredményt, ha (nem is tudom hogyan) 3*O-2GB-re egyszerűsítik a dolgot. 

Na, és akkor jöhet a reverse engineering: lehet e Unsharppal életleníteni? Megoldások jöhetnek kommentben, vagy posztban, vlogban, vagy ahogy jólesik :)

Nincsenek megjegyzések:

Megjegyzés küldése