Skip to content

TUGAS AKHIR PKB SEMESTER 111 : WATERSHED TRANSFORMATION

Notifications You must be signed in to change notification settings

FarhanHP/watershed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

WATERSHED : VINCENT-SOILLE ALGORITHM

Ini adalah bagian kecil dari implementasi Transformasi Immersion Watershed versi algoritma Vincent-Soille. Adapun bagian yang luput dari implementasi yang saya buat adalah, grayscale-pixels-nya tidak berdasarkan pada gambar nyata melainkan menggunakan numpy random list2d yang dianggap sebagai gambar dengan grayscale pixels.

Dalam implementasi yang saya buat, saya membut dua Class yaitu Pixel, dan ImageGrayscale. Pixel memiliki atribut seperti nilai grayscale, label, dan list yang berisi 8-Connectivity-Neighboring-Pixels, sedangkan ImageGrayscale memiliki atribut kumpulan pixel yang berbentuk list2d. Selain itu juga, dalam Class ImageGrayscale memiliki method yang bernama watershedVS yang bertugas memberikan label pada tiap pixel berdasarkan definisi Immersion Watershed. Setiap pixel yang masuk ke dalam basin diberi label "A, B, C, dst", sedangkan untuk pixel yang merupakan watershed diberi label "-".

Adapun penjelasan bagaimana method watershedVS bekerja adalah sebagai berikut:

1.) Urutkan semua pixel berdasarkan nilai grayscale-nya dari yang terkecil sampai yang terbesar.

2.) Tentukan nilai threshold yang merupakan nilai grayscale terkecil dari pixel yang ada.

3.) Masukkan pixel yang nilai grayscale-nya sama dengan threshold ke dalam antrian FIFO.

4.) Ambil(pop) pixel yang ada di dalam antrian :

     p <- antrian.pop().
     
     Q <- himpunan pixel tetangga dari p.
     
     tambahkan Q ke dalam antrian.
     
     pada setiap Q, periksa label masing-masing anggota Q:
     
        jika terdapat >1 jenis label basin, maka label p adalah watershed.
        
        jika terdapat 1 jenis label basin, maka label p adalah sama dengan label tersebut(p menjadi bagian suatu basin).
        
        jika terdapat 0 jenis label basin, maka label p adalah label basin yang baru (p menjadi basin baru).

5.) Jika panjang antrian > 0 maka kembali ke step-4, sebaliknya maka lanjut ke step-6.

6.) threshold <- threshold + 1.

7.) jika nilai treshold <= nilai grayscale paling besar, maka kembali ke step-3. Jika sebaliknya, maka berhenti.

About

TUGAS AKHIR PKB SEMESTER 111 : WATERSHED TRANSFORMATION

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages