Disusun oleh:
3. Region Growing
Region Growing adalah metode pendekatan untuk segementasi citra dengan dimulai
dari beberapa piksel (seeds) yang merepresentasikan daerah gambar yang berbeda dan
tumbuh berkembang sehingga membentuk wilayah yang lebih lebar pada gambar. Untuk
menggunakan metode ini diperlukan aturan yang menjelaskan mekanisme pertumbuhan
dan aturan homogenitas setiap daerah setelah tumbuh. Namun pada penelitian ini region
growing tidak dimulai dari seeds melainkan dari inisialisasi awal region yang diperoleh dari
binary segmentation. Dengan menggunakan inisialisasi awal region proses region growing
menjadi lebih cepat dalam kompleksitas waktu. Langkah pertama cara kerja metode ini
yaitu dengan menentukan inisialisasi awal. Kemudian region akan berkembang menjadi
sebuah wilayah yang sebenarnya dengan cara mendeteksi apakah piksel-piksel terluar dari
region memiliki kriteria keanggotaan dari region.
1. Bagaimana hasil thresholding dengan operasi blok dibandingkan dengan hasil global
thresholding?
2. Bagaimana fungsi yang dibuat dalam memberikan label suatu blok piksel pada
background?
3. Bagaimana hasil fungsi baru dibandingkan deengan fungsi yang lama?
4. Jelaskan yang menjadi kondisi/batasan pada fungsi threshold adaptif yang dibuat.
3. Region Grow
Pada percobaan ini, cobalah contoh program dari algoritma region grow.
a. Buatlah fungsi dengan nama regiongrow.m sebagai berikut
Penjelasan:
V. PEMBAHSAN
Percobaan 1
Pada percobaan kali ini mengenai global thersholding menampilkan sebuah fungsi
untuk mengenai gambar asli dari suatu citra. Program dapat dilihat pada gambar dibawah
ini.
Dari program diatas kemudian program dapat di running dan akan muncul tampilan
seperti gambar dibawah ini.
Gambar diatas merupakan tampilan dari gambar asli sebuah citra yang akan dilakukan
segmentasi pada fungsi-fungsi berikutnya.
Pada percobaan selanjutnya yaitu menampilkan 2 gambar yaitu gambar asli dan histogram
dari gambar asli. Histogram yang ditampilkan tersebut mengumpul di dua titik yang berbeda.
Titik pertama mengalami kenaikan yang sangat signifikan. Namun pada titik kedua berada
dibawah titik pertama yang mengalami kenaikan namun tidak terlalu signifikan.
Pada percobaan selanjutnya yaitu menentukan threshold dan nilai dari histogram
tersebut dengan menggunakan fungsi dibawah ini. Fungsi tersebut terdapat bagian yang
digunakan untuk mengisikan nilai threshold yang akan digunakan yaitu T=85. Kemudian
selain itu menggunakan pula fungsi IM2BW yang akan dijelaskan pada bagian tugas. Setelah
program dituliskan dalam script kemudian dapat di running dan memunculkan 3 gambar
sekaligus, yaitu gambar asli citra, histogram dan gambar yang telah melalui fungsi threshold.
Yang kemudian gambar threshold tersebut mengalami perubahan dari gambar asli citra yaitu
gambar dari koin-koin tersebut menjadi putih, hal itu disebabkan karena beberapa pengaturan
yang dilakukan pada bagian threshold tersebut.
1. Pada histogram tersebut manakah puncak yang menyatakan background dan yang
menyatakan obyek?
Pada histogram yang menyatakan puncak adalah bagian awal, dan menyatakan objek
adalah bagian akhir.
Percobaan 2
Pada percobaan kali ini mengenai adaptive thresholding, dalam percobaan sebelumnya,
citra coin.png memiliki histogram yang bersifat bimodal, sehingga mudah dilakukan
segmentasi threshold dengan nilai T secara heuristik maupun dengan graythresh. Percobaan
berikut terkait dengan segmentasi thresholding untuk histogram yang tidak bimodal.
Algoritma thresholding adaptif merupakan operasi yang memisahkan latar depan dari latar
belakang dengan pencahayaan tidak seragam.
Pada langkah pertama dilakukan load file citra yang akan digunakan yaitu citra gradient
with text dengan cara
I = imread(’gradient_with_text.tif’);
I_gthresh = im2bw(I,graythresh(I));
figure, imshow(I_gthresh), title(’Global Thresholding’);
figure, imhist(I), title(’Histogram of Original’);
Hasil dari proses ini pada tiap layernya akan menghasilkan citra dengan background
berwarna putih (dalam biner bernilai 1) karena kita akan mensegmentasi citra maka
background harus memiliki nilai 0.
function y = adapt_thresh(x)
y = im2bw(x,graythresh(x));
Kemudian program dinamai sesuai dengan adapt thresh. Jalankan operasi blok dengan
perintah sebagai berikut :
Dari gambar diatas dapat diekathui bahwa, gambar hasil thresholding menunjukkan gambar
menjadi hitam putih dengan intensitas yang sesuai sedangkan untuk pemisahan antara
background dan teksnya masih belum rapi. Karena menggunakan blok 10x10 piksel.
Selanjutnya dilakukan penghitungan standar deviasi blok 10x10 piksel, pada bagian
yang terdapat teks dan bagian lain yang tidak ada teks pada citra. Didapatkan hasil sebagai
berikut :
Pada bagian tanpa teks bernilai 0,821 dan pada bagian dengan teks bernilai 49,1353.
Kemudian pada bagian adapt thresh dimodifikasi dengan fungsi sebagai berikut :
function y = adapt_thresh(x)
if std2(x) < 1
y = ones(size(x,1),size(x,2))
else
end
Sehingga dihasilkan citra threshold sebagai berikut :
Dari gambar diatas dapat diamati hasil adaptif thresholding yang dapat memisahkan
antara tulisan dan background secara jelas. Backgroun berubah menjadi putih seluruhnya
dan teks berwarna hitam keseluruhan.
1. Pada operasi global thresholding citra yang dihasilkan berupa gambar hitam putih
tetapi untuk intensitas hitam dan putih yang dihasilkan hanya dirata-rata atau citra
yang agak gelap dideteksi sebagai hitam sehingga tidak terlalu dapat membedakan
citra gray. Pada operasi blok, citra yang dihasilkan dapat membedakan intensitas
gambar original sehingga gambar lebih dapat dibaca tulisannya.
2. Bagaimana fungsi yang dibuat dalam memberikan label suatu blok piksel pada
background?
Pada fungsi yang pertama menggunakan graythresh sebagai operasi blok yang
dijalankan.
Pada fungsi yang kedua menggunakan fungsi dengan maksud jika ukuran dari suatu
nilai keabuan ukurannya <1 maka akan dilakukan operasi y = ones(size(x,1),size(x,2)),
sedangkan jika nilainya tidak memenuhi maka akan dilakukan operasi graythresh.
3. Bagaimana hasil fungsi baru dibandingkan dengan fungsi yang lama?
Dari citra yang dihasilkan sebagai berikut dapat diamati:
Dari fungsi diatas dapat diketahui, jika nilai standar deviasi dari elemen matriks
lebih kecil dari 1 maka operasi yang dilakukan adalah y = ones(size(x,1),size(x,2)).
Jika tidak memenuhi maka dilakukan operasi graythresh
y = im2bw(x,graythresh(x));
Percobaan 3
Pada percobaan kali ini mengenai regiongrow, dan menggunakan citra crak.tif
yang memiliki format ‘.tif’. Citra original dan program dapat dilihat dibawah ini.
Citra Original
Kemudian save program kedalam folder MATLAB, selanjutnya load gambar crack.tif
pada command window dengan perintah f=imread(“crack.tif”) . Selanjutnya jalankan
perintah [g, NR, TI]=regiongrowf, 1, 0.26) dan didapatkan beberapa tipe variabel pada
workspace yaitu SI, TI, dan g serta 1 buah variabel NR yang merupakan jumlah region.
Perintah regiongrow akan menghasilkan gambar dengan warna pixel yang telah dipilih atau
seeds yang kemudian akan direpresentasikan daerah gambar dengan pixel seed tersebut
seperti pada gambar X.
Variabel Workspace
Citra SI
Dari gambar tersebut dapat dilihat bahwa gambar crack berwana putih saja yang
ditampilkan karena crack tersebut memiliki nilai 255 sedangkan pixel lain dengan nilai
dibawah itu tidak ditampilkan.
Sedangkan untuk citra TI gambar yang ditampilkan hitam dan putih dengan nilai
tertinggi dan terendah yang memiliki range tertentu. Pada program dapat dilihat bahwa,
range tersebut adalah 65-255. Pixel yang memiliki nilai 6-255 akan ditampilkan sebagai
warna putih dan lainnya dengan warna hitam. Gambar hasil eksekusi dapat dilihat
dibawah ini.
Citra TI
Dari gambar tersebut dapat dilihat bahwa gambar yang berwarna putih
merupakan pixel yang memiliki nilai 65-255. Rentang ini dapat diubah-ubah sesuai
dengan kebutuhan.
2. Jumlah Region NR
NR merupakan jumlah region yang terdeteksi oleh komputer. Sedangkan region
adalah jumlah kumpulan pixel yang ditampilkan berwarna putih, dan terpisah oleh pixel
non-region yang berwarna hitam. Pada program, pendeteksian region dilakukan pada
citra gambar yang merupakan gabungan antara citra SI dan TI dengan variabel nama
“g”. Gambar dapat dilihat dibawah ini.
Citra g
Dari gambar yang akan dipakai, komputer akan meghitung jumlah regionnya.
Dari gambar diatas diperoleh jumlah region yang terdeteksi adalah 10 (NR =10)
VI. KESIMPULAN
1. Hasil yang ditampilkan menggunakan fungsi graytresh lebih jelas dibandingkan
dengan fungsi heuristic pada segmentasi thresholding.
2. Pada operasi global thresholding, citra yang dihasilkan berupa gambar hitam putih
tetapi untuk intensitas hitam dan putih yang dihasilkan hanya dirata-rata atau citra
yang agak gelap dideteksi sebagai hitam sehingga tidak terlalu dapat membedakan
citra gray. Pada operasi blok, citra yang dihasilkan dapat membedakan intensitas
gambar original sehingga tulisan pada gambar lebih dapat terbaca.
3. Citra SI mensegmentasikan gambar berdasarkan satu seed pixel terpilih ( 0 dan 255)
sedangkan citra TI mensegmentasikan gambar berdasarkan rentang nilai seed pixel
yang dipilih (pada percobaan kali ini 65-255).