Friday, January 29, 2010

Menghilangkan objek pada gambar dan mengisinya dengan background

Tadi aku habis mengikuti presentasi rutin anak-anak MACO (dibaca "mako", bukan "macho") di kantor. Tema kali ini adalah membahas menghilangkan objek pada suatu gambar, tapi jangan terkesan direkayasa. Salah satu caranya adalah dengan menghapus objek lalu mengisinya dengan background yang pas.

Ilustrasinya seperti ini

menjadi

Kalau kmu berpikir gambar di atas di edit pake photoshop, kmu salah besar. Gambar di atas cuma di proses menggunakan suatu program yang mengimplementasi algoritma Exemplar-Based Image InPainting.

Cara kerjanya sebagai berikut:
1. Gambar di load.



2. Tentukan objek yang ingin di hapus ( penghapusan dalam image berarti kita meng-overwritrenya dengan satu warna tertentu).



3. Gunakan algoritma Exemplar-Based Image InPainting untuk merecovery bagian yang terhapus tadi.



Rangkain proses algoritma ini cukup panjang. Dia menscan gambar dan memotong-motongnya menjadi 9x9 pixel mask (mask bisa diubah2, tidak harus 9x9). Lalu dia akan mencari pada petak-petak (mask) itu, petak mana sajakah yang terhapus imagenya. Kalau ditemukan petak dengan image yang hilang, dia akan melakukan pembobotan di "seluruh image" dan pembobotan di dalam "petak yang ada kosong" tadi. Untuk image yang tersisa di dalam petak tadi (tidak terhapus) maka pembobotan lebih besar (ya karena memang pada titik petak sasaran yang tidak terhapus tadi khan gambar asli / tidak terhapus). Algoritma ini juga mampu mendeteksi adanya Isophote (perubahan spacial yang besar petak) dan hal ini tentuk amat membantu untuk mendeteksi adanya bentuk objek yang berbeda dari sekelilingnya. Misal pada background terdapat potongan rumah di tengah padang rumput. Nggak lucu khan kalo foto orang di depan rumah itu di replace dengan pola image rumput dan bukan pola rumah).

Untuk perhitungan matriks dan vector tidak aku tampilkan disini karena aku yakin banyak kog artikel tentang itu dan mungkin lebih lengkap. Silakan searching sendiri.

Jadi ide dasarnya itu merecovery gambar yang hilang dengan menganalisis keseluruhan image untuk mendapatkan pola pengganti potongan image yang hilang. Cocok untuk mengembalikan foto2 tua yang sudah mbladus, jamuran, dan lain-lain. Tapi bisa juga khan di pakai untuk menghapus objek pada foto. Misalnya saja menghapus foto mantan dari gambar dan menggantinya dengan background. wkwkwkwkw.... :D
*lelucon sang presenter lho... bukan lelucon saya pribadi.... :P

Makasi utk senior ku Teguh Suryadi (anak UKDW juga angkatan 2001 tapi jadi ga sempet ketemu waktu kuliah karena dia udah lulus saat aku mulai kul di UKDW) udah mau bagi2 ilmu. Aku cuma mengulang materi yang dia sampaikan tadi.... :)

thanks for reading.

2 comments:

  1. cara mendapatkan program algoritma Exemplar-Based Image InPainting bagaimana? apakah mirip-mirip photoshop atau lebih simple dan sederhana.

    ReplyDelete
  2. mungkin bisa coba link di bawah ini pak
    http://www.cc.gatech.edu/~sooraj/inpainting/

    ReplyDelete