Sabtu, 04 April 2015

Cara Menghilangkan Inner Object

Penulis menjumpai sebuah kasus berikut yaitu masalah inner object, untuk mempermudah bahasan masalah, maka kamu lihat analogi berikut
[1] box
[2] box
[3] inner box
[4] box



Perhatikan gambar berikut

Mengapa [3] disebut inner box? Dikarenakan letak nya ada didalam sebuah box [1], padahal penulis menginginkan sebuah object hanya 3, seperti dibawah ini


Bagaimana mengatasi hal diatas?

Apakah cukup menggunakan function imfill?
Itu bisa saja terjadi! Jika object [1] itu tidak putus-tertutup!
Tapi terkadang ada kasus lain dimana menggunakan imfill tidak terlalu berguna! 
Maka penulis menggunakan algoritma berikut
  1. Ada 2 objek
  2. Tentukan masing-masing area nya, untuk menentukan apakah objek tersebut box dan inner nya
  3. Kemudian tentukan letak centroid nya!
Jadi setiap objek akan dibandingkan dengan objek yang lainnya!
Perhatikan berikut dengan x adalah sebuah centroid!


[1] dibanding [2] yaitu  [1] adalah box dan [2] box dikarenakan x:2 dari [2] tidak terletak diarea [1]
[1] dibanding [3] yaitu [1] adalah box dan [3] adalah inner box karena x:3 terletak di area [1]
Berikut untuk kasus-kasus yang lain nya


kamu bisa melihat bahwa algoritma diatas cukup robust untuk menghilangkan sebuah inner object!





Posting Komentar