Cara Merubah Ukuran Banyak Gambar Sekaligus Menggunakan ImageMagick Dan Python - DHOCNET Blog

Cara Merubah Ukuran Banyak Gambar Sekaligus Menggunakan ImageMagick Dan Python

Cara Merubah Ukuran Banyak Gambar Sekaligus 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, :)
DHOCNETADS

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

DHOCNETADS

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

DHOCNETADS

2 komentar