Pēteris Caune, jaunumi ([info]cu) rakstīja,
@ 2007-06-03 18:24:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Masveida bilžu samazināšana ar ImageMagick

Manis sabildētās bildes visas stāv drošībā diskos plauktā. Un vēl tās visas stāv arī datorā. Visas visas. Ir jauki, ja visām bildēm var tikt klāt ātri bez rakāšanas pa diskiem. Var kādam parādīt, vai pats paskatīt, gremdēties atmiņās un tā. Cietie diski mūsdienās lieli un raizēm par bilžu patērēto diska vietu nevajadzētu būt. Vakardien gadījās, ka diska home sadaļa piegāja pilna un es sadomāju izmēģināt diska izmantošanas analizatoru. Tas ietilpst Gnome komplektā sākot no 2.18 versijas.

Pictures folder

Apskatījos, un izrādījās, ka bildes aizņem 40GB, no kuriem 24GB ir 2006. gada bildes. Liela daļa no tām 8 megapikseļu izšķirtspējā, vairāku megabaitu izmērā. Un tad es domāju, tās bildes šeit ir tikai skatīšanai. Oriģināli, ja nu savajadzētos, uz diskiem ir. Varētu visas samazināt uz 1600 pikseļiem pa garāko malu – apmēram 2 megapikseļi. Skatīšanai pietiktu.

Domāts – darīts. Attēlu konvertēšanai izmantoju lielisko ImageMagick komandrindas attēlu apstrādes rīku paketi. Lūk, šāda komanda:

convert bilde.jpg -resize '1600x1600 >' bilde.jpg

Paņem bilde.jpg un samazina to tā, lai garākā mala ir 1600 pikseļi, bet tiktu saglabāta malu garumu attiecība. Ja garākā mala ir īsāka par 1600 pikseļiem, bildi neaiztiek. Samazināto ieraksta tajā pašā failā. Šo komandu vajadzētu izpildīt visām bildēm manas bilžu mapes visās mapēs un apakšmapēs. Šeit talkā nāk find komanda. Man tur varētu būt gan .jpg, gan .JPG faili. Dažos failu nosaukumos varētu būt tukšumzīmes (piem. Picture 001.jpg). Nedaudz paeksperimentējot, find ar visu labi tiek galā. Maģiskā komanda:

find . -iname "*.jpg" -exec convert -verbose '{}' -resize '1600x1600 >' '{}' \\;

Izpildot šo komandu mapē ar bildēm, visas bildes tiks samazinātas! Es gan par to komandu galvu ķīlā nelieku. Ja uz tavas sistēmas find vai convert strādā kaut kā citādāk un visas bildes, teiksim, izdzēš, nu, tā var gadīties. Drošāk sākumā izmēģināt ar kādu testa partiju. 2006. gada bildes, 24 gigabaitus samazināja visu nakti, 8 stundas. Rezultāts:

Pictures folder after mass resize

Atgūti trīspadsmit gigabaiti! Laikam pēc noklusējuma lieto diezgan augstu to jpeg kvalitātes koeficientu. Ja to pagrieztu zemāk, droši vien iegūtu vēl krietni vairāk! Nav diezcik lietotājam draudzīgs risinājums, bet, toties, ir hakerim draudzīgs risinājums!



Neesi iežurnalējies. Iežurnalēties?