Me-resize Geometri Gambar Secara Masal Menggunakan ImageMagick Dan Python


Kali ini saya akan bagikan sedikit tips untuk melakukan resize gambar atau foto secara masal. Tapi dengan satu catatan, hasil resize nanti akan memiliki nilai lebar yang sama, :D

Waktu itu saya dimintai tolong sama Ibu Bos untuk me-resize foto hasil dari jepretan kamera digital agar bisa dibuka di BB-nya. Nah, dia gak bilang, gambar mana saja yang di-resize. Jumlah fotonya juga lumayan, lebih dari 600 file. wah,... jelas, pasti patah ni jari nanti kalo resize-nya manual. Tapi untungnya, GNU/Linux menyediakan banyak tools yang bisa dimanfaatkan secara bersama, :)


Disini tools yang akan digunakan adalah ImageMagick dan sedikit script Python. Bila pada sistem kamu belum terinstall ImageMagick, silahkan install terlebih dahulu paket ImageMagick dari repositori distro masing-masing.

Perintah yang digunakan adalah convert, dengan opsi -resize. Contoh:

    $ convert -resize 600 file_in.jpg file_out.jpg

Penjelasan singkatnya seperti ini:

convert adalah salah satu utilitas dari paket ImageMagick.
-resize adalah salah satu opsi yang disediakan dari utilitas convert yang digunakan untuk merubah ukuran (lebar) gambar.
600 adalah nilai lebar gambar yang ingin dihasilkan.
file_in.jpg adalah file gambar yang ingin di resize
file_out.jpg adalah file gambar hasil resize

Sedangkan untuk script Python sendiri kita memanfaatkan module os.system yang dapat menjalankan perintah yang dimiliki sistem GNU/Linux.

Script terlihat seperti berikut:

#!/usr/bin/env python

# memuat module os
import os

# membuat list dari isi direktori
x=os.listdir('.')

# membuat perulangan yang berfungsi sebagai
# pemroses file
for y in x:
    # memfilter tipe file dari ekstensinya
    if y.endswith('.jpg') or y.endswith('.JPG'):
        # menentukan nama file hasil resize
        x_new="%s_new.jpg"%y[:-4]
        # verbose mode
        print "Resizing file: %s"%y,
        # fungsi untuk menjalankan perintah convert
        os.system('convert -resize 600 %s %s'%(y,x_new))
        print " ... done"
    else:
        # fungsi skip untuk file yang tidak ber-ekstensi jpg
        print "Skipping file: %s"%y
print "Resizing completed!!"

Simpan dengan nama (misalnya) image_resize.py kemudian pindahkan ke folder dimana foto yang ingin di-resize berada. Buka terminal, pindah ke direktori yang sama dimana script dan foto tadi berada dan jalankan perintah:

    $ python image_resize.py

Prosesnya akan terlihat seperti berikut:

Download:
    ImageMagick
        http://imagemagick.org/script/index.php

Info:
    ImageMagick
        http://www.imagemagick.org/script/convert.php?ImageMagick=859jg1aisufmfmiio2v1ruin07
   
    Python
        http://docs.python.org/library/stdtypes.html?highlight=endswith#str.endswith
        http://docs.python.org/library/os.html?highlight=os.listdir#os.listdir
        http://docs.python.org/library/os.html?highlight=os.system#os.system
        http://docs.python.org/tutorial/controlflow.html#for-statements
        http://docs.python.org/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops
        http://docs.python.org/reference/simple_stmts.html#print
        http://docs.python.org/tutorial/introduction.html#lists


Posting Komentar

1 Komentar
* Please Don't Spam Here. All the Comments are Reviewed by Admin.

buttons=(Accept !) days=(7)

Situs kami menggunan cookie untuk memberi pengalaman menarik bagi Anda.
Accept !