BAB IV PERANCANGAN DAN
4.6 Implementasi Sistem
4.6.3 Implementasi Tahap Segmentasi Citra
Proses pembuatan Gabor kernel diimplementasikan menjadi sebuah program ke dalam fungsi berikut ini:
Parameter dalam fungsi ini adalah bandwith (frekuensi spasial), aspek rasio spasial, fase offset, panjang gelombang dari faktor kosinus pada kernel filter Gabor, dan orientasi dari filter.
Selanjutnya proses filterisasi diimplementasikan menjadi sebuah program ke dalam fungsi berikut ini:
Pada proses ini dilakukan konvolusi dengan parameter yang diberikan adalah citra retakan yang telah ternormalisasi, filter Gabor yang telah dibuat.
47
Dalam Tugas Akhir ini digunakan 4 filter Gabor dengan orientasi yang berbeda-beda, yaitu 0, 45, 90 dan 135. Sehingga dalam proses ini memanggil fungsi konvolusi sebanyak 4 kali. Masing-masing fungsi menghasilkan sebuah citra retakan terfilter sesuai orientasi yang digunakan.
Variabel ‘img_out_disp1’ menyimpan citra hasil proses pennjumlahan magnitude dari 4 citra retakan terfilter. Proses tersebut menghasilkan sebuah citra yang kemudian dinormalisasi dan disimpan pada variabel ‘image_out_disp’.
b. Konversi ke Citra Biner
Proses konversi ke citra biner dilakukan dengan mengubah citra yang telah terfilter menjadi citra biner menggunakan fungsi berikut:
Pada proses ini dihasilkan citra biner dengan nilai pixel berupa data logical. Karena pada fungsi pertama dihasilkan citra biner dengan objek retakan bernilai 1 (hitam) dan latar belakang (background) bernilai 0 (putih) maka dilakukan proses invers pada citra tersebut.
Sehingga dihasilkan citra biner dengan objek retakan bernilai 0 (putih) dan latar belakang (background) bernilai 1 (hitam).
c. Morfologi Citra
Pada proses ini dilakukan proses morfologi citra pada citra biner yang telah dihasilkan sebelumnya. Proses morfologi citra bertujuan untuk menghilangkan noise dan memperjelas objek retakan pada citra biner.
Fungsi ‘bwareaopen’ digunakan untuk menghilangkan noise yang berukuran kurang dari 20 piksel. Fungsi ‘bwmorph’ dengan jenis operasi ‘bridge’
digunakan untuk menggabungkan piksel retakan yang terpisah oleh celah piksel tunggal.
4.6.4 Implementasi Pemilihan Objek Retakan dan Pengukuran Dimensi Retakan
Langkah awal untuk melakukan pengukuran dimensi retakan adalah melakukan proses labeling. Proses diimplementasikan menjadi sebuah program dalam fungsi berikut ini:
Parameter dalam fungsi labeling adalah citra biner yang telah melalui proses morfologi citra dan jenis konektivitas piksel.
Dalam proses ini memungkinkan masih ditemukan noise yang bukan merupakan objek retakan. Noise tesebut dapat dihilangkan dengan menetapkan nilai threshold tertentu yang membedakan objek retakan dan noise. Proses ini
49
diimplementasikan menjadi sebuah program dalam fungsi berikut:
Fungsi tersebut menghilangkan objek yang memiliki nilai major axis length kurang dari 100 piksel.
Dari fungsi regionprops diperoleh orientasi dari objek retakan, nilai major axis length sebagai panjang retakan, nilai minor axis length sebagai lebar retakan, serta koordinat titik tengah dari retakan. Nilai-nilai tersebut dapat digunakan untuk visualisasi elips pada citra biner retakan.
Source code dari proses visualisasi elips dapat dilihat pada lampiran.
“Halaman ini sengaja dikosongkan.”
51 BAB V
UJI COBA DAN PEMBAHASAN
Pada bab ini berisi hasil uji coba yang dihasilkan oleh implementasi sistem dan pembahasan terhadap hasil uji coba yang dilakukan.
5.1 Pengujian Tahap Akusisi Data
Pengujian tahap akuisisi dilakukan untuk mengetahui bahwa sistem telah mendapatkan citra retakan pada jaln beraspal. Proses dilakukan dengan cara menginputkan file citra retakan jalan ke dalam program yang telah dibuat. Hasil akuisisi citra retakan jalan ditunjukkan pada Gambar 5.1
Gambar 5.1. Citra hasil akuisisi dari tiga jenis retakan yang berbeda. (a) retak longitudinal (b) retak diagonal dan (c)
retak transversal (a)
(c)
(b)
5.2 Pengujian Tahap Preprocessing
Pada tahap ini dilakukan pengujian terhadap proses-proses pengolahan citra. Pengujian bertujuan untuk mengetahui bahwa proses-proses pada tahap preprocessing (pra-pengolahan citra) sudah benar, sehingga data yang didapatkan dari tahap ini dapat menjadi input pada tahap berikutnya. Pada tahap ini terdapat tiga proses yaitu resize, grayscalling, dan normalisasi.
a. Proses Scalling
Proses scalling yaitu proses menyamakan ukuran citra sebelum dilakukan proses selanjutnya. Citra retakan jalan disamakan ukurannya menjadi 160x240. Proses ini dilakukan untuk mempermudah proses-proses selanjutnya.
b. Proses Grayscaling
Proses grayscaling yaitu proses mengubah citra RGB (Red, Green, Blue) yang memiliki tiga kanal warna menjadi citra grayscale yang memiliki satu kanal warna. Proses ini bertujuan untuk mempermudah pengolahan citra pada proses berikutnya.
c. Proses Normalisasi
Proses normalisasi dilakukan untuk mengetahui bahwa sistem telah merubah citra grayscale menjadi citra yang telah dinormalisasi. Dilakukan percobaan menggunakan parameter yang berbeda.
Dilakukan percobaan dengan 𝑀𝑀0= 100 dan 𝑉𝑉0= 100[3].
53
Gambar 5.2. Citra pada tahap preprocessing (a) Citra input dengan ukuran 320x480. (b) Citra hasil scalling dengan ukuran 160x240. (c) Citra grayscale. (d) Citra ternormalisasi 5.3 Pengujian Tahap Segmentasi Citra
Pada tahap ini citra retakan jalan yang telah dinormalisasi kemudian dikonvolusi dengan filter Gabor.
Pada Tugas Akhir ini digunakan empat orientasi berbeda, yaitu 0, 45, 90, dan 135 sehingga dihasilkan empat citra retakan terfilter.
(a) (b)
(c) (d)
(a) (b)
Gambar 5.3. Citra hasil filterisasi dengan orientai berbeda.
(a) Orientasi 0. (b) Orientasi 45. (c) Orientasi 90. (d) Orientasi 135.
Dari keempat citra tersebut dilakukan proses penjumlahan magnitude dan proses normalisasi. Output yang dihasilkan pada proses ini berupa sebuah citra retakan terfilter. Citra retakan yang telah terfilter akan diubah menjadi citra biner.
Gambar 5.4. Proses perubahan citra terfilter menjadi citra biner. (a) Citra terfilter. (b) Citra terfilter yang telah
dikonversi ke citra biner. (c) Citra hasil morfologi.
(c) (d)
(a) (b)
(c)
55
Pada Gambar 5.4.(b) masih terdapat noise pada citra biner yang dihasilkan. Oleh karena itu, dilakukan proses morfologi sehingga dihasilkan citra seperti pada Gambar 5.4(c).
Gambar 5.5. Proses labeling dan seleksi objek retakan. (a) Citra biner hasil morfologi. (b) Citra hasil proses labeling. (c)
Objek retakan terpilih.
Pada jenis retakan yang lain, citra biner yang telah melalui proses morfologi masih memiliki noise. Pada citra biner tersebut terdapat beberapa objek selain retakan seperti pada Gambar 5.5.(a). Proses labeling dilakukan untuk menandai masing-masing objek pada citra biner. Objek-objek yang memiliki nilai major axis length kurang dari threshold akan dihapus atau dihilangkan.
(a) (b)
(c)
Pada Tugas Akhir ini nilai threshold yang digunakan untuk proses seleksi objek adalah 100. Sehingga objek-objek yang memiliki nilai major axis length kurang dari 100 piksel, maka objek tersebut akan dihilangkan. Hasil dari proses seleksi ini ditunjukkan pada Gambar 5.5.(c)
Proses uji coba dilakukan pada 15 data citra retakan dengan nilai parameter 𝜆𝜆 = 2, 3, 4 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ(𝑏𝑏) = 2, 3, 4, 5 sehingga diperoleh hasil seperti pada Gambar 5.6, 5.7 dan 5.8.
Gambar 5.6. (a) Citra biner dan (b) Citra hasil segmentasi dengan nilai 𝜆𝜆 = 2 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ = 2
Gambar 5.7. (a) Citra biner dan (b) Citra hasil segmentasi dengan nilai 𝜆𝜆 = 3 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ = 2
(a) (b)
(a) (b)
57
Gambar 5.8. (a) Citra biner dan (b) Citra hasil segmentasi dengan nilai 𝜆𝜆 = 3 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ = 2
Berdasarkan contoh citra hasil segmentasi, diberikan penilaian pada setiap citra hasil segementasi dengan nilai 𝜆𝜆 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ yang berbeda.
Citra hasil segmentasi pada Gambar 5.6 dinilai benar karena dapat memunculkan citra retakan sesuai dengan citra input. Sedangkan untuk citra hasil segmentasi pada Gambar 5.7 dan Gambar 5.8 dinilai salah karena hanya menampilkan sebagian retakan dan tidak dapat menampilkan retakan sesuai citra input. Proses penilaian dilakukan berdasarkan pengamatan penulis. Nilai benar disimbolkan dengan ‘B’ dan nilai salah disimbolkan dengan ‘S’. Hasil segmentasi dari 15 citra input dengan nilai 𝜆𝜆 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ yang berbeda ditunjukkan pada Tabel 5.1.
Tabel 5.1. Hasil Segmentasi Citra dengan Nilai Parameter Berbeda
6. I096 S B B S S S S S S S S S Data hasil segmentasi pada Tabel 5.1 menunjukkan bahwa nilai parameter yang paling banyak memiliki nilai ‘B’
adalah 𝜆𝜆 = 2 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ(𝑏𝑏) = 3. Sehingga nilai parameter tersebut merupakan nilai yang paling optimal untuk segmentasi citra.
Hasil segmentasi dari 15 citra input menggunakan nilai parameter 𝜆𝜆 = 2 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ(𝑏𝑏) = 3 akan ditunjukkan pada Tabel 5.2.
Tabel 5.2. Hasil Segmentasi dengan Nilai 𝜆𝜆 = 2 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ (𝑏𝑏) = 3.
No. Citra Input Citra Groundtruth Citra Hasil Segmentasi 1.
2.
3.
59
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Beberapa hasil pengujian pada nilai parameter 𝜆𝜆 (panjang gelombang) menunjukkan bahwa besarnya nilai 𝜆𝜆 mempengaruhi proses pengurangan noise. Semakin besar nilai 𝜆𝜆 maka semakin banyak noise yang berkurang. Tetapi pada jenis citra retakan yang tipis semakin besar nilai 𝜆𝜆 maka semakin sedikit bagian dari retakan yang tersegmentasi dengan baik.
Hasil pengujian pada nilai parameter 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ menunjukkan bahwa semakin besar nilai 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ maka citra segmentasi retakan yang didapatkan semakin jelas.
Pada 15 data citra retakan yang diperoleh dari dataset, memungkinkan bahwa citra retakan yang digunakan hanya merupakan sebagian dari retakan sesungguhnya. Sehingga dilakukan proses uji coba pada citra retakan utuh seperti ditunjukkan pada Gambar 5.9
Gambar 5.9. Contoh Hasil Segmentasi pada Citra Retakan Utuh. (a) Citra asli (b) Citra Hasil Segmentasi Area Retakan
(a) (b)
61
5.4 Pengujian Pengukuran Dimensi Retakan
Proses pengujian pengukuran dimensi retakan dilakukan dengan membandingkan pengukuran citra groundtruth dan pengukuran pada citra hasil segmentasi. Proses pengukuran pada citra groundtruth sama dengan proses pengukuran pada citra hasil segmentasi.
Gambar 5.10. Contoh Pengukuran dengan Pendekatan Elips.
(a) dan (c) adalah Citra Asli, (b) dan (d) Citra Area Retakan.
Gambar 5.10. (b) dan (d) menunjukkan bahwa area retakan telah ditandai menggunakan bentuk elips. Kemudian dari area berbentuk elips tersebut akan dihitung nilai major axis length sebagai panjang area retakan dan nilai minor axis length sebagai lebar area retakan.
(a) (b)
(c) (d)
Gambar 5.11. Contoh Pengukuran dengan Pendekatan Elips pada Jenis Retakan Blok. (a) dan (c) adalah Citra Asli, (b)
dan (d) Citra Area Retakan.
Gambar 5.11. (b) dan (d) menunjukkan bahwa bentuk elips tidak menandai seluruh area retakan. Masih terdapat bagian retakan yang tidak termasuk pada bagian elips.
Sehingga, pendekatan bentuk elips hanya sesuai untuk jenis retakan longitudinal, transversal, dan diagonal. Selain itu, pada ketiga jenis retakan tersebut, informasi yang diperlukan adalah panjang retakan, sehingga panjang dari elips dapat mewakili panjang area retakan.
Tingkat akurasi pengukuran pada objek retakan dapat diketahui melalui rata-rata nilai error pada kedua hasil pengukuran. Nilai error dihitung menggunakan persamaan 5.1.
𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑏𝑏𝑏𝑏𝑏𝑏𝑝𝑝𝑝𝑝 𝑝𝑝𝑝𝑝𝑝𝑝𝑒𝑒𝑝𝑝 =|𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑠𝑠𝑢𝑢−𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 ℎ𝑢𝑢𝑎𝑎𝑎𝑎𝑎𝑎𝑢𝑢𝑢𝑢𝑢𝑢|
𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑠𝑠𝑢𝑢 × 100%(5.1)
(a) (b)
(c) (d)
63
Hasil pengukuran panjang area retakan pada citra groundtruth dan citra hasil segmentasi dinyatakan dalam satuan piksel ditunjukkan pada Tabel 5.3.
Tabel 5.3. Hasil Pengukuran Panjang Area Retakan
No. Nama File
Hasil Pengukuran Panjang
Persentase
Berdasarkan data pengukuran panjang area retakan pada Tabel 5.3. diperoleh rata-rata nilai error relatif yaitu sebesar 4,809%. Sehingga diperoleh tingkat keakuratan pengukuran panjang sebesar 95,191%.
Hasil pengukuran lebar area retakan pada citra groundtruth dan citra hasil segmentasi dinyatakan dalam satuan piksel dan ditunjukkan pada Tabel 5.4.
Tabel 5.4. Hasil Pengukuran Lebar Area Retakan
No. Nama File
Hasil Pengukuran Lebar
Persentase
Berdasarkan data pengukuran lebar objek retakan pada Tabel 5.3 diperoleh rata-rata nilai error relatif yaitu sebesar 12,065%. Sehingga diperoleh tingkat keakuratan pengukuran lebar sebesar 87,935%.
65 BAB VI PENUTUP
Bab ini berisi tentang beberapa kesimpulan berdasarkan penelitian yang telah dilaksanakan. Selain itu, pada bab ini juga dimasukkan beberapa saran yang dapat digunakan jika penelitian ini ingin dikembangkan.
6.1 Kesimpulan
Berdasarkan analisis terhadap hasil pengujian program, maka dapat diambil kesimpulan sebagai berikut:
1. Tugas akhir ini berhasil mengimplementasikan pengukuran dimensi retakan pada citra jalan menggunakan filter Gabor. Proses yang dilakukan meliputi tahap preprocessing yang terdiri dari proses scalling, grayscaling, dan proses normalisasi Kemudian dilanjutkan dengan segmentasi citra menggunakan filter Gabor dengan 4 orientasi berbeda. Proses identifikasi objek retakan dilakukan melalui proses seleksi atau pemilihan menggunakan pendekatan elips. Kemudian dilakukan pengukuran dimensi berdasarkan area yang melingkupi objek retakan.
2. Hasil pengujian pada 15 citra retakan menunjukkan bahwa nilai parameter filter Gabor yang dapat menghasilkan citra segmentasi retakan secara keseluruhan adalah 𝜆𝜆 = 2 dan 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏ℎ = 3..
3. Persentase tingkat akurasi pada proses pengukuan dimensi retakan adalah 95,191% pada pengukuran panjang area retakan, dan 87,935% pada pengukuran lebar area retakan.
6.2 Saran
Dengan melihat hasil yang dicapai pada penelitian ini terdapat beberapa hal yang penulis sarankan untuk dikembangkan yaitu:
1. Mengembangkan proses segmentasi pada citra yang memiliki lebih dari satu objek retakan, karena pada penelitian ini digunakan citra dengan satu objek retakan saja.
2. Mengembangkan metode pendekatan lain untuk pemilihan objek dan pengukuran dimensi retakan.
67
DAFTAR PUSTAKA
[1] Mohan, A., Poobal, S. (2017). “Crack Detection using Image Processing: A Critical Review and Analysis”.
Alexandria Engineering Journal
[2] Lukman Al Hakim, M. (2015). “Studi Evaluasi Pelaksanaan Kebijakan Pemeliharaan Jalan di Kota Surabaya”. Kebijakan dan Manajemen Publik, Volume 3, Nomor 1, Januari-April 2015
[3] Khairul Fahmi, M. (2013). “Pendeteksi Cacat pada Selongsong Peluru Berbasis Citra menggunakan Gabor Filter”. Jurnal Sains dan Seni POMITS Vol.2, No.1 [4] Salman, M., Mathavan, S., Kamal, K., Rahman, M.
(2013). ”Pavement crack detection using the gabor filter”. Proceedings of 16th International IEEE Annual Conference on Intelligent Transportation System, Hal.2039-2044.
[5] Riyadi, S., Azra, R. A., Syahputra, R., Hariadi, T. K.
(2014). “Deteksi Retak Permukaan Jalan Raya Berbasis Pengolahan Citra dengan Menggunakan Kombinasi Teknik Thresholding, Median Filter, dan Morphological Closing’. Simposium Nasional Teknologi Terapan
[6] Weisstein, Eric W. "L2-Norm." From MathWorld -- A
Wolfram Web Resource. url :
http://mathworld.wolfram.com/L2-Norm.html. Diakses pada 25 Juni 2018
[7] Kurnianto, Danny. (2013). “Empat Tipe Dasar Citra Digital”. url : https://catatanpeneliti.wordpress.com diakses pada 23 Mei 2018
[8] Gonzales, R.C. dan Woods, Richard E.(2002). “Digital Image Processing”. New Jersey. Prentice Hall
[9] Subirats, P., et al. (2006). “Automation of Pavement Surface Crack Detection using the Continuous Wavelet Transform”. IEEE International Conference on.
Oct. 2006: Atlanta, GA
[10] Ouma, Y. O., Hahn, M. (2016). “Wavelet-morphology Based Detection of incipient linear cracks in asphalt-pavements from RGB camera imagery and classification using circular Random Transform”.
Advance Engineering Informatics 30 (2016), Hal.481-499.
[11] Shi, Y., Cui, L., Qi, Zhiquan, Meng, F., dan Chen, Z.
(2016). “Automatic Road Crack Detection using Random Structured Forest”. IEEE Transactions on Intelligent Transportation Systems Vol. 17, No. 12, Hal.3434-3445.
[12] Shi, Y., Cui, L., Qi, Zhiquan, Meng, F., dan Chen, Z.
(2015). “Pavement Distress Detection using Random Decision Forest”. International Conference on Data Science, Hal.3434-3445.
[13] Daugman, J.G. (1985). “Uncertainty relations for resolution in space, spatial frequency, and orientation optimized by two-dimensional visual cortical filters”.
Journal of the Optical Society of America A, Vol. 2, Hal. 1160-1169.
[14] Petkov, N. (1995). “Biologically motivated computationally intensive approaches to image pattern recognition”. Future Generation Computer Systems, Vol. 11, No.4-5, Hal.451-465.
69
[15] Petkov, N. dan Kruizinga, P. (1997). “Computational models of visual neurons specialised in the detection of periodic and aperiodic oriented visual stimuli: bar and grating cells”. Biological Cybernetics, Vol. 76, No. 2, Hal. 83-96.
[16] Kruizinga, P. dan Petkov, N. (1999). “Non-linear operator for oriented texture”. IEEE Trans. on Image Processing, Vol. 8, No. 10, Hal.1395-1407.
[17] Grigorescu, S.E., Petkov, N. dan Kruizinga, P. (2002).
“Comparison of texture features based on Gabor filters”. IEEE Trans. on Image Processing, Vol. 11, No.10, Hal.1160-1167.
[18] Petkov, N. dan Westenberg, M. A. (2003).
“Suppression of contour perception by band-limited noise and its relation to non-classical receptive field inhibition”. Biological Cybernetics, Vol. 88, Hal.236-246.
[19] Grigorescu, C., Petkov, N. dan Westenberg, M. A.
(2003). “Contour detection based on nonclassical receptive field inhibition” IEEE Trans. on Image Processing, Vol. 12, No. 7, Hal.729-739.
[20] Bang Yeon, L., Jin-Keun, K., Yun Yong, K., Seong-Tae, Y. (2007). “A Technique based on Image Processing for Measuring Cracks in the Surface of Concrete Structure”. SMiRT 19, Toronto
[21] Tikhe, C. dan Chitode, J.S. (2014). “Metal Surface Inspection for Defect Detection and Clasification using Gabor Filter”. International Journal of Inovative Research in Science, Engineering and Technology, Vol. 3, Issue 6.
[22] Doo-chul, C., Yong-Ju, J. Jong Pil, Y, Sung Wook, Y.
dan Sang Woo, K. (2012). “An Algorithm for Detecting Seam Cracks in Steel Plates”. International Journal of Industrial and Manufacturing Engineering, Vol. 6, No. 12.
71 LAMPIRAN
1. Kode Program Akuisisi Data global data
2. Kode Program Preprocessing
if (size(data,1) > size(data,2))
data = imresize(data, [240 160]);
else data = imresize(data, [160 240]);
end
image_in = rgb2gray(data);
nor = normalisasi(image_in);
3. Kode Program Fungsi Normalisasi function [ nor ] = normalisasi( I )
LAMPIRAN (LANJUTAN)
4. Kode Program Pembentukan Filter Gabor
function [ gb ] = gabor_fn( bw, gamma, psi,
73
LAMPIRAN (LANJUTAN)
5. Kode Program Proses Filterisasi
lambda = get(handles.edit_lambda, 'string');
lambda = str2num(lambda); channels, it's gray anyway
img_out = zeros(size(img_in,1), size(img_in,2), N);
img_out_disp1 = sum(abs(img_out).^2, 3).^0.5;
% default superposition method, L2-norm img_out_disp =
img_out_disp1./max(img_out_disp1(:));
% normalize
LAMPIRAN (LANJUTAN)
6. Kode Program Proses Morfologi Citra dan Pemilihan Objek Retakan
BW2 = im2bw(img_out_disp);
invert = ~BW2;
invert = bwareaopen(invert, 20);
invert = bwmorph(invert, 'bridge');
[L, num] = bwlabel(invert, 8);
s = regionprops(L,'Area','Orientation', 'MajorAxisLength', ...
'MinorAxisLength', 'Eccentricity', 'Centroid');
removed = 0;
%Remove the noisy regions for i = 1:num
7. Kode Program Pengukuran dan Visualisasi Elips pada Area Retakan
[L, num] = bwlabel(L, 8);
s = regionprops(L,'Area', 'Orientation', 'MajorAxisLength', ...
'MinorAxisLength', 'Eccentricity', 'Centroid');
imshow(L) hold on
phi = linspace(0,2*pi,50);
75
LAMPIRAN (LANJUTAN)
cosphi = cos(phi);
sinphi = sin(phi);
for k = 1:length(s)
xbar = s(k).Centroid(1);
ybar = s(k).Centroid(2);
a = s(k).MajorAxisLength/2;
b = s(k).MinorAxisLength/2;
theta = pi*s(k).Orientation/180;
R = [ cos(theta) sin(theta) -sin(theta) cos(theta)];
xy = [a*cosphi; b*sinphi];
xy = R*xy;
x = xy(1,:) + xbar;
y = xy(2,:) + ybar;
plot(x,y,'r','LineWidth',2);
end hold off
LAMPIRAN (LANJUTAN)
8. Data Citra Retakan dan Citra Groundtruth No. Nama
File Citra Asli Citra Groundtruth 1. I018
2. I030
3. I069
4. I094
77
5. I095
6. I096
7. I098
8. I107
9. I121
10. I129
11. I132
12. I134
13. I137
79
14. I146
15. I148
“Halaman ini sengaja dikosongkan.”
81
BIODATA PENULIS
Penulis memiliki nama lengkap Juli Nur Anita dan dilahirkan di Kediri, 29 Juli 1996 dari pasangan Saepan dan Srikanah. Penulis merupakan anak pertama dari dua bersaudara. Penulis bertempat tinggal di Desa Tawangsari Barat, Kec. Taman, Kab. Sidoarjo.
Penulis telah menempuh pendidikan formal mulai dari TK Dharma Wanita Persatuan Tawangsari, SDN Tawangsari II, SMPN 1 Taman, dan SMAN 1 Taman. Setelah lulus dari SMA/MA, penulis melanjutkan studinya di S1 Departemen Matematika FMKSD ITS Surabaya tahun 2014. Selama perkuliahan penulis aktif mengikuti kegiatan organisasi di KM ITS, khusunya di Departemen Matematika ITS dan BEM FMIPA ITS. Penulis pernah menjadi Staff Departemen Pengembangan Sumber Daya Mahasiswa HIMATIKA ITS 2015/2016 dan menjadi Sekretaris Departemen Student Resource Development HIMATIKA ITS 2016/2017. Penulis juga pernah menjadi Staff Departemen Pengembangan Sumber Daya Mahasiswa BEM FMIPA ITS 2015/2016 dan menjadi Kepala Divisi Pelatihan Departemen Pengembangan Sumber Daya Mahasiswa BEM FMIPA ITS 2016/2017. Segala saran dan kritik yang membangun untuk Tugas Akhir ini serta bagi yang ingin berdiskusi lebih lanjut dengan penulis dapat menghubungi via email dengan alamat [email protected].
“Halaman ini sengaja dikosongkan.”