HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

Képek ügyes átméretezése - Gimppel

2008.11.01. 09:22 bagoj ur

Ha azt mondom: "Seam Carving", esetleg "Liquid Rescale", sokan egyből kapcsolnak de ez annyira ügyes dolog, hogy muszáj írnom róla. Sőt, képeket is muszáj mellékelnem, hiszen az egész eljárás lényege a képmanipuláció.

Mi az a Seam carving (tükörfordításban: "telér faragás")? Egy okos kis matematikai algoritmus, amely lehetővé teszi képek átméretezését, mégpedig olyan módon, hogy a képek hasznos tartalma minél kevésbé sérüljön. Magyarul képes automatikusan felderíteni, hogy egy képen mi a fontos és kevésbé fontos információ; és a kevésbé fontosakat használja nagyításkor/kicsinyítéskor, így a fontos információ nem torzul. Azaz átméretezünk, de a kép fő témája (pl. egy arc) nem fog torzulni semmilyen irányba. És hogy miért éppen seam carving a neve? A későbbiekben lesz egy példa arra is, hogy az algoritmus hogyan választja ki a nem fontos részeket, ezen láthatjuk hogy tényleg úgy néznek ki a kanyargó vonalak, mint egy bányában az érccel teli telérek.
Amennyiben nem felel meg az algoritmus működése, mi is kijelölhetjük a számunkra fontos és eldobandó részeket, ezeket figyelembe veszi. Kifejlesztői Shai Avidan és Ariel Shamir.

A Liquid Rescale ("folyékony átméretezés") a seam carving eljárás egy megvalósítása a Gimp-hez. Tehát ha liquid rescale-ről beszélünk, akkor azon a Gimp seam carvingját értjük.

Tehát még egyszer: ez egy olyan átméretező eljárás, amely elsősorban megpróbálja a kevésbé fontos részeket bántani, és megtartani egészben a fontos részeket. Ezt nagyjából úgy kell elképzelni, hogy (mondjuk vízszintes átméretezés esetén) elindul a kép tetejétől, és figyeli a szomszédos képpontok egymástól való különbségét, keresve a kis különbségeket. Ha el tud jutni a kép aljáig (akár egy nagyon kacskaringós vonalon), akkor talált egy kevésbé fontos területet. Ebből következően jól működik pl. olyan fotóknál, ahol sok az ég, és szeretnénk visszavenni belőle. Működik vízszintes és függőleges irányban is, de értelemszerűen egyszerre nem tud mindkét irányban dolgozni.

Telepítés:

sudo apt-get install gimp-plugin-registry

Ez több plugint is feltesz. Az LQR plugint a Rétegek menüben találjuk. Vegyünk is egy képet:

 

Kicsit sok itt a víz. Előbb egy vízszintes méretcsökkentést hajtunk végre....

 

...majd egy függőlegeset:

 

Lássuk gyorsan a beállítás képernyőt is, és elmagyarázom egy következő példán keresztül, hogy hogyan tudjuk befolyásolni a plugin működését!

 

Tehát a szélesség és magasság beállítása egyértelmű. Ha mindkettőn állítunk, akkor előbb a szélességet, aztán a magasságot fogja átméretezni. Jobb oldalon állíthatjuk be azokat a maszkokat, amelyek segítségével megadhatjuk a megtartandó (preservation) és eldobandó (discard) képrészeket. Ennek legpraktikusabb módja, hogy a megfelelő "New" gombot megnyomjuk; ekkor automatikusan létrehoz egy új layert (50% átlátszatlansággal), és beállítja a rajzolószínt. Ekkor váltsunk vissza a képre, figyeljünk arra hogy a maszk réteg legyen kiválasztva és egyszerűen festegessük be a megfelelő képrészeket. Ezzel a módszerrel tudjuk tehát a preservation és discard mask beállítását is elvégezni. Ha végeztünk, arra mindenképp figyeljünk, hogy indítás előtt ismét a kép réteget válasszuk ki! Ja, és látható két csúszka is, "Strength" néven: itt adhatjuk meg, hogy mennyire nagyon fontos / eldobandó a kijelölt rész (elképzelhető ugyanis hogy egy fontos részt is "megcakkoz" kicsit a Gimp - ilyenkor állítsuk erősebbre a csúszkát!).

A képen látható randa sárga oszlopokat szeretném eltüntetni, az embereket pedig megőrizni. Ezért lefestettem a plugin által adott piros színnel, ami nem kell, és zölddel, ami mindenképp kell. Az erősségeket 460-nak (zöld) és 2255-nek (piros) adtam meg. Ezt követően, a plugin indítása előtt így néz ki:

Az eredmény:

Szedjük le a rétegeket, íme a végeredmény:

 

És most lássunk példát a "telérek" kanyargására:

 

Ugyan nagyítást nem próbáltam, de a help szerint érdemes apró lépésekben végezni, és az algoritmushoz adott példa képek alapján frankón működik. Ja, fontos dolog: Azt ne gondolja senki, hogy ez gyors mint Démonhill! Nálam egy futás 1-2 perc 6Mpx-es képeken.

6 komment

Címkék: grafika ubuntu fotózás alkalmazások gimp képjavítás

A bejegyzés trackback címe:

https://bagojur.blog.hu/api/trackback/id/tr58741545

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

szucsjoee 2008.11.02. 10:51:36

Ez vadállat... Ki kell próbáljam...Mármint az oszlop eltűntetést

Shash 2008.11.02. 16:57:43

Ez zseniálisan jó, én máris kimaszkoltam egy embert egy képről! :-) Photoshophoz nincs ilyen plugin?

bagoj ur 2008.11.03. 19:14:33

Photoshophoz nem tervezek tippeket nyújtani, tele van velük a net...

atomgape 2008.11.07. 13:36:37

Haha, de az oszlopok árnyéka ott maradt, nagyon funny... :-D

zoltan · http://www.linuxempire.hu 2008.11.11. 16:13:23

Hasonló baromi ügyes dolgokra képes a másik favoritom, az Inkscape. De idáig még nem volt olyan, amit ne lehetett volna megcsinálni vele.....

bagoj ur 2008.11.12. 16:30:50

Zoltan: Komolyan? Van valami linked, hogy hol vannak leírások? Én használom már az Inkscape-et, de kicsit még gyerek módjára, és szeretném kitanulni mert pl. a logógyártás sokkal jobb egy vektoros programmal, nyilván nem kell részleteznem, hogy miért. :-) Köszi előre is, remélem jársz erre mostanában!