peningkatan kualitas citra dan deteksi tepi · pengolahan dasar citra biomedical, peningkatan...
TRANSCRIPT
0
20
40
60
80
100
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
East
West
North
MODUL PEMBELAJARAN
PENINGKATAN KUALITAS CITRA DAN
DETEKSI TEPI
Dr.Dwiza Riana, S.Si.,MM.,M.Kom
i
PRAKATA
Berkah limpahan rakhmat dan karunia Allah SWT penulis akhirnya dapat
menyelesaikan penulisan buku ini. Judul dari buku ini adalah:
PENINGKATAN KUALITAS CITRA DAN DETEKSI TEPI
Pemilihan topik pengolahan citra biomedik pada buku ini dengan harapan dapat
memberikan gambaran tentang pengolahan citra biomedik terutama berkaitan dengan
pengolahan dasar citra biomedical, peningkatan kualitas citra, deteksi tepi, pengolahan
citra biomedika image reconstruction “phantom” dengan menggunakan matlab,
kompresi citra, analisa tekstur dan ekstraksi ciri, pengenalan pola, dan pengolahan citra
kompleks. Sebagai bahan penulisan diambil berdasarkan hasil-hasil penelitian dan
ekperimen yang dilakukan penulis serta studi literatur tentang penelitian-penelitian citra
biomedik dari jurnal-jurnal bereputasi.
Penulis menyadari bahwa tanpa kesempatan, bimbingan dan dorongan dari
semua pihak, maka penulisan buku ini tidak akan terlaksana dengan baik. Untuk itu
pada kesempatan ini, izinkanlah penulis menyampaikan ucapan terima kasih kepada
semua pihak yang telah secara sukarela turut megambil bagian hingga dapat
diselesaikannya tulisan ini.
Akhirnya penulis menyadari bahwa penulisan buku ini masih terdapat
kekurangan, untuk itu penulis mohon maaf. Semoga apa yang disajikan dalam buku ini
dapat bermanfaat.
Jakarta, 5 Juni 2017
Penulis
ii
DAFTAR ISI
DAFTAR ISI ......................................................................................... ii
DAFTAR GAMBAR ............................................................................. iii
PENINGKATAN KUALITAS CITRA ................................................ 1
1. Operasi Titik ........................................................................................ 2
2. Intensity Adjustment ............................................................................ 3
2.1 Histogram Equalization................................................................ 4
2.2 Thresholding .................................................................................
3. Operasi Spasial .................................................................................... 9
3.1 Neighborhood Averaging ............................................................. 9
3.2 Median Filtering ........................................................................... 11
3.3 High-Pass Filtering .................................................................... .. 13
4. Operasi Transformasi .......................................................................... 15
5. Pseudocoloring Dan False Coloring .................................................. 17
5.1 Intensity Slicing (Density Slicing) Dan Color Coding ................. 18
5.2 Gray-Level To Color Transformation .......................................... 19
DETEKSI TEPI ..................................................................................... 24
2.1 Sejarah Awal Pengolahan Citra Biomedical Cervical Cancer ..... 24
2.2 Area Penggunaan Citra................................................................ 25
2.3 Cara Pengambilan Citra ............................................................... 25
2.4 Deteksi Tepi (Edge Detection) ..................................................... 27
2.5 Operator Sobel ............................................................................ 30
2.6 Operator Isotropic ........................................................................ 31
2.7 Operator Compass ........................................................................ 33
2.8 Operator Gradien ......................................................................... 35
2.9 Operator Prewitt ........................................................................... 37
2.10 Operator Roberts .......................................................................... 41
2.11 Hasil Perbandingan Dari 6 Tepi Operator Deteksi Tepi .............. 41
DAFTAR PUSTAKA ............................................................................ 58
iii
DAFTAR GAMBAR
Gambar 1.1 Citra Hasil Histogram .......................................................................................2
Gambar 1.2. Citra Intensity Adjustment ...............................................................................3
Gambar 1.3. Intensity Adjustment Pada Citra Bakteri Tbc Dan Sel Kanker
Serviks 4
Gambar 1.4. Perataan Histogram Pada Citra Grayscale .................................................7
Gambar 1.5. Thresholding Pada Citra Bakteri Tbc Dan Sel Kanker Serviks ...........8
Gambar 1.6. Low-Pass Filtering Pada Citra Grayscale ..................................................9
Gambar 1.7. Neighborhood Pada Citra Yang Terkontaminasi Noise .........................11
Gambar 1.8. Median Filtering Pada Citra Terkontaminaasi Noise Salt & Pepper …. 12
Gambar 1.9. High-Pass Filtering Pada Citra Grayscale .................................................15
Gambar 1.10. Ideal, Butterworth Dan Gaussian Filter .......................................................15
Gambar 1.11. Fast Fourier Transform Pada Citra Grayscale ..........................................17
Gambar 1.12. Hasil Operasi Titik .............................................................................................20
Gambar 1.13. Hasil Operasi Spasial ........................................................................................21
Gambar 1.14. Hasil Operasi Transformasi .............................................................................23
Gambar 2.1. Pengambilan Citra Dengan Ultrasonografi ................................................26
Gambar 2.2. Hasil Mri Algoritma Segmentasi ...................................................................26
Gambar 2.3. Proses Deteksi Tepi Citra Digital ..................................................................28
Gambar 2.4. Hasil Deteksi Tepi Citra Ferrules Serat Optic ...........................................28
Gambar 2.5. Hasil Deteksi Tepi Dengan Operator Canny .............................................28
Gambar 2.6. Citra Asli Cameraman.Tif ...............................................................................29
Gambar 2.7. Citra Asli Biomedical Servical Cancer Normal Columnar ...................29
Gambar 2.8. Percobaan Operator Sobel Citra Cameraman ............................................31
Gambar 2.9. Percobaan Operator Sobel Citra Cervical Cancer ...................................31
Gambar 2.10. Percobaan Operator Isotropic Citra Cameraman ......................................33
Gambar 2.11. Percobaan Operator Isotropic Citra Cervical Cancer ..............................33
Gambar 2.12. Percobaan Operator Compass Citra Cameraman ......................................35
Gambar 2.13. Percobaan Operator Compass Citra Cervical Cancer .............................35
Gambar 2.14. Percobaan Operator Gradien Citra Cameraman ........................................36
Gambar 2.15. Percobaan Operator Gradien Citra Cervical Cancer ...............................37
Gambar 2.16. Percobaan Operator Compass Citra Cameraman ......................................38
Gambar 2.17. Percobaan Operator Prewitt Citra Cervical Cancer .................................38
Gambar 2.18. Percobaan Operator Compass Citra Cameraman ......................................40
Gambar 2.19. Percobaan Operator Roberts Citra Cervical Cancer ................................40
iv
Gambar 2.20. Hasil Deteksi Tepi Operator Sobel ................................................................41
Gambar 2.21. Hasil Deteksi Tepi Operator Sobel ................................................................42
Gambar 2.22. Hasil Pengolahan Citra Dengan Kernel Sobel ...........................................53
Gambar 2.23 Hasil Pengolahan Citra Dengan Kernel Isotropic ....................................53
Gambar 2.24. Hasil Pengolahan Citra Dengan Kernel Compass ....................................54
Gambar 2.25. Hasil Edge Detector Dengan Kernel Sobel .................................................54
Gambar 2.26. Hasil Edge Detector Dengan Kernel Isotropic ...........................................55
Gambar 2.27. Hasil Edge Detector Dengan Kernel Compass ..........................................55
Gambar 2.28. Listing Program Sensitivitas Edge Detector ...............................................56
Gambar 2.29. Hasil Sensitivitas Edge Detector Terhadap Noise ....................................56
Gambar 2.30. Listing Program Sensitivitas Edge Detector Terhadap Noise ...............57
Gambar 2.31. Hasil Sensitivitas Edge Detector Terhadap Noise ....................................57
Gambar 2.32. Listing Program Sensitivitas Edge Detector Terhadap Noise ...............57
Gambar 2.33. Hasil Sensitivitas Edge Detector Terhadap Noise ....................................57
1
PENINGKATAN KUALITAS CITRA
Analisis gambar merupakan istilah luas yang mencakup berbagai teknik yang
melibatkan pengolahan citra menjadi komponen fundamental untuk mengekstrak data
statistik. Analisis gambar dapat mencakup tugas seperti menemukan bentuk, mendeteksi
tepi, menghilangkan suara, menghitung benda, dan mengukur luas dan sifat gambar
suatu objek. Salah satu teknik pengolahan gambar untuk analisis citra yaitu image
enhancement. Image enhancement adalah proses penyesuaian gambar digital sehingga
hasilnya lebih sesuai untuk tampilan atau analisis citra lebih lanjut.
Tujuan utama dari image enhancement adalah untuk memodifikasi atribut pada
gambar untuk membuat menjadi lebih sesuai untuk tugas tertentu dan pengamatan
tertentu.
Teknik image enhancement digunakan untuk meningkatkan kualitas suatu citra
digital, baik dalam tujuan untuk menonjolkan suatu ciri tertentu dalam citra tersebut,
maupun untuk memperbaiki aspek tampilan. Proses ini biasanya didasarkan pada
prosedur yang bersifat eksperimental, subjektif, dan amat bergantung pada tujuan yang
hendak dicapai.
Berdasarkan proses yang dilakukan, operasi image enhancement dapat digolongkan
dalam empat kelompok besar, yaitu:
Operasi titik
Beberapa teknik yang merupakan anggota kelompok ini adalah contrast
stretching, brightening, darkening, dan thresholding.
Operasi spasial
Operasi spasial (spatial operation) meliputi beberapa teknik seperti neighborhood
averaging, median filtering, serta berbagai macam filter spasial lainnya baik yang
bersifat low-pass filter, band-pass filter, maupun high-pass filter.
Operasi transformasi
Dengan mekanisme operasi transformasi (transform operation), proses
enhancement dikerjakan pada citra yang telah terlebih dahulu mengalami
transformasi.
Pseudocoloring dan False coloring
2
Pseudocoloring dan false coloring merupakan upaya memperbaiki aspek artistik
citra sehingga lebih mudah diinterpretasi. Hal ini dilakukan dengan cara
menambahkan warna (palsu) pada citra sehingga daerah-daerah tertentu dapat
dilihat dengan lebih jelas.
Pembahasan modul ini meliputi operasi titik, operasi spasial, dan operasi transformasi.
Masing-masing teknik akan dijelaskan secara ringkas, dengan dilengkapi oleh contoh
prosedur yang dapat dicoba.
1. Operasi Titik
Operasi titik dalam image enhancement dilakukan dengan memodifikasi
histogram citra masukan agar sesuai dengan karakteristik yang diharapkan.
Histogram dari suatu citra adalah grafik yang menunjukkan distribusi
frekuensi dari nilai intensitas piksel dalam citra tersebut.
Contoh perintah untuk menampilkan histogram adalah:
I=imread('rice.tif');
img=rgb2gray(I);cccc
figure,imshow(img);
figure,imhist(img);
(b) Histogram citra bakteri TBC
(a) Citra Bakteri TBC
(c) Citra Sel Kanker serviks
(d) Histogram citra sel kanker serviks
Gambar 1.1 Citra Hasil Histogram
3
Gambar (b) menunjukkan hasil histogram dari citra bakteri TBC. Sehingga dapat
disimpulkan bahwa histogram adalah tampilan grafis dari tabulasi frekuensi yang
digambarkan dengan grafis batangan sebagai manifestasi data binning.
Beberapa teknik image enhancement melalui operasi titik antara lain adalah
intensity adjustment (termasuk brightening dan darkening), histogram equalization,
dan thresholding.
2. Intensity Adjustment
Intensity adjustment bekerja dengan cara melakukan pemetaan linear terhadap
nilai intensitas pada histogram awal menjadi nilai intensitas pada histogram yang baru.
Perintah umum untuk melakukan pemetaan linear tersebut adalah:
J = imadjust(I,[low_in,high_in),[low_out,high_out])
dimana :
low_in merupakan nilai intensitas yang akan dipetakan sebagai low_out
high_in merupakan nilai intensitas yang akan dipetakan sebagai high_out
Contoh:
Citra rice.tif di bawah ini memiliki nilai kekontrasan yang rendah. Berdasarkan
histogramnya, dapat diketahui bahwa citra ini tidak memiliki piksel dengan
intensitas di bawah 40 dan di atas 225. Untuk memperbaikinya, kita dapat
memetakan histogram secara linear sehingga diperoleh sebuah citra baru yang
memiliki rentang histogram antara 0 hingga 255.
Gambar 1.2. Citra intensity adjustment
Perintah untuk melakukan intensity adjustment: I=imread('cell_ 1.jpg');
img=rgb2gray(I);
J=imadjust(img,[0.15 0.9],[0 1]);
figure,imshow(img);
figure,imhist(img);
figure,imshow(J);
figure,imhist(J);
Hasil yang diperoleh ditunjukkan pada Gambar 2.3 :
4
(a) Citra Bakteri TBC (b) Histogram citra Bakteri TBC
(d) Histogram hasil inetnsity (c) Citra hasil intensity adjustment
adjustment
(e) Citra Sel Kanker Serviks (f) Histogram Sel Kanker Serviks
(g) Citra hasil intensity adjustment
(h) Histogram hasil intensity adjustment
Gambar 1.3. Intensity Adjustment pada Citra Bakteri TBC dan Sel Kanker
Serviks Setelah dilakukan itensity adjustment pada citra bakteri TBC, dapat diketahui
bahwa kontras citra semakin meningkat atau semakin tajam. Peningkatan atau
penurunan kontras tergantung pada nilai intensitas yang digunakan.
2.1. Histogram Equalization
Histogram citra menunjukkan pada histogram dari nilai intensitas pixel.
Histogram menampilkan banyaknya piksel dalam suatu citra yang dikelompokkan
berdasarkan level nilai intensitas piksel yang berbeda. Pada citra grayscale 8 bit,
5
terdapat 256 level nilai intensitas yang berbeda maka pada histogram akan ditampilkan
secara grafik distribusi dari masing-masing 256 level nilai piksel tersebut.
Histogram didefinisikan sebagai probabilitas statistik distribusi setiap tingkat abu-
abu dalam gambar digital. Persamaan histogram (HE) adalah teknik yang sangat populer
untuk peningkatan kontras gambar. Konsep dasar dari histogram equalization adalah
dengan men-strecth histogram, sehingga perbedaan piksel menjadi lebih besar atau
dengan kata lain informasi menjadi lebih kuat sehingga mata dapat menangkap
informasi yang disampaikan.
Citra kontras ditentukan oleh rentang dinamis, yang didefinisikan sebagai
perbandingan antara bagian paling terang dan paling gelap intensitas piksel. Histogram
memberikan informasi untuk kontras dan intensitas keseluruhan distribusi dari suatu
gambar. Misalkan gambar input f (x, y) terdiri dari tingkat abu-abu diskrit dalam kisaran
dinamis [0, L-1] maka fungsi transformasi C (rk).
Persamaan histogram atau lebih dikenal dengan “Histogram equalization”
digunakan untuk memperlebar range tingkat keabuan, sehingga akan meningkatkan
kekontrasan citra.
Memiliki persamaan transformasi seperti berikut:
untuk k=0,1,2,…,L-1
Metode pemrosesan histogram yang sudah dibahas, yaitu “histogram equalization”
bersifat global, karena piksel-piksel dimodifikasi menggunakan fungsi transformasi
berbasis pada intensitas seluruh piksel pada citra. Seringkali diperlukan perbaikan pada
suatu daerah yang kecil pada di dalam citra.
Teknik “histogram equalization” bisa diterapkan untuk perbaikan lokal. Caranya,
definisikan daerah ketetanggaan (neighborhood), dan pindahkan pusat neighborhood
piksel demi piksel pada keseluruhan citra. Pada setiap lokasi piksel, histogram dari
piksel-piksel dalam neighborhood dihitung. Selanjutnya dispesifikasikan fungsi
transformasi “histogram equalization” dan fungsi ini digunakan untuk memetakan
6
intensitas piksel pada pusat neighborhood. Ulangi langkah tersebut pada seluruh piksel
dalam citra.
Teknik histogram equalization bertujuan untuk menghasilkan suatu citra keluaran
yang memiliki nilai histogram yang relatif sama. Contoh perintah untuk melakukan
histogram equalization:
I=imread('cell_1.jpg');
img=rgb2gray(I);
J=histeq(img); figure,imshow(img);
figure,imhist(img); figure,imshow(J);
figure,imhist(J);
Hasil yang diperoleh ditunjukkan pada Gambar 1.4 :
(a) Citra Bakteri TBC (b) Histogram Citra Bakteri TBC
(c) Citra hasil perataan (d) Histogram hasil perataan
(e) Citra Sel Kanker Serviks (f) Histogram Sel Kanker Serviks
7
(g) Citra hasil perataan (h) Histogram hasil perataan
Gambar 1.4. Perataan histogram pada citra grayscale
Gambar di atas menunjukkan bahwa citra hasil histogram equalization memiliki
warna lebih kontras dan tingkat keabuannya hampir sama. Hal tersebut dapat dilihat
dari gambar (d) dan (h) yang menunjukkan bahwa nilai intensitas citra besarnya
hampir sama, tidak ada yang terlalu rendah dan tidak ada yang terlalu tinggi.
2.2. Thresholding
Thresholding merupakan proses pemisahan piksel-piksel berdasarkan derajat
keabuan yang dimilikinya. Piksel yang memiliki derajat keabuan lebih kecil dari nilai
batas yang ditentukan akan diberikan nilai 0, sementara piksel yang memiliki derajat
keabuan yang lebih besar dari batas akan diubah menjadi bernilai 1 . Aturan umum
untuk tingkat pixel abu-abu adalah sebagai berikut:
Dimana T adalah nilai ambang batas, f(x,y) adalah nilai piksel asli, dan g(x,y) adalah
nilai piksel yang dihasilkan setelah dilakukan thresholding. Contoh perintah untuk
melakukan thresholding:
I=imread('cell_1.jpg');
img=rgb2gray(I);
J=im2bw(I,0.3);
K=im2bw(I,0.6);
figure,imshow(img);
figure,imhist(img);
figure,imshow(J);
figure,imshow(K);
Hasil yang diperoleh ditunjukkan pada Gambar 2.5 :
8
(a) Citra asli (b) Histogram citra asli
(c) Citra hasil thresholding 0.3 (d) Citra hasil thresholding 0.6
(e) Citra Sel Kanker Serviks (f) Histogram Sel Kanker Serviks
(g) Citra hasil thresholding 0.4 (h) Citra hasil thresholding 0.7
Gambar 1.5. Thresholding pada Citra Bakteri TBC dan Sel Kanker Serviks
Citra hasil thresholding menunjukkan derajat keabuan suatu citra. Apabila diberikan
nilai 0.3 maka nilai tersebut kurang dari nilai batas, sehingga akan diberikan nilai 0 dan
warna lebih ke putih. Sedangkan apabila diberikan nilai 0.6, citra akan terlihat berwarna
hitam karena nilainya melebihi nilai batas.
9
3. Operasi Spasial
Operasi spasial dalam pengolahan citra digital dilakukan melalui penggunaan
suatu kernel konvolusi 2-dimensi. Beberapa metode image enhancement yang termasuk
dalam keluarga ini adalah neighborhood averaging, median filtering, dan high-pass
filtering.
3.1. Neighborhood Averaging
Pada prinsipnya, filter yang digunakan dalam neighborhood averaging merupakan
salah satu jenis low-pass filter, yang bekerja dengan cara mengganti nilai suatu piksel
pada citra asal dengan nilai rata-rata dari piksel tersebut dan lingkungan tetangganya.
Low pass filter akan menyebabkan citra menjadi lebih halus dan lebih blur. Aturan
kernel untuk low-pass filter adalah:
1. Semua koefisien kernel harus positif
2. Jumlah semua koefisien kernel harus sama dengan 1
Contoh kernel yang dapat digunakan pada low-pass filtering adalah:
Contoh perintah untuk melakukan low-pass filtering adalah:
I=imread('cell_1.jpg'); img=rgb2gray(I); lpf1=[1/16 1/8 1/16;1/8 1/4 1/8;1/16 1/8 1/16]; lpf2=[1/10 1/10 1/10;1/10 1/5 1/10;1/10 1/10
1/10]; lpf3=[1 1 1;1 1 1;1 1 1]/9;
J1=uint8(conv2(double(img),lpf1,'same')); J2=uint8(conv2(double(img),lpf2,'same'));
J3=uint8(conv2(double(img),lpf3,'same')); figure,imshow(img);
figure,imshow(J1);
figure,imshow(J2);
figure,imshow(J3);
Hasil yang diperoleh ditunjukkan pada Gambar 1.6.
(a) Citra asli (b) Citra hasil filtering kernel 1
10
(c) Citra hasil filtering kernel 2 (d) Citra hasil filtering kernel 3
(e) Citra asli (f) Citra hasil filtering kernel 1
(g) Citra hasil filtering kernel 2 (h) Citra hasil filtering kernel 3
Gambar 2.6. Low-pass filtering pada citra grayscale
Gambar hasil filtering lebih terlihat lebih halus dan lebih blur. Halus dan blurnya suatu
citra hasil filtering tergantung pada nilai yang diberikan pada kernel.
Salah satu persoalan pada penggunaan neighborhood averaging adalah apabila citra
masukan telah terkontaminasi noise, sebagaimana diperlihatkan oleh contoh berikut:
I=imread('cell_1.jpg');
img=rgb2gray(I);
IN=imnoise(img,'salt & pepper',0.02);
kernel=[1 1 1;1 1 1;1 1 1]/9;
J=uint8(conv2(img,kernel,'same'));
JN=uint8(conv2(IN,kernel,'same'));
figure,imshow(img);
figure,imshow(J);
figure,imshow(IN);
figure,imshow(JN);
11
Hasil yang diperoleh ditunjukkan pada Gambar 1.7.
(a) Citra Asli (b) Citra hasil filtering
(c) Citra noise (d) Citra noise hasil filtering
(e) Citra Asli (f) Citra hasil filtering
(g) Citra noise (h) Citra noise hasil filtering
Gambar 1.7. Neighborhood Pada Citra yang Terkontaminasi Noise
Citra yang terkontaminasi noise apabila dilakukan filtering maka hasil yang diperoleh
kualitasnya kurang baik, karena citra terlihat blur dan terdapat noda sehingga tidak
halus.
12
3.2. Median Filtering
Median filter merupakan salah satu jenis low-pass filter, yang bekerja dengan
mengganti nilai suatu piksel pada citra asal dengan nilai median dari piksel tersebut dan
lingkungan tetangganya. Dibandingkan dengan neighborhood averaging, filter ini lebih
tidak sensitif terhadap perbedaan intensitas yang ekstrim.
Contoh perintah untuk melakukan median filtering terhadap citra yang terkontaminasi
noise adalah:
I=imread('cell_1.jpg'); img=rgb2gray(I);
IN=imnoise(img,'salt & pepper',0.02);
J1=medfilt2(IN,[2 2]);
J2=medfilt2(IN,[6 6]);
figure,imshow(img);
figure,imshow(IN);
figure,imshow(J1);
figure,imshow(J2);
Hasil yang diperoleh ditunjukkan pada Gambar 1.8.
(a) Citra asli (b) Citra terkontaminasi noise
(c) Citra hasil filter
median kernel 2x2
(d) Citra hasil filter
median kernel 6x6
13
(e) Citra asli (f) Citra terkontaminasi noise
(g) Citra hasil filter
median kernel 2x2
(h) Citra hasil filter
median kernel 6x6
Gambar 1.8. Median filtering pada citra terkontaminaasi noise salt & pepper
Gambar (c), (d), (g) dan (h) menunjukkan citra hasil filter median yang
terkontaminasi noise. Semakin besar kernel yang digunakan maka semakin hilang
pula noise pada citra dan citra semakin blur.
3.3. High-pass Filtering
Sebagaimana pada proses pengolahan sinyal satu dimensi, high-pass filter dua
dimensi akan melewatkan komponen citra frekuensi tinggi dan meredam komponen
citra frekuensi rendah.
High pass filter akan menyebabkan tepi objek tampak lebih tajam dibandingkan
sekitarnya.
Aturan kernel untuk high-pass filter adalah:
1. Koefisien kernel boleh positif, negative, atau nol
2. Jumlah semua koefisien kernel adalah 0 atau 1
Contoh kernel yang dapat digunakan pada high-pass filtering adalah
14
Berikut adalah contoh perintah untuk melakukan high-pass filtering:
I=imread('cell_1.jpg');
img=rgb2gray(I);
hpf1=[-1 -1 -1;-1 8 -1;-1 -1 -1]; hpf2=[ 0 -1 0;-1 5 -1; 0 -1 0];
hpf3=[ 1 -2 1;-2 5 -2; 1 -2 1];
J1=uint8(conv2(double(img),hpf1,'same'));
J2=uint8(conv2(double(img),hpf2,'same'));
J3=uint8(conv2(double(img),hpf3,'same'));
figure,imshow(img);
figure,imshow(J1);
figure,imshow(J2);
figure,imshow(J3);
Hasil yang diperoleh ditunjukkan pada Gambar 1.9.
(a) Citra asli (b) Citra hasil filtering kernel (i)
(c) Citra hasil filtering kernel (ii) (d) Citra hasil filtering kernel (iii)
(e) Citra asli (f) Citra hasil filtering kernel (i)
15
(g) Citra hasil filtering kernel (ii) (h) Citra hasil filtering kernel (iii)
Gambar 1.9. High-pass filtering pada citra grayscale
High-pass filtering dipengaruhi oleh besarnya nilai koefisien kernel dan besarnya
jumlah kernel. Apabila jumlah kernel bernilai 1 maka tepi objek sangat tajam seperti
gambar (b) dibandingkan dengan jumlah kernel yang bernilai kurang dari 1, seperti
gambar (c) dan (d).
Terdapat tiga tipe filter yang dapat disimulasikan yaitu i.) Ideal ii.) Butterworth
dan iii.) Gaussian filter. High pass filter digunakan untuk menajamkan citra dengan
menahan komponen frekuensi rendah. Butterworth high pass filter menyediakan transisi
dari penajaman Ideal High Pass filter ke Gaussian high pass filter seperti terlihat pada
gambar dibawah ini.
(a). Citra Asli (b). Ideal High Pass Filter
(c). Butterworth High Pass Filter (d). Gaussian High Pass Filter
Gambar 2.10. Ideal, Butterworth dan Gaussian filter
4. Operasi Transformasi
16
Berbeda dengan beberapa metode yang telah dibahas sebelumnya, proses image
enhancement berbasis transformasi citra dilakukan dengan:
a. mentransformasi citra asal ke dalam domain yang sesuai bagi proses enhancement
b. melakukan proses enhancement pada domain tersebut
c. mengembalikan citra ke dalam domain spasial untuk ditampilkan/diproses lebih
lanjut
Salah satu metode transformasi yang paling populer dalam aplikasi pengolahan citra
digital adalah Fast Fourier Transform (FFT). Transformasi ini memindahkan informasi
citra dari domain spasial ke dalam domain frekuensi, yaitu dengan merepresentasikan
citra spasial sebagai suatu penjumlahan eksponensial kompleks dari beragam frekuensi,
magnituda, dan fasa. Setelah dilakukan proses enhancement dalam domain frekuensi,
informasi citra dikembalikan ke domain spasial.
Contoh perintah untuk melakukan low-pass filtering dan high-pass filtering melalui FFT
adalah:
I=imread('cameraman.tif');
IF=fft2(double(I)); mask_high=double(imread('maskpojok.bmp'));
mask_low=1-mask_high;
IFH=(IF.*mask_high);
IFL=(IF.*mask_low ); hasil_high=abs(ifft2(IFH));
hasil_low=abs(ifft2(IFL)); figure,imagesc(I),colormap gray,colorbar,axis image;
figure,imagesc(log(abs(IF +1)),[0 17]),colormap hot,colorbar,axis image;
figure,imagesc(hasil_high),colormap gray,colorbar,axis image;
figure,imagesc(log(abs(IFH+1)),[0 17]),colormap hot,colorbar,axis image;
figure,imagesc(hasil_low ),colormap gray,colorbar,axis image;
figure,imagesc(log(abs(IFL+1)),[0 17]),colormap hot,colorbar,axis
image;
Hasil yang diperoleh ditunjukkan pada Gambar 1.11.
17
Gambar 2.11. Fast Fourier Transform pada citra grayscale
Pada contoh program tersebut, proses filtering dilakukan melalui masking terhadap
komponen frekuensi yang ditentukan. Agar tercipta karakteristik high-pass filter,
maka komponen frekuensi rendah (koefisien frekuensi yang berada pada bagian
pojok dari citra hasil FFT) di-masking menggunakan nilai 0. Demikian pula
sebaliknya untuk memunculkan sifat low-pass filter, komponen frekuensi tinggi
(koefisien frekuensi yang berada pada bagian tengah dari citra hasil FFT) dibuat
menjadi 0 melalui perkalian dengan mask low-pass.
mask high-pass mask low-pass
5. Pseudocoloring dan False coloring
18
Pseudocolor image processing atau bisa juga disebut false color merupakan suatu
proses pemberian / penentuan warna pada suatu image (image monokrom) berdasarkan
nilai level keabuan. Pseudocolor ini digunakan untuk membedakan proses penentuan
warna image monokrom dari proses yang berhubungan dengan image warna.
Pada dasarnya ini sangat berguna untuk visualisasi dan interpretasi gray-scale
pada sebuah image atau urutan suatu image. Ada 2 metode, yaitu Intensity Slicing
(Density Slicing) dan Color Coding dan Gray-level to Color Transformation
5.1. Intensity Slicing (Density Slicing) dan Color Coding
Density slicing merupakan contoh yang paling sederhana dari pseudocolor. Secara
garis besar, sebuah image nantinya akan di slice atau diiris/ disegmentasikan, kemudian
setiap irisan diberi warna yang berbeda – beda atau diatur brightnessnya yang lebih
spesifik. Agar lebih mudah gambarannya seperti berikut :
Dari gambar di atas nampak bahwa image 3D dilakukan proses slicing (slicing plane)
menjadi 2 irisan, irisan yang berada di atas slicing plane diberi satu warna tertentu dan
irisan yang bawahnya diberi warna lainnya. Metode ini sangat berguna di berbagai
bidang, contohnya :
Meteorologi, mengetahui rata - rata curah hujan di suatu wilayah dengan periode
tertentu. Perbedaan curah hujan di setiap wilayah ditandai dengan warna yang
berbeda – beda, meskipun terkadang hanya tipis perbedaan warnanya.
Kesehatan, picker thyroid phantom (radiation test pattern) akan nampak lebih
jelas regionnya (setelah dilakukan density slicing) dibanding saat masih berupa
image monokrom
Untuk mengetahui beberapa keretakan dan keporosoan suatu besi yang disambung
dengan cara dilas akan jauh lebih mudah jika dilakukan color coding
19
Metode ini memang sederhana tetapi bermanfaat karena membuat visualisasi yang
sangat kuat, khususnya jika banyak image yang terlibat didalamnya.
5.2. Gray-level to Color Transformation
Pada intinya dalam metode ini dilakukan 3 transformasi independen pada gray
level dari input pixel apa saja dan mengkombinasikan ketiga hasil tersebut. Contohnya,
untuk monitor televisi warna membutuhkan input berupa 3 hasil transformasi secara
terpisah (merah, hijau dan biru). Metode ini merupakan generalisasi dari intensity
slicing. Beberapa image grayscale dapat divisualisasikan sebagai image satu warna.
Selain itu, metode ini sangat berguna untuk visualisasi analisa data multiresolusi. Jika
terdapat beberapa image monokrom maka dapat dilakukan pendekatan pseudocolor dan
ada beberapa proses tambahan yang dapat dilakukan, contohnya color balancing atau
image data selection berdasarkan informasi sensor tambahan.
20
TUGAS
1. Operasi Titik
Perintah:
I=imread('rice.tif');
J=imadjust(I,[0.15 0.9],[1 0]);
figure,imshow(I); figure,imhist(I);
figure,imshow(J); figure,imhist(J);
Hasil:
(a) Citra asli
(b) Histogram citra
asli
(c) Citra Intensity
Adjustment
(d) Histogram citra
intensity
adjustment
Gambar 1.12. Hasil operasi titik
Setelah program tersebut dijalankan maka, akan menampilkan gambar dan histogram
seperti gambar 12. Dari gambar di atas dapat disimpulkan bahwa gambar (c) merupakan
citra hasil intensity adjustmen dengan low_in 40 piksel dengan high-in 225 piksel dan
memiliki rentang histogram 0 hingga 255. Karena low_out bernilai 1, maka warna yang
nilainya di bawah batas keabuan maka akan semakin tajam dan sebaliknya. Perubahan
tersebut dapat dilihat dari histogram masing-masing citra.
2. Operasi Spasial
21
Perintah:
I=double(imread('saturn.tif'));
kernel=[1 1 1;1 1 1;1 1 1]/9;
J=conv2(I,kernel,'same');
K=I-J;
figure,imagesc(I),colormap('gray'),colorbar('vert');
figure,imagesc(J),colormap('gray'),colorbar('vert');
figure,imagesc(K),colormap('gray'),colorbar('vert');
Hasil:
(a) Citra I (b) Citra J
(c) Citra K
Gambar 1.13. Hasil Operasi Spasial
Perintah di atas menghasilkan citra (a), (b) dan (c). Citra (a) merupakan citra asli, citra
(b) merupakan citra hasil filtering sehingga warnanya lebih halus dan agak pudar.
Sedangkan citra (c) merupakan citra hasil pengurangan piksel dari citra (a) dan (b)
sehingga didapatkan citra dengan warna gray dan hanya terlihat garis tepinya saja. Hal
tersebut dapat dilihat dari colormap masing-masing citra.
3. Operasi Transformasi
Perintah:
I =imread('segitiga.bmp');
F =fft2(I); IF=fliplr(I);
22
FF=fft2(IF);
IR=rot90 (I);
FR=fft2(IR);
figure,imagesc(I),colormap('gray'),colorbar('vert');
figure,imagesc(log(abs(F ))), colormap('hot'),colorbar('vert');
figure,imagesc(IF),colormap('gray'),colorbar('vert');
figure,imagesc(log(abs(FF))),colormap('hot') ,colorbar('vert');
figure,imagesc(IR),colormap('gray'),colorbar('vert');
figure,imagesc(log(abs(FR))),colormap('hot') ,colorbar('vert');
Hasil:
(a) Citra asli dalam (b) Citra asli dalam
domain spasial domain frekuensi
(c) Citra fliplr dalam (d) Citra fliplr dalam
domain spasial domain frekuansi
(e) Citra Rot90 dalam (f) Citra Rot90 dalam
domain spasial domain frekuensi
23
Gambar 1.14. Hasil Operasi Transformasi
Perintah operasi transformasi di atas menghasilkan citra (a), (c) dan (e) yang merupakan
citra dalam domain spasial. Sedangkan citra (b), (d), dan (f) merupakan citra dalam
domain frekuensi. Citra (a) merupakan citra asli dan menghasilkan citra frekuensi
berupa citra (b). Citra (c) adalah citra asli yang telah dilakukan flip (refleksi) secara
horizontal (pembalikan citra dari kiri ke kanan). Hasil citra dalam domain frekuensi dari
citra (c) hampir sama dengan hasil dari citra asli karena segitia yang digunakan
merupakan segitiga sama kaki. Citra (e) merupakan citra asli yang telah dirotasi 90
derajat. Citra yang dirotasi menghasilkan citra frekuensi yang berbeda dari citra asli
seperti yang terlihat pada citra (f).
4. Studi Kasus
Prosedur Image Emhancement
(a) Citra noise (b) Citra asli
Prosedur atau perintah untuk memperbaiki citra di atas adalah sebagai berikut:
gambar = imread('taz_noise.bmp');
gray = rgb2gray(gambar);
awal = medfilt2(gray);
k = medfilt2(noise); figure, imshow(gray), title('Pelembutan Citra Awal');
figure, imshow(awal), title('Pelembutan Citra Awal');
Citra yang terkontaminasi noise dilakukan pelembutan terlebih dahulu dengan dibuat
grayscale. Kemudian citra yang telah berupa grayscale di lakukan median filtering,
maka citra akan bersih dari noise.
24
BAB 2
DETEKSI TEPI
2.1 Sejarah Awal Pengolahan Citra Biomedical Cervical Cancer
Ilmu kedokteran saat ini berkembang pesat, salah satu bidang ilmu dari
kedokteran adalah biomedik. Ilmu Biomedik adalah cabang ilmu kedokteran yang
menggunakan asas-asas dan pengetahuan dasar ilmu pengetahuan alam (Biologi, Kimia
dan Fisika) untuk menjelaskan fenomena hidup pada tingkat molekul, sel, organ dan
organisme utuh, hubunganya dengan penyakit dan mencarikan serta mengembangkan
bahan yang tepat untuk mencegah, mengobati dan memulihkan kerusakan akibat
penyakit.
Bidang-bidang pengolahan citra pada Biomedik yang banyak digunakan adalah
pencitraan Medik (Tomography): Tomography dapat diartikan sebagai rekonstruksi citra
secara irisan melintang tanpa menggangu obyek yang sedang diukur. Contohnya adalah
Single Photon Emission Computerised Tomography (SPECT), Positron Emission
Tomography (PET), Magnetic Resonance Imaging (MRI) dan Electrical Impedance
Tomography (EIT), Computerised Axial Tomography (CAT).
Pengolahan citra digital mengalami kemajuan penting dalam bidang kedokteran
ketika ditemukannya tomografi terkomputerisasi (Computerized Tomography/ CT) pada
tahun 1970-an dan kini teknologi tomografi tersebut sudah maju sangat pesat.
Pengolahan citra digital dapat digunakan untuk deteksi tumor dan kanker rahim,
identifikasi penyakit paru-paru, identifikasi penyakit hati, identifikasi penyakit tulang,
segmentasi tulang dari otot yang lainnya, klasifikasi gigi dan analisis citra mikroskopis.
Beberapa dari kemajuan pada bidang kedokteran tersebut karena kemampuan
pengolahan citra digital mampu menginterpretasikan sinar x (Putra, 2010:3).
Kanker atau dalam bahasa medis disebut karsinoma merupakan penyakit yang
ditandai oleh pertumbuhan dan perkembangan sel-sel yang tidak terkontrol (Price S. dan
Wilson L, 2005:2).
Kanker serviks merupakan kanker yang banyak menyerang perempuan. Melihat
perkembangan jumlah penderita dan kematian akibat kanker serviks. diperkirakan
bahwa terdapat 493.243 jiwa pertahun penderita kanker serviks baru di dunia dengan
angka kematian sebanyak 273.505 jiwa pertahun (Nur, 2016:1).
25
Diseluruh dunia, penyakit ini merupakan jenis kanker ke dua terbanyak yang
diderita perempuan setelah kanker payudara namun menjadi penyebab pertama
kematian perempuan akibat kanker (Fitria, 2015:2). Sedangkan menurut Binqing
(2016:1) Kanker serviks adalah penyebab utama keempat kematian akibat kanker pada
wanita Dwide menurut World Cancer Report 2014 dari Organisasi Kesehatan Dunia
(WHO).
Jumlah penderita kanker serviks di Indonesia semakin tinggi. Berdasarkan data
World Healt h Organization, sekitar 15.000 kasus kanker serviks ditemukan di
Indonesia setiap tahunnya. Indonesia menjadi negara dengan jumlah tertinggi wanita
dengan kanker serviks di dunia (Yulia, 2016:1).
2.2 Area Penggunaan Citra
Pengolahan citra digital dapat dilakukan berbagai cara diantaranya adalah
representasi dan permodelan citra, peningkatan kualitas citra, restorasi citra, analisis
citra, rekonstruksi citra dan kompresi citra. Pada modul ini, pengolahan citra digital
difokuskan pada teknik peningkatan mutu pada domain spatial khususnya penggunaan
untuk teknik deteksi tepian (Edge Detection).
Teknik peningkatan mutu citra dapat dibagi menjadi dua yaitu Peningkatan mutu
citra pada domain spasial dan Peningkatan mutu citra pada domain frekuensi.
Peningkatan mutu citra pada domain spasial sendiri masih dibagi menjadi dua macam
yaitu point processing dan mask processing. Pada mask processing kita melakukan
operasi terhadap suatu jendela ketetanggaan pada citra. Salah satu contoh dari
peningkatan mutu pada domain spatial menggunakan mask processing adalah edge
detection. Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang
menghasilkan tepi-tepi dari obyek-obyek citra. Deteksi tepi sendiri dimanfaatkan untuk
berbagai keperluan diantanya yang sedang hangat di bahas saat ini adalah penggunaan
deteksi tepi dalam penggunaannya untuk aplikasi pengenalan nomor mobil. Tujuan dari
teknik peningkatan mutu citra adalah untuk melakukan pemrosesan terhadap citra agar
hasilnya mempunyai kwalitas relatif lebih baik dari citra awal untuk aplikasi tertentu.
2.3 Cara Pengambilan Citra
Pengolahan citra digital berarti pengolahan komputer digital menggunakan
algoritma komputer untuk melakukan pemrosesan gambar pada gambar digital
(Khairudin, 2016:1).
26
Gambar 2.1. Pengambilan citra dengan Ultrasonografi
Sumber: M. Khairudin(2016)
Gambar diatas merupakan citra janin usia 20 minggu dengan menggunakan
ultrasonografi (USG). Pengembangan metode diagnosis non-invasif baru menjadi
semakin penting. Diantaranya, teknik pencitraan (ultrasonografi, tomografi komputer,
resonansi magnetik). Ultrasonografi (AS) adalah metode yang paling sering digunakan,
karena aksesibilitas, biaya rendah dan kurangnya efek samping (Han, 2014:2363).
Selain ultrasonografi, pengambilan citra dapat dilakukan dengan Magnetic
Resonance Imaging (MRI) atau magnetic resonance imaging (NMRI) atau magnetic
resonance tomography (MRT) adalah teknik pencitraan medis yang digunakan dalam
radiologi untuk memvisualisasikan struktur internal tubuh secara rinci (Romesh,
2014:2).
Gambar 2.2. Hasil MRI algoritma segmentasi
Sumber: Moslem Taghizadch (2011)
27
2.4 Deteksi Tepi (Edge Detection)
Deteksi tepi adalah alat fundamental yang digunakan pada sebagian besar aplikasi
pengolahan citra untuk mendapatkan informasi dari gambar sebagai langkah awal untuk
menampilkan ekstraksi dan segmentasi objek. Proses ini mendeteksi batas antara objek
dan latar belakang pada gambar dimana kecerahan gambar berubah tajam atau lebih
secara formal memiliki diskontinuitas. Gambar yang mengandung batas-batas ini
dikenal sebagai edge map (Moslem Taghizadch, 2011:1).
Hidayat (2016:66) menyatakan bahwa deteksi tepi adalah operasi yang dijalankan
untuk mendeteksi garis tepi yang membatasi dua wilayah citra homogen yang memiliki
tingkat kecerahan yang berbeda. Tepi atau sisi dari sebuah obyek adalah daerah dimana
terdapat perubahan intensitas warna yang cukup tinggi (Lusiana, 2013:183). Putra
(2010:201) dalam bukunya yang berjudul Pengolahan Citra Digital menjelaskan bahwa
deteksi tepi umumnya adalah langkah awal melakukan segmentasi citra.
Segmentasi citra sebagai bagian dari proses pengolahan citra, adalah kegiatan
untuk membagi citra menjadi beberapa bagian atau region yang bertujuan untuk
mengisolasi atau menemukan suatu obyek di dalam citra. Secara umum segmentasi citra
didasarkan pada satu dari dua property nilai intensitas yaitu mendeteksi diskontinuitas
atau mendeteksi similaritas. (Lusiana, 2013:182).
Hasil dari pendeteksian tepi pada sebuah citra digital sangatlah berpengaruh
terhadap proses pengolahan citra lebih lanjut seperti segmentasi dan analisis citra.
Semakin jelas hasil dari pendeteksian tepi objek-objek (sub-citra) maka semakin baik
pula hasil segementasi dan analisis citra yang akan dilakukan. Pada gambar 1 berikut
dapat dilihat proses yang dilakukan untuk memperoleh tepi gambar dari suatu citra yang
ada (Yunus, 2012:147).
Pada proses pengolahan citra digital seperti segmentasi dan analisis citra digital,
peranan metode-metode pendeteksian tepi citra sangat berperan penting terhadap
keakuratan hasil segmentasi dan analisis citra digital. Terdapat beberapa metode berupa
operator pendeteksian tepi objek yang dikenal, seperti Sobel, Isotropic, Compass,
Canny, Gradien, Laplacian of Gaussian, Prewitt, Roberts dan Selisih Terpusat. Operator
tersebut memiliki kelebihan dan kekurangan dalam melakukan deteksi tepi (Yunus,
2012:146-147).
28
Gambar 2.3. Proses Deteksi Tepi Citra Digital
Gambar 2.4. Hasil Deteksi Tepi citra ferrules serat optic keramik menggunakan
operator sobel Pada gambr diatas, deteksi tepi yang digunakan adalah pengolahan citra ferrules serat
optik keramik. Tidak ada bentuk tepi yang rumit pada gambar ini, hanya mendeteksi
tepi melingkar dari lubang dalam.
Gambar 2.5. Hasil Deteksi Tepi dengan operator Canny
29
Sumber: Hasanuddin(2014)
Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak
melibatkan persepsi visual salah satunya dalam bentuk tekstur, demikian pula dalam
bidang kedokteran sering mengandalkan proses visualisasi yang lebih dikenal dengan
pencitraan medis (medical imaging). Pengolahan citra sering juga digunakan untuk
mendeteksi kanker serviks. Kanker serviks atau kanker leher rahim adalah kanker pada
sistem reproduksi wanita. Pendeteksian kanker serviks dapat dilakukan dengan berbagai
cara, salah satunya adalah deteksi tepi.
Berdasarkan penjelasan diatas, untuk sample citra yang akan digunakan dalam
Edge Detection (Deteksi Tepi) yaitu sample citra biomedical cervical cancer. Berikut
adalah citra cameraman.tif dan biomedical cervical cancer yang dijadikan sample dan
perbandingan pada pembahasan advanced image processing edge detection:
Gambar 2.6. Citra Asli cameraman.tif
30
Gambar 2.7. Citra Asli Biomedical Servical Cancer Normal Columnar
(153956040-153956058-002.bmp)
2.5 Operator Sobel
Sukatmi (2017:1) menyatakan bahwa metode Sobel merupakan pengembangan
metode Robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga.
Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai
fungsi untuk membangkitkan HPF.
Operator Sobel memiliki ukuran kernel sebesar 3x3, yang direpresentasikan
sebagai:
Contoh perintah menggunakan operator Sobel:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Matriks sobel horizontal dan vertical %
sobelhor=[-1 0 1; -2 0 2; -1 0 1];
sobelver=[-1 -2 -1; 0 0 0; 1 2 1];
% Konvolusi dengan operator Sobel %
Ix=conv2(I, sobelhor, 'same');
Iy=conv2(I, sobelver, 'same');
J=sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertical %
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertical %
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertical %
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Berikut adalah hasil dan analisa dari percobaan operator sobel:
31
Gambar 2.8. Percobaan Operator Sobel Citra cameraman.tif sebelum & sesudah proses deteksi
tepi
Gambar 2.9.
Percobaan Operator Sobel Citra Cervical Cancer Normal Columnar (153956040-
153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 3.8 & Gambar 3.9:
Dari kedua gambar diatas ditemukan garis keabu-abuan atau putih yang disebut dengan
garis tepi atau garis batas (Boundary). Garis tepi yang ditemukan berada pada titik
dimana terdapat perbedaan warna yang mencolok pada obyek sehingga obyek terlihat
jelas. Kualitas citra berpengaruh terhadap hasil deteksi tepi yang dihasilkan, semakin
jelas sample citra maka akan semakin jelas pula garis tepi atau boundary citra tersebut.
Pada perbandingan sample citra diatas, kualitas cameraman.tif memberikan hasil deteksi
tepi yang lebih jelas.
2.6 Operator Isotropic
32
Iryanto (2016:84) menyatakan bahwa Model Isotropic banyak digunakan sebagai
model matematis dalam pengolahan citra. Secara umum persamaan ini dapat dituliskan
ke dalam ∂tI (x, y, t) = ∇ · (Ψ(I, x, y, t)∇I (x, y, t))
dengan ∂ merupakan notasi turunan parsial, ∇ = (∂x, ∂y) menyatakan operator divergensi berdimensi-2 dan Ψ menyatakan fungsi difusivitas. Fungsi Ψ dapat berupa konstanta atau fungsi skalar, koordinat, atau tensor yang bergantung pada model yang digunakan. Fungsi I menyatakan citra yang diolah, variabel x, y ∈ R dan t menyatakan ruang pada arah x dan y, dan waktu secara berurutan.
Operator Isotropic memiliki ukuran kernel yang direpresentasikan sebagai:
Contoh perintah menggunakan operator Isotropic:
% Mendefinisikan gambar %
I= imread('cameraman.tif');
% Matriks isotropik horizontal dan vertical %
isohor = [ -1 0 1; -sqrt(2) 0 sqrt(2); -1 0 1];
isover = [ -1 -sqrt(2) -1; 0 0 0; 1 sqrt(2) 1];
% Konvolusi dengan operator isotropik %
Ix = conv2(I,isohor,'same');
Iy = conv2(I,isover,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Berikut adalah hasil dan analisa dari percobaan operator Isotropic:
33
Gambar 2.10. Percobaan Operator Isotropic Citra cameraman.tif sebelum & sesudah proses
deteksi tepi
Gambar 2.11.
Percobaan Operator Isotropic Citra Cervical Cancer Normal Columnar
(153956040-153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 3.10 & Gambar 3.11:
Untuk hasil analisa perbandingan, hasil yang diberikan operator isotropic hamper sama
seperti halnya hasil pada operator sobel,dimana garis tepi yang ditemukan berada pada
titik dimana terdapat perbedaan warna yang mencolok pada obyek sehingga obyek
terlihat jelas. Kualitas citra berpengaruh terhadap hasil deteksi tepi yang dihasilkan,
semakin jelas sample citra maka akan semakin jelas pula garis tepi atau boundary citra
tersebut. Akan tetapi hasil dari operator isotropic memiliki frekuensi tingkat kecerahan
yang lebih rendah dibandingkan operator sobel.
2.7 Operator Compass
Lusiana (2013:183) menyatakan bahwa Deteksi tepi dengan operator kompas
digunakan untuk mendeteksi semua tepi obyek yang ada di dalam citra dari
34
berbagai arah. Operator compass yang dipakai untuk mendeteksi tepi akan menampilkan
tepi dari 8 macam arah mata angin yaitu: timur (east), tenggara (south east), selatan
(south), barat daya (south west), barat (west), barat laut (north west), utara (north), dan
timur laut (north east). Contoh perintah menggunakan operator Compass:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Bentuk Matriks operator compass %
cu = [ 1 1 1; 1 -2 1; -1 -1 -1];
cs = [ -1 -1 -1; 1 -2 1; 1 1 1];
ct = [ -1 1 1; -1 -2 1; -1 1 1];
cb = [ 1 1 -1; 1 -2 -1; 1 1 -1];
% Konvolusi dengan menggunakan matriks compass dengan empat arah mata angin %
% utara %
Iu = conv2(I,cu,'same');
% selatan %
Is = conv2(I,cs,'same');
% timur %
It = conv2(I,ct,'same');
% barat %
Ib = conv2(I,cb,'same');
J = sqrt((Iu.^2)+(Is.^2)+(It.^2)+(Ib.^2));
% Figure1, hasil konvolusi arah mata angina utara %
figure,imagesc(Iu),colormap('gray'),colorbar('vert');
% Figure2, hasil konvolusi arah mata angina selatan %
figure,imagesc(Is),colormap('gray'),colorbar('vert');
% Figure3, hasil konvolusi arah mata angina timur %
figure,imagesc(It),colormap('gray'),colorbar('vert');
% Figure4, hasil konvolusi arah mata angina barat %
figure,imagesc(Ib),colormap('gray'),colorbar('vert');
%--------------writed by: kelompok3--------------
Berikut adalah hasil dan analisa dari percobaan operator Compass:
35
Gambar 2.12. Percobaan Operator Compass Citra cameraman.tif sebelum & sesudah proses
deteksi tepi
Gambar 2.13. Percobaan Operator Compass Citra Cervical Cancer Normal Columnar
(153956040-153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 3.12 & Gambar 3.13:
Dari kedua gambar diatas dihasilkan gambar berwarna abu-abu dengan garis tepi
berwarna hitam sehingga obyek terlihat timbul. pada citra cameraman.tif garis tepi
berwarna hitam ini sangat terlihat jelas beda dengan hasil dari citra cervical cancer
Normal Columnar yang justru terlihat sedikit pudar.
3.8 Operator Gradien
Dalam kasus penghitungan gradien dengan persamaan local intensity variation,
maka kernel Gx dan Gy dapat dirumuskan seperti berikut:
36
Contoh perintah menggunakan operator Gradien:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Bentuk Matriks operator gradient %
gx = [ -1 1];
gy = [ -1;1];
% Konvolusi citra asli ke dalam matriks operator gradient %
Ix = conv2(I,gx,'same');
Iy = conv2(I,gy,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertical %
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertical %
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Berikut adalah hasil dan analisa dari percobaan operator Gradien:
Gambar 2.14.
Percobaan Operator Gradien Citra cameraman.tif sebelum & sesudah proses
deteksi tepi
37
Gambar 2.15. Percobaan Operator Gradien Citra Cervical Cancer Normal Columnar
(153956040-153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 2.14 & Gambar 2.15:
Dari kedua gambar diatas dihasilkan garis tepi putus-putus berwarna putih dengan dasar
warna hitam yang membuat obyek terlihat dengan jelas. Pada citra cameraman.tif garis
tepi berwarna putih ini sangat terlihat jelas beda dengan hasil dari citra cervical cancer
Normal Columnar yang justru terlihat sedikit pudar.
2.9 Operator Prewitt
Operator Prewitt memiliki ukuran kernel sebesar 3x3, yang direpresentasikan
sebagai:
Contoh perintah menggunakan operator prewitt:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Matriks operator Prewitt horizontal dan vertical %
prewitthor = [ -1 0 1; -1 0 1; -1 0 1]; prewittver = [ -
1 -1 -1; 0 0 0; 1 1 1];
% Konvolusi dengan operator Prewitt %
Ix = conv2(I,prewitthor,'same');
Iy = conv2(I,prewittver,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
38
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Berikut adalah hasil dan analisa dari percobaan operator Prewitt:
Gambar 2.16.
Percobaan Operator Compass Citra cameraman.tif sebelum & sesudah proses
deteksi tepi
Gambar 2.17.
Percobaan Operator Prewitt Citra Cervical Cancer Normal Columnar (153956040-
153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 2.16 & Gambar 2.17:
39
Dari kedua gambar diatas dihasilkan garis tepi berwarna putih yang lebih tebal
dibandingkan dengan operator lain yang membuat obyek terlihat dengan jelas. Pada
citra cameraman.tif garis tepi berwarna putih ini sangat terlihat jelas beda dengan hasil
dari citra cervical cancer Normal Columnar yang justru terlihat sedikit pudar.
3.0 Operator Roberts
Metode Roberts adalah nama lain dari teknik differensial pada arah horisontal dan
differensial pada arah vertikal, dengan ditambahkan proses konversi biner setelah
dilakukan differensial. Maksud konversi biner adalah meratakan distribusi warna hitam
dan putih (Wibowo, 2016:151).
Operator Roberts memiliki ukuran kernel sebesar 2x2, yang direpresentasikan
sebagai:
Contoh perintah menggunakan operator Roberts:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Matriks operator Roberts horizontal dan vertical %
robertshor = [0 1; -1 0];
robertsver = [1 0; 0 -1];
% Konvolusi citra asli ke matriks
Ix = conv2(I,robertshor,'same');
Iy = conv2(I,robertsver,'same'); J
= sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertical %
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
40
Berikut adalah hasil dan analisa dari percobaan operator Roberts:
Gambar 2.18.
Percobaan Operator Compass Citra cameraman.tif sebelum & sesudah proses
deteksi tepi
Gambar 2.19. Percobaan Operator Roberts Citra Cervical Cancer Normal Columnar
(153956040-153956058-002.bmp) sebelum & sesudah proses deteksi tepi
Hasil Perbandingan Sample Citra Gambar 3.18 & Gambar 3.19:
Dari kedua gambar diatas dihasilkan garis tepi putus-putus tebal berwarna putih yang
membuat obyek terlihat dengan jelas. Pada citra cameraman.tif garis tepi putus-putus
berwarna putih ini sangat terlihat jelas beda dengan hasil dari citra cervical cancer
Normal Columnar yang justru terlihat sedikit pudar.
41
2.10 Hasil Perbandingan Dari 6 Operator Deteksi Tepi
(a) (b)
(c) (d)
(e) (f)
Gambar 2.20. hasil deteksi tepi operator sobel (a) isotropic (b) compass (c)
gradient (d) prewitt (e) Robert (f)
42
Dari hasil ke 6 operator pendeteksian tepi, dapat disimpulkan bahwa operator yang
menghasilkan deteksi tepi terbaik/jelas adalah operator Sobel, karena menghasilkan
garis tepi atau boundary yang lebih jelas dibandingkan operator-operator lain.
(a) (b)
(c) (d)
(e) (f)
Gambar 2.21 hasil deteksi tepi operator sobel (a) isotropic (b) compass (c) gradient
(d) prewitt (e) Robert (f)
Dari hasil ke 6 operator pendeteksian tepi, dapat disimpulkan bahwa operator yang
menghasilkan deteksi tepi terbaik/jelas adalah operator Sobel, karena menghasilkan
garis tepi atau boundary yang lebih jelas dibandingkan operator-operator lain.
43
Latihan Modul Edge Detection
1. Operator Gradien
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan gradien orde satu:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Bentuk Matriks operator gradient %
gx = [ -1 1];
gy = [ -1;1];
% Konvolusi citra asli ke dalam matriks operator gradient %
Ix = conv2(I,gx,'same');
Iy = conv2(I,gy,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Tabel 3.1. Hasil Deteksi Tepi (Operator Gradien)
HASIL DETEKSI TEPI (OPERATOR GRADIEN)
(a) (b)
44
(c) (d) Hasil Analisa: Gambar asli (a) diubah menjadi warna
abu secara vertikal sehingga menghasilkan gambar
(b), kemudian diperhalus lagi sehingga menghasilkan
gambar (c), dan terakhir menghasilkan gambar seperti
asli namun memiliki deteksi tepi/garis tepi dari obyek
berupa garis berwarna putih (d).
2. Operator Selisih Terpusat
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan operator selisih
terpusat:
% Mendefinisikan gambar %
I = imread('cameraman.tif');
% Matriks operator Selisih terpusat horizontal dan vertical %
d1x = [ -1 0 1];
d1y = [ -1;0;1];
% Konvolusi dengan operator selisih terpusat %
Ix = conv2(I,d1x,'same');
Iy = conv2(I,d1y,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
Tabel 3.2. Hasil Deteksi Tepi (Selisih Terpusat)
HASIL DETEKSI TEPI (SELISIH TERPUSAT)
45
(a) (b)
(c) (d)
Hasil Analisa: Gambar asli (a) diubah menjadi warna
abu secara vertikal sehingga menghasilkan gambar
(b), kemudian diperhalus lagi sehingga menghasilkan
gambar (c), dan terakhir menghasilkan gambar seperti
asli namun memiliki deteksi tepi/garis tepi dari obyek
berupa garis berwarna putih tebal (d).
3. Operator Roberts
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan operator roberts:
% Mendefinisikan gambar I
= imread('cameraman.tif');
% Matriks operator Roberts horizontal dan vertikal
robertshor = [0 1; -1 0];
robertsver = [1 0; 0 -1];
% Konvolusi citra asli ke matriks
Ix = conv2(I,robertshor,'same');
Iy = conv2(I,robertsver,'same');
J = sqrt((Ix.^2)+(Iy.^2));
% Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
% Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
% Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
% Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
84
46
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Tabel 3.3. Hasil Deteksi Tepi (Roberts)
HASIL DETEKSI TEPI (ROBERTS)
(a) (b)
(c) (d) Hasil Analisa: Gambar asli (a) diubah menjadi warna
abu secara vertikal sehingga menghasilkan gambar (b),
kemudian diperhalus lagi sehingga menghasilkan gambar
(c), dan terakhir menghasilkan gambar seperti asli namun
memiliki deteksi tepi/garis tepi dari obyek berupa garis
putus-putus berwarna putih (d).
4. Operator Prewitt
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan operator prewitt:
%Mendefinisikan gambar
I = imread('cameraman.tif');
%Matriks operator Prewitt horizontal dan vertikal
prewitthor = [ -1 0 1; -1 0 1; -1 0 1];
prewittver = [ -1 -1 -1; 0 0 0; 1 1 1];
%Konvolusi dengan operator Prewitt
Ix = conv2(I,prewitthor,'same');
Iy = conv2(I,prewittver,'same');
J = sqrt((Ix.^2)+(Iy.^2));
47
%Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
%Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
%Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
%Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Tabel 3.4. Hasil Deteksi Tepi (Prewitt)
HASIL DETEKSI TEPI (PREWITT)
(a) (b)
(c) (d) Hasil Analisa: Gambar asli (a) diubah menjadi warna
abu secara vertikal sehingga menghasilkan gambar
(b), kemudian diperhalus lagi sehingga menghasilkan
gambar (c), dan terakhir menghasilkan gambar seperti
asli namun memiliki deteksi tepi/garis tepi dari obyek
berupa garis tebal berwarna putih (d).
5. Operator Sobel
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan operator sobel:
%Mendefinisikan gambar
I = imread('cameraman.tif'); %Matriks
sobel horizontal dan vertikal
sobelhor=[-1 0 1; -2 0 2; -1 0 1];
48
sobelver=[-1 -2 -1; 0 0 0; 1 2 1];
%Konvolusi dengan operator Sobel
Ix=conv2(I, sobelhor, 'same');
Iy=conv2(I, sobelver, 'same');
J=sqrt((Ix.^2)+(Iy.^2));
%Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
%Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
%Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
%Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
%--------------writed by: kelompok3--------------%
Tabel 3.5. Hasil Deteksi Tepi (Sobel)
HASIL DETEKSI TEPI (SOBEL)
(a) (b)
49
(c) (d) Hasil Analisa: Gambar asli (a) diubah menjadi warna abu
secara vertikal sehingga menghasilkan gambar (b),
kemudian diperhalus lagi sehingga menghasilkan gambar
(c), dan terakhir menghasilkan gambar seperti asli namun
memiliki deteksi tepi/garis tepi dari obyek berupa garis
berwarna putih (d).
6. Operator Isotropic
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan operator isotropic:
%Mendefinisikan gambar
I= imread('cameraman.tif');
%Matriks isotropik horizontal dan vertikal
isohor = [ -1 0 1; -sqrt(2) 0 sqrt(2); -1 0 1];
isover = [ -1 -sqrt(2) -1; 0 0 0; 1 sqrt(2) 1];
%Konvolusi dengan operator isotropik
Ix = conv2(I,isohor,'same');
Iy = conv2(I,isover,'same');
J = sqrt((Ix.^2)+(Iy.^2));
%Figur1, Gambar asli diubah ke warna abu secara vertikal%
figure, imagesc(I ), colormap('gray'), colorbar('vert');
%Figur2, Gambar yang sudah dikonvolusi (Ix) diubah ke warna abu secara vertikal%
figure, imagesc(Ix), colormap('gray'), colorbar('vert');
%Figur3, Gambar yang sudah dikonvolusi (Iy) diubah ke warna abu secara vertikal%
figure, imagesc(Iy), colormap('gray'), colorbar('vert');
%Figur4, Gambar yang sudah dikonvolusi diubah ke warna abu secara vertikal%
figure, imagesc(J ), colormap('gray'), colorbar('vert');
50
Tabel 3.6. Hasil Deteksi Tepi (Isotropic
HASIL DETEKSI TEPI (ISOTROPIC)
(a) (b)
(c) (d) Hasil Analisa: Gambar asli (a) diubah menjadi warna
abu secara vertikal sehingga menghasilkan gambar (b),
kemudian diperhalus lagi sehingga menghasilkan gambar
(c), dan terakhir menghasilkan gambar seperti asli namun
memiliki deteksi tepi/garis tepi dari obyek berupa garis
berwarna putih (d).
7. Operator Laplacian
Contoh perintah untuk mendeteksi tepian dengan menggunakan operator Laplacian of
Gaussian (Matlab toolbox) adalah:
% Mendefinisikan gambar %
I= imread('cameraman.tif');
% deteksi tepi dengan operator laplacian %
J = edge(I,'log');
% Figure1, citra asli di ubah menjadi abu %
figure,imagesc(I),colormap('gray'),colorbar('vert');
% Figure2, citra asli dengan operator roberts %
figure,imagesc(J),colormap('gray'),colorbar('vert');
Tabel 3.7. Hasil Deteksi Tepi (Laplacian)
HASIL DETEKSI TEPI (LAPLACIAN)
51
(a) (b) Hasil Analisa: Gambar asli (a) diubah menjadi gambar berwarna gelap/hitam dan menghasilkan garis-
garis putih tipis dan samar yang merupakan tepi dari obyek (b).
8. Operator Canny
Contoh perintah untuk mendeteksi tepian menggunakan metoda Canny (matlab
toolbox):
% Mendefinisikan gambar %
I= imread('cameraman.tif');
% deteksi tepi dengan operator canny %
J = edge(I,’canny’);
% Figure1, citra asli di ubah menjadi abu %
figure,imagesc(I),colormap('gray'),colorbar('vert');
% Figure2, citra asli dengan operator roberts %
figure,imagesc(J),colormap('gray'),colorbar('vert');
%--------------writed by: kelompok3--------------%
Tabel 3.8. Hasil Deteksi Tepi (Canny)
HASIL DETEKSI TEPI (CANNY)
(a) (b) Hasil Analisa: Gambar asli (a) diubah menjadi gambar
berwarna gelap/hitam dan menghasilkan garis-garis putih yang tegas dan jelas, yang merupakan tepi dari
obyek (b).
52
6. Tugas Modul 3
1. Pada percobaan dengan kernel Sobel, kernel Isotropic, dan kernel Compass,
jelaskan mengenai garis abu-abu yang ditemukan pada pinggiran citra hasil
konvolusi.
2. Untuk citra cameraman.tif, edge detector manakah yang memberikan hasil
terbaik? Berikan analisis mengenai pendapat anda tersebut.
3. Sensitivitas edge detector terhadap noise dapat diukur dengan menggunakan
parameter error rate sebagai berikut:
dimana:
nR : jumlah piksel yang dinyatakan sebagai edge pada citra referensi
nN : jumlah piksel yang dinyatakan sebagai edge pada citra noisy
Nilai P yang besar menyatakan sensitivitas edge detector yang tinggi terhadap
noise. Dalam kasus citra heart disease.jpg terkontaminasi oleh noise salt &
pepper dengan distribusi 0.02, edge detector manakah yang paling
terpengaruh performansinya? Simulasikan dengan Matlab.
%Contoh perhitungan error rate untuk edge detector Sobel
%(kerjakan pula untuk jenis edge detector lain pada Matlab toolbox)
Ia = imread('cameraman.tif');
Ja = edge(Ia,'sobel');
In = imnoise(Ia,'salt & pepper',0.02);
Jn = edge(In,'sobel');
nr = sum(sum(Ja));
nn = sum(sum(Jn));
P = abs(nn-nr)/nr
7. Jawaban Modul 3
1. Garis abu-abu yang ditemukan pada pinggiran citra hasil konvolusi
A. Hasil Pengolahan Citra
1) Kernel Sobel
53
(a) (b)
(c) (d) Gambar 2.22. Hasil Pengolahan Citra dengan Kernel
Sobel 2) Kernel Isotropic
(a) (b)
(c) (d)
Gambar 2.23 Hasil Pengolahan Citra dengan Kernel
Isotropic 3) Kernel Compass
54
(a) (b)
(c) (d) Gambar 2.24. Hasil Pengolahan Citra dengan Kernel Compass
Hasil Analisa: Pada masing-masing percobaan dengan kernel Sobel, kernel Isotropic,
dan kernel Compass, ditemukan garis keabu-abuan yang disebut dengan garis tepi atau
garis batas (boundary). Garis tepi yang ditemukan berada pada titik dimana terdapat
perbedaan warna yang mencolok pada objek sehingga objek terlihat secara jelas.
2. Untuk citra heart disease.jpg edge detector manakah yang memberikan hasil
terbaik?
A. Kernel Sobel
Gambar 2.25. Hasil Edge Detector dengan Kernel Sobel
Keterangan: Pada percobaan operator sobel, garis tepi ditemukan dengan warna terang,
dan tidak terputus-putus. Warna garis tepi dengan objek terlihat kontras dengan garis
tepi berwarna keabuan dan objek yang berwarna hitam.
55
B. Kernel Isotropic
Gambar 2.26. Hasil Edge Detector dengan Kernel Isotropic
Keterangan: Pada percobaan dengan menggunakan operator isotropic, hasilnya mirip
dengan menggunakan operator sobel. Warna pada garis tepi kontras dengan warna
objek sehingga objek menjadi lebih jelas.
C. Kernel Compass
Gambar 2.27. Hasil Edge Detector dengan Kernel Compass
Keterangan: Pada citra heart disease.jpg dengan deteksi tepi menggunakan operator
compass dapat telihat bahwa garis tepi yang ditampilkan tidak berwarna terang seperti
pada sobel dan isotropic. Garis tepi yang muncul pada percobaan compass membuat
objek terlihat menonjol, sehingga objek menjadi jelas. Hasil terbaik didapat oleh
operator sobel.
3. Sensitivitas edge detector terhadap noise dapat diukur dengan menggunakan
parameter error rate sebagai berikut:
56
A. Kernel Sobel
Gambar 2.28. Listing program sensitivitas edge detector terhadap noise menggunakan kernel
sobel
Gambar 3.29.
Hasil Sensitivitas edge detector terhadap noise 0.6417
B. Kernel Laplacian
Gambar 2.30. Listing program sensitivitas edge detector terhadap noise menggunakan kernel
Laplacian
57
Gambar 2.31.
Hasil Sensitivitas edge detector terhadap noise 0.1363
C. Kernel Roberts
Gambar 2.32.
Listing program sensitivitas edge detector terhadap noise menggunakan kernel Roberts
Gambar 2.33.
Hasil Sensitivitas edge detector terhadap noise 0.2444
D. Kernel Canny
Gambar 2.34. Listing program sensitivitas edge detector terhadap noise menggunakan kernel
Canny
Gambar 2.35.
Hasil Sensitivitas edge detector terhadap noise 0.1569
Hasil performansi yang terpengaruh paling tinggi didapat oleh operator sobel yaitu
sebanyak 0.6417.
58
DAFTAR PUSTAKA
Delima. Nur, Hartati Bahar, Putu Eka Meiyana Erawan, 2016, Perilaku Pencegahan Kanker Serviks Pada Mahasiswi Fakultas Kewehatan Masyarakat Universitas Halu Oleo Tahun 2016.
Dwi. Firia, 2015, Faktor Yang Mempengaruhi Implementasi Program Deteksi Dini Kanker Serviks Melalui Pemeriksaan Iva (Infeksi Visual Asam Asetat) Di Puskesmas Wilayah Kota Surabaya.
Han, Aiguo., Et Al. 2014 “Early Detection Of Fatty Liver Disease In Mice Via Quantitative Ultrasound”. International Ultrasonics Symposium Proceedings 10.1109/Ultsym.2014.0589, 2363-2366.
Hasanuddin, Dwiza Riana, Dyah Ekashanti Octorina Dewi, Dwi H. Widyantoro, Tati Latifah , 2014, Detection Of Cytoplasm Area Of Pap Smear Image Using Image Segmentation. Proceedings Wise Health- Itb
Hidayat, Akik., Rahmi Nur Shofa. 2016. Self Organizing Maps (Som) Suatu Metode Untuk Pengenalan Aksara Jawa. Issn: 2477-3891. Jurnal Siliwangi Vol. 2. No. 1, Mei 2016 Seri Sains Dan Teknologi, 64-70.
Iryanto., Fristell, F Dan Gunawan, P.H. 2016. Pendekatan Numerik Pada Model Isotropic Dan Anisotropic Diffusion Untuk Mendeteksi Tepi Pada Pengolahan Citra. Issn: 2460-9056. Ind. Journal On Computing Vol. 1, Issue. 2, Sept 2016, 83-96.
Khairudin. M, Dessy Irmawati, 2016, Comparison Methods Of Edge Detection For Usg
Images, Proc. Of 2016 3rd
Int. Conf. On Information Tech., Computer And
Electrical Engoneering (Icitacee), Oct 19 -21st
, 2016 Semarang, Indonesia
Laishram. Romesh, Wahengbam Kanan Kumar, Anshuman Gupta, Khaimar Vinayak Prakash, 2014, A Novel Mri Brain Edge Detection Using Psofcm Segmentation And Canny Algorithm. 2014 International Conference On Electronic Systems, Signal Processing And Computing Technologies
Lusiana, Veronica. 2013. Deteksi Tepi Pada Citra Digital Menggunakan Metode Kirsch Dan Robinson. Issn: 0854-9524. Jurnal Teknologi Informasi Dinamik Vol. 18, No. 02, Juli 2013, 182-189.
Putra, Darma, 2010. “Pengolahan Citra Digital”, Yogyakarta:Cv. Andi Offset.
S. Price Dan Wilson L. Patofisiologi: Konsep Klinis Proses-Proses Penyakit. Edisi
Ke-6. Jakarta: Penerbit Egc. 2005.
Sukatmi. 2017. Perbandingan Deteksi Tepi Citra Digital Dengan Metode Prewitt, Sobel
Dan Canny. Issn: 2549-211x. Jurnal Ilmiah Manajemen Informatika Dan
Komputer Vol. 01, No. 01, Februari 2017, 1-4.
59
Taghizadech. Moslem,Mahboobch Hajipoor, 2011, A Hybrid Algorithm For Segmentation Of Mri Images Based On Edge Detection, 2011 International Conference Of Soft Computing And Patters Recognation.
Yunus, Mahmud. 2012. Perbandingan Metode-Metode Edge Detection Untuk Proses Segmentasi Citra Digital. Jurnal Teknologi Informasi Vol. 3 No. 2, 2012, 146-160.
Wibowo, Ari Purno Wahyu., Ardiles Sinaga. 2016. Implementasi Teknologi Ldws Pada Transportasi Sebagai Pendukung Sarana Dan Keamanan Bekendara. Issn: 2503-2844. Seminar Nasional Telekomunikasi Dan Informatika (Selisik 2016), 147-152.