Oleh
Muhammad Nurullah
107091003741
COVER
2014 M / 1433 H
LEMBAR PERNYATAAN
1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi
Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya
Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa hasil karya ini bukan hasil karya asli
saya atau merupakan hasil jiplakan dari hasil karya orang lain, maka saya
Jakarta.
Ciputat,
Muhamad Nurullah
ii
ABSTRAK
Muhamad Nurullah, Pengukuran Deteksi Tepi Citra JPG dengan operator Sobel
dan operator Canny menggunakan software Matlab, dibimbing oleh Arini, MT.
dan Feri Fahrianto, M.Sc.
Kata Kunci: Citra, Image JPG, Deteksi Tepi, Sobel, Canny, Matlab
v
KATA PENGANTAR
kesehatan sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Salawat
serta salam tak lupa pula penulis panjatkan kepada junjungan Nabi besar
Muhammad SAW.
Skripsi ini tidak akan bisa terselesaikan tanpa bantuan, bimbingan, arahan,
dukungan serta kontribusi dari banyak pihak. Oleh karena itu, penulis ingin
mengucapkan terima kasih terutama kepada orang tua penulis yaitu Dedeh
Kurniasih dan Rino Sutarman yang selalu mendukung baik moril maupun
kasih untuk kasih dan sayang yang tidak pernah berhenti diberikan kepada
Informatika.
3. Ibu Arini, MT., selaku dosen pembimbing pertama dan bapak Feri Fahrianto,
M.Sc., selaku pembimbing kedua, yang telah banyak membantu penulis dalam
4. Seluruh dosen Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
atas segala ilmu pengetahuan yang diberikan kepada penulis. Beserta seluruh
staff akademik Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
vi
5. Syahrial Sidik S.Kom., sebagai kakak dari penulis yang telah mendukung
6. Destia Hikmawati, orang terpenting di dalam hidup penulis yang telah banyak
Fahri, Sufyan, Agung yang telah bersama sewaktu di Kostan dan juga Misun
Club yang tidak bisa disebutkan satu per satu susah, sedih, dan senang
motivasi untuk segera menyelesaikan tugas akhir ini, dan pengalaman berharga
penelitian dan penyusunan skripsi ini, karena terbatasnya ilmu yang penulis
miliki. Oleh karena itu penulis mengharapkan saran dan kritik yang membangun
agar skripsi ini bisa menjadi lebih baik lagi. Tentunya Penulis berharap semoga
Allah swt, memberikan balasan yang lebih dari semua pihak pada umumnya.
Muhammad Nurullah
vii
DAFTAR ISI
COVER .................................................................................................................... i
LEMBAR PERNYATAAN .................................................................................... ii
LEMBAR PENGESAHAN PEMBIMBING .......................................................... ii
PENGESAHAN UJIAN ........................................................................................ iv
ABSTRAK ............................................................................................................. iv
KATA PENGANTAR ........................................................................................... vi
DAFTAR ISI ........................................................................................................ viii
DAFTAR GAMBAR .............................................................................................. x
DAFTAR TABEL ................................................................................................. xii
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang ............................................................................................ 1
1.2 Rumusan Masalah ....................................................................................... 3
1.3 Batasan Masalah.......................................................................................... 3
1.4 Tujuan Penelitian ........................................................................................ 3
1.5 Manfaat Penelitian ...................................................................................... 4
1.6 Metodologi Penelitian ................................................................................. 4
1.7 Sistematika Penulisan ................................................................................. 5
BAB II LANDASAN TEORI ................................................................................ 7
2.1 Pengertian Citra........................................................................................... 7
2.2 Pengertian Citra Digital............................................................................... 8
2.3 Citra JPEG................................................................................................. 13
2.4 Pengertian Pengolahan Citra ..................................................................... 17
2.5 Operasi-operasi Pada PengolahanCitra ..................................................... 19
2.6 Grayscale ................................................................................................... 20
2.7 Konvolusi .................................................................................................. 20
2.8 Thresholding ............................................................................................. 21
2.9 Deteksi Tepi .............................................................................................. 23
viii
2.10 Operator Sobel .......................................................................................... 27
2.11 Operator Canny ......................................................................................... 29
2.12 Matlab ....................................................................................................... 30
2.13 Metode Experimental ................................................................................ 33
BAB III METODOLOGI PENELITIAN.............................................................. 35
3.1 Metode Pengumpulan Data ....................................................................... 35
3.2 Metode Experimental ................................................................................ 36
3.3 Interpretasi Citra Output ........................................................................... 40
BAB IV HASIL DAN PEMBAHASAN .............................................................. 42
4.1 System Requirement ................................................................................. 42
4.2 Citra Input ................................................................................................. 43
4.3 Konversi ke Mode Grayscale .................................................................... 46
4.4 Pendeteksian Tepi (Edge Detection) ......................................................... 49
4.4.1 Operator Sobel .................................................................................... 49
4.4.2 Operator Canny ................................................................................... 52
4.5 Hasil Deteksi Tepi Operator Sobel Dan Operator Canny ......................... 58
BAB V PENUTUP ................................................................................................ 61
5.1 Kesimpulan ............................................................................................... 61
5.2 Saran .......................................................................................................... 61
DAFTAR PUSTAKA ........................................................................................... 62
LAMPIRAN .......................................................................................................... 63
ix
DAFTAR GAMBAR
x
DAFTAR TABEL
xi
BAB I
PENDAHULUAN
visual. Citra digital adalah citra yang diubah ke bentuk digital agar dapat
disimpan dalam memori komputer atau media lain. Proses mengubah citra
ke bentuk digital bisa dilakukan dengan device. Ketika sebuah citra sudah
diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Pengolahan
citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra,
kualitas yang lebih baik dibandingkan dengan citra semula. Analisis citra
1
bertujuan mengidentifikasi parameter yang diasosiasikan dengan ciri dari
tahapan, yaitu ekstraksi ciri, segmentasi, dan klasifikasi. Faktor kunci dalam
citra. Ada beberapa metode pendeteksian tepi dalam pengolahan citra, perlu
kondisi citra yang akan dideteksi. Dengan demikian tepi yang dihasilkan
dalam citra. Tepi mencirikan batas objek dan karena itu tepi berguna untuk
tersebut.
2
1.2 Rumusan Masalah
hanya pada :
operator Canny.
3
1.5 Manfaat Penelitian
bagi masyarakat
penelitian
Pada tahap ini dimana data yang telah dikumpulkan diolah secara teknis
untuk mendapatkan hasil dari deteksi tepi dengan operator Sobel dan
Operator Canny.
4
1.7 Sistematika Penulisan
lima bab. Dibawah ini juga diuraikan penjelasan masing-masing bab dengan
BAB I PENDAHULUAN
mendukung implementasi.
5
sebelumnya serta saran-saran yang diharapkan berguna bagi
6
BAB II
LANDASAN TEORI
sebagainya.
dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat
bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti
gambar pada monitor televisi, atau bersifat digital yang dapat langsung
Menurut arti secara harfiah, citra (image) adalah gambar pada bidang
dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi
menerus (continue) dari intensitas cahaya pada bidang dua dimensi. Sumber
cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, seperti mata pada
objek dalam bentuk citra dapat terekam. Citra sebagai output dari suatu
7
1. Optik, berupa foto,
Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still
image) dan citra bergerak (moving image). Citra diam adalah citra tunggal
yang tidak bergerak. Sedangkan citra bergerak adalah rangkaian citra diam
pada mata sebagai gambar yang bergerak. Setiap citra didalam rangkaian itu
disebut frame. Gambar-gambar yang tampak pada film layar lebar atau
Citra digital merupakan suatu larik dua dimensi atau suatu matriks
jadi informasi yang terkandung bersifat diskret. Citra digital tidak selalu
rekaman data bersifat kontinu seperti gambar pada monitor televisi, foto
kontinu. Sama halnya Proses digitalisasi dalam bentuk data lain, proses
8
digitalisasi pada citra juga merupakan proses pengubahan suatu bentuk data
citra dari yang bersifat analog ke digital. Yang mana proses ini dihasilkan
dari peralatan digital yang langsung bisa diproses oleh komputer. Proses ini
dapat dijelaskan sebagai berikut. Ada sebuah objek yang akan diambil
diterima oleh objek. Oleh objek, intensitas cahaya ini sebagian diserap dan
dipantul oleh objek tadi. Di dalam sistem pencitraan terdapat sensor optik
sistem. Keluaran dari sistem ini berupa arus yang besarnya sebanding
9
Citra digital biasanya berbentuk persegi panjang, secara visualisasi
dalam titik atau piksel (pixel = picture element) dan dapat pula dinyatakan
Pada citra jenis ini, setiap titik atau piksel hanya bernilai 0 atau
keabuan 4 bit.
10
Gambar 2.3 Citra Skala Keabuan
merupakan kombinasi dari tiga warna dasar yaitu merah, hijau dan biru yang
dikenal sebagai citra RGB (Red, Green, Blue). Setiap warna dasar
juta warna, disebut true color karena dianggap mencakup semua warna yang
11
2.3 Citra JPEG
web, multimedia, dan publikasi elektronik lainnya. Format file ini mampu
Format file ini juga mampu menyimpan alpha channel, namun karena
JPEG di buat untuk loosy compression images. Umumnya file file yang
berformat JPEG mengunakan extensi .jpeg, .jpg, .jpe, .jfif, jif. Selain itu
setara dengan 16 juta warna. JPEG tidak ditujukan dalam urusan file audio.
13
Standar kompresi file gambar yang dibuat oleh kelompok Joint
tetapi dengan akibat berupa adanya distorsi pada gambar yang hampir selalu
tidak terlihat. JPEG adalah sebuah format gambar, sangat berguna untuk
membuat gambar jenis fotografi berkualitas tinggi dalam ukuran file yang
sangat kecil. Format file grafis ini telah diterima oleh Telecommunication
(DCT).
menyimpan gambar dalam kategori warna true color (24 bit), format ini
bersifat lossy, yang berarti bahwa kualitas gambar dikorbankan bila tingkat
kompresi yang dipilih semakin tinggi. JPEG mendukung 16 juta warna. Jadi
walaupun terjadi penurunan kualitas gambar, format ini sangat cocok untuk
format lain, browser membutuhkan waktu yang lebih lama untuk memuat
file JPEG
Model ruang warna yang digunakan pada citra JPG adalah RGB
(red, green, dan blue). Sebuah ruang RGB dapat diartikan sebagai semua
kemungkinan warna yang dapa dibuat dari tiga warna dasar red, green, dan
14
karena dengan ruang warna ini tidak diperlukan transformasi untuk
pallete. Setiap komponen panjangnya 8 bit, jadi ada 256 nilai keabuan
untuk warna merah, 256 nilai keabuan untuk warna hijau, 256 nilai keabuan
untuk warna biru. Nilai setiap piksel tidak menyatakan derajat keabuan
secara langsung, tetapi nilai piksel menyatakan indeks tabel RGB yang
memuat nilai keabuan merah (R), nilai keabuan hijau (G), nilai keabuan biru
hanya mempunya satu kanal warna. Citra hitam putih umumnya adalh citra
8 bit.
Citra yang lebih kaya warna adalah citra 24 bit. Setiap piksel
warna merah, komponen warna hijau, dan komponen warna biru. Masing-
masing komponen panjangnya 8 bit. Citra 24 bit disebut juga citra 16 juta
warna.
R G B Warna
255 255 255 White
0 0 0 Black
136 0 21 Dark Red
255 0 0 Red
0 255 0 Green
15
0 0 255 Blue
0 162 232 Turqouise
185 122 87 Brown
255 174 201 Rose
alternatif selanjutnya yang dapat kita pakai untuk memperoleh sebuah hasil
yang lebih dari 16 juta atau 24 bit, sehingga hasil yang maksimal dari
ditawarkan membuat saya dapat memilih besar kecilnya file gambar yang
16
2.4 Pengertian Pengolahan Citra
yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data
citra digital secara umum didefnisikan sebagai pemrosesan citra dua dimensi
dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital
juga mencakup semua data dua dimensi. Proses pengolahan citra dapat
cacat atau derau (noise), warnanya terlalu kontras atau kabur tentu citra
seperti ini akan sulit direpresentasikan sehingga informasi yang ada menjadi
maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya
lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra
(image processing).
17
2.5 Operasi-operasi pada Pengolahan Citra
operasi ini, ciri-ciri khusus yang terdapat di dalam citra dapat lebih
warna semu.
19
identifikasi objek. Proses segmentasi juga diperlukan untuk melokalisasi
2.6 Grayscale
yang pada setiap pixelnya hanya berisikan informasi intensitas warna putih
putih dan hitam. Sebuah image yang dijadikan Grayscale akan terkesan
2.7 Konvolusi
proses lain pada pengolahan citra yang juga menggunakan filter atau
20
1. Thresholding global
2. Thresholding adaptif
citra. Lalu pada setiap sub citra, segmentasi dilakukan dengan menggunakan
Yang menjadi fokus dalam tugas akhir ini adalah metode thresholding
keabuan pada titik (x,y) dalam suatu citra. Berikut ini akan disajikan contoh
22
Histogram yang berada pada sisi kiri Gambar 2.11 mewakili citra
f(x,y) yang tersusun atas obyek terang di atas background gelap. Piksel-
untuk sembarang titik (x,y) yang memenuhi f(x,y) > T disebut titik obyek,
selain itu disebut titik background. Kesuksesan metode ini bergantung pada
mendadak (besar) dalam jarak yang dekat. Suatu titik (x,y) dikatakan
sebagai tepi bila titik tersebut mempunyai perbedaan nilai piksel yang
23
Gambar 2.13 Model Tepi Satu Dimensi
a. Tepi Curam
Tepi curam adalah tepi dengan perubahan intensitas yang tajam. Arah tepi
berkisar 90o Gambar 2.14 menunjukan deteksi tepi tipe tepi curam.
b. TepiLandai
Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat
24
Gambar 2.15 Tepi Landai
sebelum pendektesian tepi. Gambar 2.16 menunjukan deteksi tepi tipe tepi
25
dengan operator gradient citra. Berikut ini berapa contoh pendeteksi tepi
a. Metode Roberts-Cross
b. Metode Prewitt
c. Metode Sobel
Kedua).
suatu citra. Yang termasuk dalam metode pendeteksi tepi ini, adalah:
b. Metode Canny
3x3, dan susunan piksel-piksel disekitar piksel (x,y) seperti gambar berikut:
27
berkaitan dengan tepi . pada dasarnya operator ini digunakan untuk
menentukan nilai pendekatan turunan yang mutlak untuk pada setiap titik
noise ration (SNR) sehingga semua tepi dapat terdeteksi dengan baik atau
sebenarnya, atau dengan kata lain bahwa jarak antara posisi tepi yang
29
sehingga pada implementasinya, Canny tetap menggunakan filter
Original Image
Differentiation
Image Smoothing
menyaring kegaduhan dari citra awal untuk mendapatkan hasil deteksi tepi
yang halus.
2.12 MATLAB
meliputi bidang–bidang:
30
• Matematika dan Komputasi
• Pembentukan Algorithm
• Akusisi Data
data dalam suatu array sehingga tidak lagi kita dipusingkan dengan masalah
matrik yang telah dibentuk oleh LINPACK dan EISPACK. Saat ini
library, yang merupakan satu kesatuan dari sebuah seni tersendiri dalam
31
2.13 Metode Eksperimental
1. Definisi
condition) dimana kondisi tersebut dibuat dan diatur oleh si peneliti. Dengan
2. Merencanakan percobaan
penelitian.
b. Desain percobaan
utuh dan berurutan yang dibuat lebih dahulu, sehingga keterangan yang
ingin diperoleh dari percoban akan punya hubungan yang nyata dengan
masalah penelitian.
3. Melaksanakan percobaan
33
tama perlu diperhatikan dalam pelaksanaan percobaan, adalah pengenalan
suatu set observasi dengan hasil yang mempunyai reliabilitas yang tinggi. Di
populasi.
34
BAB III
METODOLOGI PENELITIAN
berasal dari buku-buku ilmu komputer, jurnal, karya ilmiah, dan buku
situs internet yang berkaitan dengan judul yang penulis ambil dan dapat
Jurnal Kesimpulan
komparasi algoritma Deteksi tepi Proses segmentasi citra tumor dengan
(edge detection) untuk segmentasi metode deteksi tepi menggunakan
citra tumor hepar operator canny, operator sobel, operator
Robert dan operator Prewtt sudah
dilakukan. Dari 10 citra tumor pasien,
ada 8 citra tumor (80% dari citra
keseluruhan) yang dapat terbaca dan
terdeteksi oleh operator canny, hal ini
menunjukan bahwa operator canny dapat
bekerja lebih baik dari ketiga operator
lainnya.
Ekstraksi Bentuk Janin Pada Citra Kesimpulan yang diperoleh dari
Hasil Usg 3 Dimensi Menggunakan penelitian ini adalah metode deteksi tepi
Deteksi Tepi Canny Canny dapat diimplementasikan untuk
mengekstraksi bentuk janin. Selain itu,
kesimpulannya adalah untuk
mendapatkan ekstraksi bentuk janin yang
baik, maka nilai ambang atas dan ambang
bawah double tresholding dalam metode
deteksi tepi Canny adalah 80 dan 20.
Namun, untuk mengantisipasi keaneka-
35
ragaman jenis citra masukan, maka
parameter nilai ambang atas dan nilai
ambang bawah dapat diubah sesuai
kebutuhan citra masukan.
Perbandingan Kinerja Operator Sobel Hasil deteksi tepi citra LoG mampu
Dan Laplacian Of Gaussian (Log) menghasilkan citra deteksi tepi wajah dan
Terhadap acuan Canny Untuk bentuk lebih baik dibandingkan Sobel.
Mendeteksi Tepi Citra Sedangkan hasil deteksi tepi citra Sobel
mampu menghasilkan citra deteksi
karakter yang lebih baik dibandingkan
LoG. Kualitas citra hasil deteksi tepi
operator Sobel dan operator LoG secara
keseluruhan cukup baik dibandingkan
dengan parameter Canny. Operator Sobel
memiliki rata – rata indeks kualitas yang
lebih tinggi dibandingkan operator LoG
(0,46841>0,35859).Detektor tepi Canny
mampu menghasilkan citra deteksi tepi
yang sangat baik sehingga mampu
dijadikan parameter terhadap metode
deteksi yang lain. Pengembangan
penelitian dapat dilakukan dengan
mengubah metode deteksi dan
penambahan parameter perbandingan
kualitas dengan jarak Euclidean.
1. Merencanakan percobaan
sebagai berikut :
36
a. Personal Komputer / Laptop
c. Citra uji
a) Image bangunan
b) Image wajah
c) Image kendaraan
d) Image pegunungan
e) Image Pulau
a) Operator Sobel
b) Operator Canny
4. Hasil Penelitian
b. Desain Penelitian
37
Desain langkah penelitian tersebut dapat digambarkan sesuai skema
berikut ini:
Mulai
Konversi RGB ke
Grayscale
Deteksi Tepi
Hasil
38
Input Image
Konvolusi kernel
Sobel
Thresholding
Edge Image
Image
Input Image Differentiation
Smoothing
Edge Nonmaximum
Edge Image
Thresholding Suppression
39
2. Melaksanakan Penelitian
b. Konversi ke grayscale
c. Deteksi Tepi
Respon yang jelas, Hanya ada satu respon untuk tiap tepi, sehingga
citra selanjutnya.
40
Pengujian lain terhadap deteksi tepi adalah dengan menggunakan citra
garis tepi yang dihasilkan pada citra output, yang dapat dengan jelas
41
BAB IV
Bab ini membahas hasil deteksi tepi (edge detection) yang dilakukan pada
menggunakan 2 metode yaitu, operator sobel dan operator canny dengan software
Matlab.
penulis menggunakan software Matlab, maka ada hal yang perlu diperhatikan
yaitu :
d. VGA Memory 1 GB
e. Harddisk 500 GB
requirement) yaitu
42
c. RAM (Random Access Memory) 512 MB akan tetapi
direkomendasikan 1 GB
d. VGA Memory -
dibawah ini :
img = imread('namafile');
dibawah ini.
a.Gedung.jpg
43
b.Wajah.jpg
c.Tank.jpg
44
d.Bromo.jpg
e.Peta.jpg
Gambar 4.1 Citra input dengan format JPG mode RGB (Red Green Blue)
45
4.3 Konversi Citra ke Mode Grayscale
I = rgb2gray(img);
Citra-citra yang diinput ke dalam matlab dengan format JPG dengan mode
RGB (Red, Green, Blue) pada gambar 4.1 dikonversi ke mode grayscale
citra mode ini terbentuk dari sebuah matrik yang nilainya berkisar antara 0
hingga 255. Maka citra-citra tersebut menjadi seperti gambar dibawah ini.
a.Gedung.jpg
46
b.Wajah.jpg
c.Tank.jpg
47
d.Bromo.jpg
e.Peta.jpg
48
4.4 Deteksi Tepi (Edge Detection)
proses pada operator sobel dalam mendeteksi tepi pada lima image. Berikut
A. Konvolusi
img_sx=filter2(sx, I);
img_sy=filter2(sy, I);
Edge=sqrt(img_sx.^2 + img_sy.^2);
B. Threshold
Edge_t=im2bw(Edge/255);
C. Edge Image
ini.
49
a.Gedung.jpg
b.Wajah.jpg
50
c.Tank.jpg
d.Bromo.jpg
51
e.Peta.jpg
bawah ini.
A. Image Smoothing
terpisah (hasil akhir berupa dua buah citra yaitu blur horizontal dan
citra grayscale.
52
filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);
Ix = conv2(I,filterx,'same');
filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2);
Iy = conv2(I,filtery,'same');
(http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html)
B. Differentiation
dari sebuah edge. Pada langkah menghitung potensi gradien citra ada
Operator sobel memanfaatkan dua buah template edge pada dua arah
tegak lurus (horizontal dan vertikal) dan menghitung arah edge dari
NVI = sqrt(Ix.*Ix+Iy.*Iy);
C. Nonmaximum supression
gradien di suatu piksel dari kandidat edge jika piksel tersebut bukan
merupakan maksimal lokal pada arah edge di posisi piksel tersebut (di
53
[n,m]=size(Ibw);
for i=2:n-1,
for j=2:m-1,
X = [-1,0,+1;-1,0,+1;-1,0,+1];
Y = [-1,-1,-1;0,0,0;+1,+1,+1];
Z = [Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);
Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1);
Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)];
XI = [Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)];
YI = [Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)];
ZI = interp2(X,Y,Z,XI,YI);
edgeimage(i,j)=I_max;
else
edgeimage(i,j)=I_min;
end
else
edgeimage(i,j)=I_min;
end
end
end
(http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html)
D. Edge Thesholding
berisi kandidat edge serta intensitas dari kekuatan edge di posisi piksel
54
tersebut. Langkah terakhir adalah hysteresis thresholding yaitu
suatu piksel disahkan sebagai piksel edge jika nilainya lebih besar atau
I_max = max(max(NVI));
I_min = min(min(NVI));
level = alfa*(I_max-I_min)+I_min;
Ibw = max(NVI,level.*ones(size(NVI)));
E. Edge Image
ini.
55
a.Gedung.jpg
b.Wajah.jpg
c.Tank.jpg
56
d.Bromo.jpg
e.Peta.jpg
57
4.4 Hasil Deteksi Tepi Operator Sobel Dan Operator Canny
sebagaimana gambar 4.5 cukup baik akan tetapi masih ada tepi-tepi yang
hilang sedangkan deteksi tepi yang dihasilkan operator canny pada gambar
4.6 menghasilkan citra yang lebih baik meskipun tepinya tidak tebal.
Gambar 4.5 dan gambar 4.6 bisa dilihat kembali secara bersamaan
1 Gedung
2 Wajah
3 Tank
58
4 Bromo
5 Peta
Jumlah pixel warna putih merupakan piksel yang diperoleh dari hasil
deteksi tepi. Semakin banyak piksel warna putih, kemungkinan banyak pula tepi
yang bisa diperoleh. Oleh karena itu, penulis membandingkan jumlah pixel warna
putih yang didapat dari perhitungan deteksi tepi operator sobel dan operator canny
untuk semua citra yang diuji. Dengan menggunakan fungsi nnz (number of
JmlPikselputih = nnz(edgeimage);
Berikut ini adalah tabel yang menerangkan hasil jumlah piksel warna putih untuk
semua citra sesuai metode deteksi tepi operator sobel dan operator canny.
59
Menurut data yang diperoleh pada tabel 4.2 operator Sobel dan Operator
Canny tidak berbeda jauh bahkan ada di beberapa citra dimana Operator Canny
lebih banyak jumlahnya dari operator sobel yaitu pada Citra nomor 1 dan 3
sedangkan pada citra yang lainnya operator sobel lebih banyak jumlahnya yaitu
Jika dilihat secara visual hasil deteksi tepi pada tabel 4.1, deteksi tepi citra
pada operator sobel tepinya lebih tebal daripada operator canny, akan tetapi ada
beberapa tepi pada operator sobel yang hilang sedangkan tepi di operator canny
tidak hilang.
60
BAB V
5.1 Kesimpulan
bahwa deteksi tepi dengan operator Canny lebih baik dari operator Sobel
karena Operator Canny mendeteksi tepi yang tepi sebenarnya dan tidak
menghilangkan tepi sebenarnya sedangkan operator sobel masih ada tepi yang
hilang dan memunculkan tepi yang bukan tepi sebenarnya. Akan tetapi
5.2 Saran
bermanfaat.
61
DAFTAR PUSTAKA
http://www.mathworks.com (2014)
Sutoyo, T. et al. (2009). Teori Pengolahan Citra Digital. Yogyakarta: CV. Andi
Offset.
http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html (2014)
62
LAMPIRAN
63
Deteksi Tepi Sobel
clear all
clc
img = imread('Wajah.jpg');
red=img(:,:,1);
green=img(:,:,2);
blue=img(:,:,3);
I=0.3*red+0.5*green+0.2*blue ;
Edge_t=im2bw(Edge/255);
figure,imshow(Edge_t);
red=img(:,:,1);
green=img(:,:,2);
blue=img(:,:,3);
I=0.3*red+0.5*green+0.2*blue ;
I=im2double(I);
filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);
Ix = conv2(I,filterx,'same');
filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2);
Iy = conv2(I,filtery,'same');
NVI = sqrt(Ix.*Ix+Iy.*Iy);
I_max = max(max(NVI));
I_min = min(min(NVI));
level = alfa*(I_max-I_min)+I_min;
Ibw = max(NVI,level.*ones(size(NVI)));
64
[n,m]=size(Ibw);
for i=2:n-1,
for j=2:m-1,
if Ibw(i,j) > level,
X = [-1,0,+1;-1,0,+1;-1,0,+1];
Y = [-1,-1,-1;0,0,0;+1,+1,+1];
Z = [Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);
Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1);
Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)];
XI = [Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)];
YI = [Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)];
ZI = interp2(X,Y,Z,XI,YI);
if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2)
edgeimage(i,j)=I_max;
else
edgeimage(i,j)=I_min;
end
else
edgeimage(i,j)=I_min;
end
end
end
figure,imshow(edgeimage);
Fungsi Gausssian
gauss.m
function y = gauss(x,std)
y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi));
dgauss.m
function y = dgauss(x,std)
y = -x * gauss(x,std) / std^2;
d2gauss.m
function h = d2dgauss(n1,sigma1,n2,sigma2,theta)
r=[cos(theta) -sin(theta);
sin(theta) cos(theta)];
for i = 1 : n2
for j = 1 : n1
u = r * [j-(n1+1)/2 i-(n2+1)/2]';
h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2);
end
end
h = h / sqrt(sum(sum(abs(h).*abs(h))));
65