Convert

Linux.fista
Versio hetkellä 29. elokuuta 2009 kello 16.51 – tehnyt Pb (keskustelu | muokkaukset) (→‎Koon muuttaminen: resize tarkoitettu kaikkeen kuvakoon muuntamiseen)
Siirry navigaatioon Siirry hakuun

Convert on ImageMagick-pakettiin kuuluva komentoriviohjelma, jota käytetään kuvatiedostojen muuttamiseen muodosta toiseen. Samalla se mahdollistaa myös mm. kuvan koon muuttamisen ja muunkinlaisen kuvankäsittelyn. Convert on erityisen hyödyllinen silloin, kun tehdään muutoksia suuriin kuvajoukkoihin.

Käyttö

Ohjelmaa käytetään yleensä yksinkertaisesti muuttamaan kuva muodosta toiseen. Tämä onnistuu yksinkertaisesti komennolla

convert lähde kohde

Esimerkiksi mokki.png muutettaisiin jpg-muotoon komennolla

convert mokki.png mokki.jpg

Convert siis osaa itse päätellä tiedostopäätteen avulla tiedoston muodon, eikä mitään ylimääräisiä valitsimia tarvitse antaa. Tässä on syytä huomata, että convert ei myöskään poista alkuperäistä tiedostoa vaan jättää sen koskemattomaksi.

Koon muuttaminen

Muunnoksen aikana voidaan myös vaikuttaa mm. kuvan kokoon. Tämä onnistuu -resize-valitsimella: esimerkiksi luotava kuva olisi vain puolet alkuperäisen kuvan koosta (esim. 1000x1000 -> 500x500) komennolla

convert -resize 50% mokki.png mokki.jpg

Tulevan kuvan koko voidaan antaa myös pikseleinä, esim.

convert -resize 1024x768 mokki.png mokki.tiff

PDF-asiakirjan tekeminen

Convert mahdollistaa myös usean skannatun sivun muuttamisen yhdeksi PDF-asiakirjaksi. Luettavuuden vuoksi olisi hyvä jos lähdemateriaalin tarkkuus olisi vähintään 150dpi.

Jos muunnettavat kuvat ovat samassa hakemistossa ja samassa tiedostomuodossa (esim. jpg), niin muuttaminen onnistuu kyseisessä hakemistossa komennolla

convert *.jpg mökki-albumi.pdf

Asiakirjan koon pienentäminen

Mikäli tiedoston koko halutaan pitää mahdollisimman pienenä, voidaan käyttää valitsinta -monochrome, joka muuttaa kuvan mustavalkoiseksi.

Oletetaan että kyseessä on vaikka monisivuinen skannattu kirje. Ensin muutetaan tiedostot mustavalkoiseksi png-kuvaksi. Vaikka kohdetiedosto onkin määritetty muotoon kirje.png, syntyy muunnoksessa useita tiedostoja (kirje-1.png, kirje-2.png... jne)

convert -monochrome *.jpg kirje.png

Seuraavaksi mustavalkokuvat muutetaan yhdeksi pdf-tiedostoksi

convert -monochrome *.png kirje.pdf

Tällä tavalla voidaan saada asiakirjan koko jopa kuusi kertaa pienemmäksi.

HUOM! Jos muutettavat kuvat ovat png-muodossa, ne ovat hyvälaatuisia (tarkkuus 400dpi tai parempi) ja niitä on paljon (yli 10), vaatii PDF-tiedoston luominen huomattavasti resursseja tietokoneelta. Lisäksi saatu PDF-tiedosto on suuri, ellei kyseessä ole mustavalkotiedosto, eli ei sovellu esimerkiksi sähköpostin liitteeksi. Siksi kannattaakin käyttää jotain muuta lähdeformaattia kuin png:tä.

Rajaaminen

Convert mahdollistaa myös kuvien rajaamisen komentoriviltä. Rajaaminen onnistuu käyttämällä -crop vipua. Ensiksi määritetään uuden kuvan koko ja sitten rajaamisen lähtöpiste.

Vivun rakenne:

toiminto leveys korkeus etäisyys vasemmasta reunasta oikeasta reunasta
-crop 800 x 600 + 100 + 200


Jos lähtöpistettä ei ole määritetty, niin convert jakaa kuvan määritelmän kokoisiin paloihin.

Esim.

convert mokki.png +repage -crop 800x600+100+200 mokki.png

Komento rajaa alkuperäisestä kuvasta 800x600 pikselin kokoisen alueen, jonka vasen yläreuna 100 pikseliä oikealla ja 200 pikseliä alhaalla. Optio +repage pyyhkii pois virtuaalisen pohjan ja on siksi hyödyllinen käsiteltäessä gif- ja joitain png-kuvia.

Kääntäminen

Joissain tapauksissa on järkevää kääntää kuvaa ruudun tasossa. Convert mahdollistaa kuvan kääntämisen pystyyn valitsimen -rotate avulla.

-rotate käntää kuvaa ruudulla osoitetun asteluvun verran. Ehtomerkkejä < > käytettäessä, on hyvä käyttää myös lainausmerkkejä, jotta komentotulkki ei tulkitse komentoa väärin.


Ohjausmerkki Toiminnon kuvaus
+ Kääntää kuvaa myötäpäivään
- Kääntää kuvaa vastapäivään
> Kääntää kuvaa vain, jos leveys on korkeutta suurempi
< Kääntää kuvaa vain, jos korkeus on leveyttä suurempi

esim

convert -rotate "-90>" kukka.jpg pysty-kukka.jpg

Komento kääntää kuvaa vastapäivään 90 astetta, vain jos alkuperäisen kuvan leveys on korkeutta suurempi.

HUOM!

Suuria kuvajoukkoja käsiteltäessä, sekä isoa PDF-tiedostoa luotaessa voi helposti ongelmaksi tulla muistin määrän riittämättömyys, koska convert yrittää käsitellä kaikkia muunnoksia kerralla. Oireena on järjestelmän hidastuminen ja yleensä Linux tappaa prosessin kesken.

Vaihtoehtona on rakentaa skripti, joka käsittelee jokaisen kuvan yksitellen, lisätä lisää muistia koneeseen tai käyttää valitsinta -limit.

Lisää Imagemagic-komentojonojen kirjoittamisesta löytyy Linux.fin keskustelupalstan viestiketjusta.

Esimerkiksi muunnettaessa kuvia toiseen formaattiin voi olla hyödyllistä estää convertia rohmuamasta kaikkea muistia käyttämällä valitsinta -limit:

convert -limit memory 512mb *.jpg albumi.png

Käytössä olevat rajoitukset saa näkyviin komennolla:

convert -list resource

Mahdolliset rajoituskohteet:

Valitsin Vaihtoehto Oletuskoko Vaikutus
-limit
area ? ---- ?
disk ääretön ---- rajoittaa välimuistina käytettävän tiedoston kokoa
file 768kpl ---- rajoittaa käsiteltävien tiedostojen määrää
map 4046MB ---- rajoittaa swap-osion käyttöä
memory 1024MB ---- rajoittaa keskusmuistin varauksen kokoa

Katso myös

Aiheesta muualla

Täydellinen lista komennolle annettavista parametreistä löytyy ImageMagickin dokumentaatiosta.

v  k  m
ImageMagick-pakettiin kuuluvia ohjelmia
animate | compare | composite | conjure | convert | display | identify | import | mogrify | stream