sestdiena, 2011. gada 12. novembris

Objektu atdalīšana no fona ar ImageMagick

Ja ir atsevišķa fona bilde ( Filozofiskās apcerēs par fona uzzīmēšanu vai objektu "izgriešanu" 100 citos variantos neieslīgsim ) un bilde.

Tā. Nofotografēju divas bildes - kompozīcija un fons.

Fona bilde (drapērijas utml.) ir jāfotografē ar tādiem pašiem parametriem, kā bildi ar objektiem (kompozīcija).

Vienā bildē ir objekti un fons, bet otrā ir tikai fons bez objektiem.

Šajā rakstā es mēģināšu pastāstīt, kā izmantot šīs abas bildes, lai atdalītu tikai objektus, jo fons jau mums ir.

Izmantosim ImageMagick. Pārējās bildes pieslīpēšanas ir katra paša ziņā.
ImageMagick ir komandrindas programma (ja vien tai nav piejūgts kāds GUI (ir paša ImageMagick "display imageFileName", bet nu nu)), kura ir samērā vienkārša un ar kuru var izveidot atsevišķus skriptus, programmiņas kaut kādu darbību veikšanai. Vai vienkārši rakstīt komandas komandrindā.

Tātad, izmantosim komandrindu.

Mainīgie rakstā:

bilde.jpg (vai png) ir "gatavā" bilde ar objektiem ar fonu.
fons.jpg (vai png) ir bilde ar fiziski "izņemtiem" objektiem.
bez_fona.png ir "izgriezti" objekti, bez fona.
Ceturtā un piektā ir "māksla"


800 x 600 px bildes
bilde.jpg

fons.jpg

bez_fona.png

Māksla
Māksla #2

Komanda ar kuru iegūstam caurspīdīgu bez_fona.png :

convert bilde.jpg -fuzz 5% fons.jpg -compose ChangeMask -composite bez_fona.png

Ja bilde ir jāsamazina, tad vēlams nelietot JPG formātu , bet PNG bez kompresijas, jo JPG kompresija jebkurā gadījumā kropļo bildi.

1024 x 768 px bildēs būtu jālieto apmēram tā:

convert bilde.png -fuzz 10% fons.png -compose ChangeMask -composite bez_fona.png

Jo lielāks fuzz %, jo vairāk atmet fonu, bet nograuž arī no objektiem, kuru krāsas, toņi ir tuvi fonam. Var izmantot arī krāsu skaitu ( http://www.imagemagick.org/script/command-line-options.php?#fuzz ).
Ja būs "tīrāks" fons, tad būs labāks rezultāts. Es speciāli paņemu raibu fonu, lai būtu grūtāk atdalīt fonu.
Nu, ja fonā paliek kaut kādi punkti, tad to jau nu mācēsiet ar visādām burvju nūjiņām attīrīt.
ImageMagick ir arī dažādi citi parametri.


Maksas smukGUIstiskajām programmām jau nu vajadzētu mācēt izmantot atvērtā koda iespējas.


Literatūra:

http://en.wikipedia.org/wiki/ImageMagick
http://www.imagemagick.org/
http://www.imagemagick.org/Usage/color_basics/#fuzz
http://www.imagemagick.org/script/command-line-options.php?#fuzz
http://www.imagemagick.org/Usage/compose/#mask
http://www.imagemagick.org/Usage/masking/#bg_remove
http://www.imagemagick.org/Usage/compose/#changemask

Iedvesma no: http://ramuuns.id.lv/blog/2011/10/19/ok-tatad-tu-gribi-sev-uztaisit-meteolapu/

Varētu interesēt: http://blackhalt.wordpress.com/?s=ImageMagick
55096709492717636123049475203245211622

1 komentārs:

Jūsu komentārs tiks nosūtīts mājas lapas administratoram, līdz apstiprināšanai tas var nebūt pieejams šī bloga publiskajā daļā.