Legfrissebb oldalak |
|
![]() |
Húsvéti GIMP tojás Húsvéti tojások festése egérrel és GIMP rutinokkal. |
![]() |
Hópehely motívumok Klónozás és alakítás Inkscape szűrőkkel. |
![]() |
3D oszlop Csavart torony Fantázialények GIMP 2.8 ecsetdinamikával rajzolt oszlopok és fantázialények. |
![]() |
Csigaház és társai Alakzatcsoport ráfektetése tetszőleges útvonalra. Inkscape tanulmány és tutorial. |
![]() |
3D fogaskerekek Inkscape-pel Az Inkscape "Mozgás" kiterjesztés használatának egyik módja. |
![]() |
GIMP 2.6 és 2.8 Néhány gyakorlati szempont a GIMP 2.8 használatával kapcsolatban. |
![]() |
Mottó:
Nem vagyok GIMP-guru!
2008 október
A Görbítés funkció a Szűrők között található, azon belül is az egyik fajta Leképezési mód. Nincs előnézete, ezért eleinte, hogy ráérezzünk az ízére, vakon le kell futtatnunk pár beállítással, hogy fogalmat kapjunk a működéséről. Ez is egy, vagy több, térképként szolgáló réteg vagy kép szerint módosítja a görbítendő rétegeinket, csak máshogy, mint a Buckaleképezés, vagy az Elmozdítás.
1. ábra
Az 1. ábra jobboldali legszélső filmkockája a térképül szolgáló kép. Balra a legelső kocka egy sima sakktábla buckaleképezése erre a térképre, a második kocka elmozdítással készült, a harmadik kocka görbítéssel, csak elmozdítási leképezéssel, a negyedik szintén görbítés, de csak a további speciális beállításokkal, nagysági és elmozdítási leképezés nélkül.
(Buckaleképezés paraméterei: irányszög 135 fok, megemelés 45, mélység 40, többi alapértelmezett 0 érték. Az Elmozdítás paraméterei: X-elmozdulás 20, Y-elmozdulás 20, Descartes-féle. Görbítés 1. paraméterei: lépésméret 10, iteráció 5, színszórási méret 0, forgatási szög 180 fok, allépés 1, többi, további speciális beállítás 0. Görbítés 2. paraméterei: elmozdítási és nagysági leképezés sima fekete segédréteggel leblokkolva, gradiens-méretezés 1, vektornagyság 1, szög 225 fok.)
2. ábra
A 2. ábra mutatja a Görbítés felbukkanó ablakát. A benne szereplő paraméterek az 1. ábra negyedik képkockájához tartoznak, ahol elmozdítási és nagysági leképezést nem alkalmaztam, hanem azokat egy fekete segédréteggel leblokkoltam, és csak a gradiens-szerinti, valamint az adott vektornagyság melletti eltolás érvényesülhetett 225 fokos szöggel.
Látható, hogy meglehetősen összetett funkcióról van szó, ahol sok paramétert állíthatunk széles tartományban. Menjünk végig sorban. Az első alapvető paraméter a lépésméret. Itt adhatjuk meg, hogy mekkora távolságra toljon el egy képpontot ez a funkció minden egyes lefutásakor (a GIMP súgójában azt írják, hogy 10-es lépésméret eredményez 1 képpontnyi eltolást). Ez az érték negatív szám is lehet, ellentétes irányú eltolást eredményezve. Hogy hányszor fusson le a beállított értékeket alkalmazva a görbítendő rétegünkön, azt az iterációnál beállított szám adja meg. Az iteráció voltaképpen azt jelenti, hogy több lépésben közelítünk meg egy célt. Itt egy rétegen az első lépésben végrehajt a program egy képpont eltolást, de a második ismétlést nem a kiindulási rétegen hajtja végre, hanem az első lépés eredményén, a harmadik ismétlést a második lépés végeredményén, az n-edik ismétlést pedig az n-1. lépés eredményén.
Ne feledjük el, hogy az alkalmazott térképeknek, legyenek azok akár a képünkbe illesztett rétegek, akár külön, megnyitott képek, bekapcsolva kell lenniük már akkor, amikor a Görbítés funkciót meghívjuk, és ugyanolyan méretűeknek kell lenniük, mint a képünknek!
3. ábra
A 3. ábrán egy átlátszó alapon elhelyezett sárga téglalapra alkalmaztam a görbítést. A kiinduló helyzet, a nulladik képkocka a görbítés nélküli alapállapotot mutatja. Az első kockához 1-es iteráció tartozik, a második kockához 2-es, és az utolsónál 5-ös volt az iterációs ismétlések száma. A lépésméretre 50 lett beadva minden esetben (azaz 5 képpont). A zöld alapon rácsos háttér 100x100 képpontos, 10x10-es rácsmérettel, a rács vonalszélessége pedig 1. Látható, hogy ha 5 iterációs ismétlést alkalmazunk a 40x20-as méretű sárga téglalapon, akkor 10 képpontnyival tolódik az el, nem pedig 5x5, azaz 25-tel. A térképként alkalmazott színátmenet fehérből feketébe (RGB) volt, lineáris, ismétlés nélkül, a kép tetejétől a kép aljáig húzva (Y=0-tól 100-ig).
4. ábra
A 4.ábránál ugyanezzel az elvvel megint csak 50-es lépésméretet alkalmaztam, újfent 0-5 közötti iterációs ismétlésekből összerakva a mozgókép kockáit. Itt viszont más volt a színátmenetes térkép, mint az előző mozgóképnél, mert ugyanezt a színátmenetet háromszöghullám-ismétléssel használtam, most feketéből fehérbe történő átmenettel, de csak a réteg közepéig húzva a szakaszt, hogy egy középen fehér hengert kapjak, amely a mozgókép mellett látható. A lépésméretből és az iterációs ismétlésekből számolva 5x5=25 képponttal kellett volna a téglalapjaink élének eltolódnia az 5. ismétléskor, de nem tette, hanem ehelyett 20 képpontnyi lett az eltolódás.
A 3. és 4. ábrából szerezhető tapasztalatunkból megállapíthatjuk, hogy a térképként alkalmazott színátmenet belejátszik a tényleges, végső léptetési nagyságba. (Megjegyzem a 4. képnél közömbösnek bizonyult, hogy a Speciális beállításoknál melyik réteget választottam ki térképként: egy sima fekete lapot, vagy a hengerszerű színátmenetet, ugyanaz lett az eredmény, mivel a Nagysági leképezés használata melletti kis négyzetet nem pipáltam ki, tehát az nem érvényesült.) A 3. képnél 10/25=0,4-es szorzó érvényesült, a 4. képnél viszont 20/25=0,8-as szorzó, miközben az utóbbi esetben kétszer akkora volt a színátmenet változási sebessége ugyanazon a távon, mint előzőleg.
Hogy a színátmenet valóban lineáris, azt magunk is láthatjuk a 4. ábrán, mert mindegy, hogy egy képpontunk a fekete-fehér átmenet két szélső értéke között hová esik, ugyanannyi az eltolódás. Viszont látható, hogy a középre eső sárga téglalap háromszoros hosszúságúra nyúlik ki, a többi viszont válozatlan méretben egyszerűen elvándorol.
Ennek az az oka, hogy a görbítési algoritmus képpont-eltoló hatása a legerősebben ott érvényesül, ahol az alkalmazott térképen fehérebb területek vannak, az abszolút feketénél viszont semmilyen eltolás nincs, emellett úgy a 3., mint a 4. ábránál 0 fokos forgatási szöget alkalmaztam, s ekkor az eltolás a fehértől a fekete irányába történik. Ezért vándorolnak a négyzet felső felében elhelyezett sárga téglalapok fölfelé, az alsó rész téglalapjai lefelé. A középen levő pedig természetesen megnyúlik, fölfelé és lefelé egyaránt 20-20 képponttal.
5. ábra
Az 5. ábra azt mutatja, amikor egy 40x40 képpontos téglalapot készítettem (bal szélső kocka), majd azt jobb szélen látható térképre görbítettem 10-es lépésmérettel, 5-szöri iterációval, 0 forgatási szöggel (második kocka), méghozzá úgy, hogy a sárga téglalap megint csak egy külön, átlátszó alapú rétegben volt, és utólag egyesítettem a zöld háttérrel. Itt 40 képpontnyi távolságon érvényesült a fehér-fekete színátmenet, amelyet csak a téglalapra korlátoztam, hogy nagy meredekségű legyen az átmenet. Láthatóan megint elsősorban a fehértől a fekete irányba helyezte át a képpontokat a Görbítés, bár alul is felhúzta egy kicsit a téglalapot, a feketétől fehér felé terjedő irányban, de nem akkora mértékben, mint felül. Ha egyszínű, például tiszta fehér, vagy tiszta fekete térképpel dolgozunk, akkor nem történik semmi, a Görbítés ugyan lefut, de a képünk változatlan marad. Csak ott történik eltolódás, ahol változik a szürkeárnyalat.
A harmadik kockánál viszont még a Görbítés előtt egyesítettem a sárga téglalapot a rácsozott zöld háttérrel, s utána futtattam le a Görbítést ugyanazokkal a beállításokkal. Láthatjuk, hogy a négyzetrácsot is elkezdte lefelé tolni a görbítés, mivel az iteráció miatt már az első lefutás után zöld területek is beleestek a térkép színátmenetes szakaszába.
6. ábra
A jobboldali ábrán az első sorban balra az első kép a görbítendő sakktábla, a második egy egyszínű, fekete segédréteg, a harmadik pedig a térkép, amelyre görbítjük majd a sakktáblát. Az ábra második sorában balról jobbra a következőt láthatjuk: Görbítés 0 fok forgatási szöggel, 90 fokkal és 180 fokkal (csak az általános és speciális beállítások kaptak értéket, a További speciális beállítások 0-n voltak, hogy ne érvényesüljenek). A legalsó sorban az áthelyezés látható 0 fokkal, 90 fokkal és 180 fokkal. (Csak a További speciális beállítások kaptak értéket, az Általános és a Speciális beállításokhoz, azaz az Elmozdításhoz és a Nagysági leképezéshez alkalmazott térkép tiszta fekete lap volt, hogy ezek blokkolva legyenek, ne érvényesüljenek.)
Az eddig elmondottak alapján most már érthetjük, hogy mi történt a középső három képkocka esetében. A középső sor bal első kockájánál 0 fok forgatási szöggel dolgoztam, ami annyit tesz, hogy a fehértől a fekete irányába történő színátmenet felé tolja el a Görbítés a képpontjainkat. A térkép egy fekete háttérben elhelyezett gömb volt, amely jobbról-felülről kap megvilágítást, ezért a jobb felső negyedében a legvilágosabb, fehér. Itt lesz a legerősebb az elmozdulás, a legcsekélyebb pedig a legfeketébb részén, baloldalt, a középvonal alatt. A Görbítés úgy fog viselkedni, mintha egy nagyítólencsével néznénk a sakktáblát, amelynek a gyújtópontja éppen a térképgömb fehér fényvisszatükröződésénél van.
A középső sor jobbszélső képkockájánál, ahol 180 fokos forgatási szöget alkalmaztam, ott éppen ellenkezőleg, mintha kicsinyítenénk az immáron konkávnak tűnő lencse alá helyezett sakktáblát, mert a 180 fok miatt fordítva, a feketétől a fehér felé fogja tolni a képpontokat a GIMP.
A középső képkockánál viszont 90 fokos forgatási szöget alkalmaztam, ami annyit tesz, hogy a fehértől feketébe irányuló átmenet irányára merőlegesen mozdítja el a képpontokat a Görbítés, méghozzá az óramutató járásával egyező irányban, azaz jobbra csavarja meg a gömbünk fölé eső területeket, de még a gömbön belül maradva, mert az akörüli fekete rész leblokkolja a műveletet. A csavarás a legnagyobb mértékben ott jelentkezik, ahol a leghirtelenebb a váltás a fehér és a fekete területek között, azaz a gömbünk világos pereménél. Ahol szinte nem is látszik a gömbünk széle, mert baloldalt, a középvonal alatt, úgyszólván egészen fekete, ott a legkisebb a képpontok elmozdításának mértéke. Ha 270 fokot adnánk be forgatási szögnek, akkor a fordított irányba csavarodna a sakktáblánk, az óramutató járásával ellentétes irányba, de továbbra is a legmeredekebb színátmenetnél lenne a legnagyobb az elmozdulás.
A Görbítés alapvető beállításai közül a szélek viselkedésére, a speciális beállítások közül pedig a színszórási méretre nem térek ki, mert az egyezik a más funkcióknál tapasztalhatókkal.
A Speciális beállítások közül még az Allépéssel és a Nagysági leképezéssel nem foglalkoztam eddig.
A Speciális beállítások között található Allépés működésére példa a 7. ábra. A Görbítés egy koncentrikus körökből álló mintán lett alkalmazva, és a középső képkockán a függőleges hengert magába foglaló, bal szélső fekete-fehér térképre történt. A lépésméret 50 volt, az iterálás száma 10, a színszórási méret 0, a forgatási szög 0, és az Allépés száma 1. A jobboldali szélső képkocka is a hengertérkép alapján készült, ugyanazokkal a beállításokkal, mint a középső kocka, csak az Allépések száma 4 volt.
7. ábra
Nem árt tudni, hogy eredetileg a görbített képkockák mérete 200x200 volt, kicsinyítés előtt, a térképként használt színátmenetes hengert éppen középen helyeztem el, és egy 100x200-as téglalap lett vele kitöltve, csak a szélein eléggé sötét, ezért szemmel nemigen látható, de a görbítési funkció kimutatta, hogy hol a határa. Ezért tűnik olyan szélesnek a görbített terület a világos hengerhez képest.
A középső kocka az 1 értékű allépés-beállításával meglehetősen zaklatott, jól látható lépcsőzetesen a 10 iterációs ismétlés. Ha viszont 4-re növeltem az allépések számát, akkor ez teljesen kisimította a henger fölé eső területet, mintegy "kivasalta" egyenesre, megnövelve a művelet felbontását.
8. ábra
Balra az látható, hogy mi történik a Nagysági leképezés bekapcsolásakor, amikor kipipáljuk a hozzá tartozó kis négyzetet. Ennek az egynek a kivételével ugyanazokat a beállításokat alkalmaztam, mint az előző kép középső képkockájánál, de most szemmel láthatóan nem terült szét annyira a hengerünk a bal szélétől a jobb széléig, hanem a legvilágosabb területekre korlátozódott elsősorban a művelet, s a görbített henger jószerivel éppolyan szélesnek látszik, amilyennek a térkép hengerét látjuk nem a számítógép "szemével", hanem a sajátunkkal (bár a két szélén azért megfigyelhető egy enyhe elhajlás).
9. ábra
(9. ábra görbítési paraméterei: lépésméret 10, iteráció 5, elmozdítási leképezés a labirintusra, a széleken elkenés. színszórás 0, forgatási szög 90 fok, allépés 1.)
A 9. ábra jobb szélső két képkockája két különböző mintázatot mutat. Az egyik egy labirintus, amelyet elmozdítási térképnek használtam, a másik pedig fekete alapon egy fehér négyszög. A feldolgozandó minta az első kockán látható. A második kocka ennek az előzőnek a görbített állapotát mutatja, nagysági leképezés alkalmazása nélkül. Ekkor csak elmozdítás történt. A harmadik képkockánál viszont a labirintusra el lett mozdítva a ferde henger, de be lett kapcsolva a nagysági leképezés is, azaz a Görbítés ablakában a Nagysági leképezéshez tartozó legördülő menü alatti kis négyzet ki lett pipálva.
A fehér négyzetet tartalmazó fekete térképkocka ebben az esetben úgy működik, ha nagysági leképezéshez használjuk, mintha rétegmaszk lenne. A fekete részei fölé eső mintaterületekre nem érvényesül az elmozdítás, azt blokkolja, a fehér négyzet fölött viszont maximális a görbítés. Ha lenne szürke rész, akkor a szürkeárnyalat, vagy a színátmenet arányában érvényesülne az elmozdítási művelet, mint feljebb a 8. ábra hengerénél.
10. ábra
(10. ábra görbítési paraméterei: lépésméret 10, iteráció 10, a széleken körbe, elmozdítási leképezés fekete lap, színszórás 0, forgatási szög 0, allépés 1, nagysági leképezés térképe fekete lap, nagysági leképezés nincs bekapcsolva, a többit l. szövegben.)
A 10. ábra arra példa, hogyan viselkedik a görbítés, ha az elmozdítási és a nagysági leképezést nem használjuk, például egy sima fekete lappal blokkoljuk, azt használva térképként. A hat képkocka közül az alsó sorból a jobb szélső ezt volna hivatva ábrázolni. A Görbítés utolsó elemei a További speciális beállításoknál találhatók a Görbítés ablakában. Hozzájuk a kép alsó sorában középen látható, gömböt ábrázoló réteget használtam fel, ezért mind a Gradiens-méretezéshez, mind pedig a Vektornagysághoz tartozó legördülő menüben ezt a térképet állítottam be (l. 11. ábra).
A felső sor bal első kockája a módosítatlan alapkép. Középső kockájánál a Gradiens-méretezést 2,000-re állítottam, a Vektornagyságot és a Szöget pedig 0-ra, azaz nem alkalmaztam vektorirányú és nagyságú eltolást.
A jobb felső képkockánál ellenkezőleg, Gradiens-elmozdítást nem alkalmaztam, azaz a Gradiens-méretezést 0,000-ra vettem, viszont a Vektornagyságot 2,000-re, a Szöget pedig 45 fokra állítottam be.
Az alsó sor bal első képkockája azt az esetet mutatja, amikor a gradiens- és vektoros elmozdítás is be van állítva 2,000-2,000-es Gradiens-méretezéssel és Vektornagysággal, valamint 45 fokkal.
11. ábra: Görbítés ablaka a 10. ábra bal alsó képkockájának készítésekor
Láthatjuk a 10. ábra felső középső képkockáján, hogy a 2,000-es Gradiens-méretezéssel a térkép világosabb területei fölé eső képpontokat tolja el a funkció a térkép sugaras színátmenete szerint, amely a fehér fényvisszatükröződésnek tűnő pont, mint középpont körüli koncentrikus körökben helyezi el az azonos szürkeárnyalatú képpontokat. Összesen 10 iterálásból még nem tudta a mintakép pontjait eme koncentrikus körökbe rendezni, de az azért látszik, hogy ehhez igyekszik húzni azokat. A Gradiens-méretezés nagysága adja meg, hogy mekkora mértékben érvényesül a gradiens-térkép szerinti átrendezés.
A jobb felső kockán csak vektor irányú és nagyságú eltolást alkalmaztam, 45 fokkal. Látható is, hogy balra-fölfelé tolódtak el a képpontok, mert itt a 0 fok szögérték függőlegesen fölfelé mutató irányt jelent, s innen az óramutató járásával ellenkező irányban veszi figyelembe a szögeket ez a programrész: 90 fok vízszintesen balra lenne, 180 fok függőlegesen lefelé, a 270 pedig vízszintesen jobbra. A Vektornagyság azt adja meg, hogy hány képponttal tolódjanak el az eredeti képpontjaink.
A 10. ábra bal alsó képkockája viszont az előző két művelet eredője.
Kis méretű képeken igen gyorsan végigfut az átalakítás, nagyobb méretű, akár csak 600x600-as képeken is viszont lassabban, s ennek köszönhetően a képablakunkban ismétlésenként megfigyelhetjük, hogyan alakul a rétegünk. Érdemes is alaposan odafigyelni, és a próbálkozás szakaszában nagyobb ismétlési számot, iterációs értéket beállítani, mert így könnyen meg tudjuk állapítani, hogy hányadik lépésnél érdemes megállni a legszebb eredmény érdekében. Ezt magunk is számolhatjuk, de a képablak alsó sorában meg is jelenik az ismétlés sorszáma a művelet közben. Ha például Iterációra 10-et állítottunk be, de azt látjuk, hogy a 7. ismétlésnél szép az eredmény, a 8., 9. és 10. ismétlés már csak ront rajta, akkor egyszerűen vonjuk vissza a műveletet, futtassuk le újra a Görbítést, csak másodjára már 7-es Iterációval.
Nagyon nagy a variációs lehetőségek száma, mert nemcsak külön-külön lehet alkalmazni a Görbítés egyes blokkjait, hanem együttesen is, de ennek bemutatására már nem vállalkozom, mert nem férne bele az időmbe. Az alapok felfedezése után pedig már ki-ki kipróbálhatja a saját ötleteit, a legtöbbet (vagy tán mindent) úgyis a saját tapasztalatból lehet tanulni.
Görbítés funkciót alkalmazó oldal:
Üvegkristály II
Fotógrafika 1.
Fotóból szobor
A képek előállításához GIMP for Windows 2.4.2 képfeldolgozó programot használtam a sourceforge.net jóvoltából.