Anda di halaman 1dari 12

TeoridanAplikasi

DilengkapiCD
berisiprogram
programcontoh,
filefilelatihan,dan
Octave

AbdulKadir
AdhiSusanto

Ceritakan kepada saya, maka saya lupa.


Tunjukkan kepada saya, maka saya ingat.
Biarkan saya mengerjakannya, maka saya paham.

Pepatah Cina

ii

Prakata

Aplikasi pengolahan citra telah memberikan sumbangan yang sangat berarti dalam berbagai
aspek.Paraperancangdesaingrafistelahmerasakanbetapanikmatnyamenggunakansoftware
semacam Adobe Photoshop untuk mengerjakan berbagai tugas mereka. Pemakai Microsoft
Word bisa memberikan ilustrasi gambar yang dipoles dengan teknik tertentu, misalnya
memungkinkan gambar seolaholah dibuat dengan goresan kapur. Robot seperti AIBO dapat
membaca mimik si pemiliknya dan melakukan aksi untuk menghibur. Mesin inspeksi mampu
mendeteksiprodukyangcacat.Perangkatpresensidapatmengenalisidikjariparamahasiswa
yang akan mengikuti kuliah. Pintu pun terbuka setelah retina mata si pegawai dipindai oleh
pembaca retina mata. Halhal tersebut menunjukkan beberapa contoh yang melibatkan
pengolahancitra.

Buku ini mengupas sejumlah fondasi dalam pengolahan citra hingga ke aplikasinya. Berbeda
dengan buku lain yang umumnya hanya menekankan pada aspek teori, buku ini
mengombinasikan teori dan praktik. Buku ini membahas berbagai rumus matematika dan
sekaligus mewujudkannya ke dalam bentuk program. Dengan perkataan lain, buku ini
menunjukkan bahwa rumusrumus matematika yang kadang dirasakan sulit untuk dimengerti
dapat diterjemahkan ke dalam program dengan cara yang mudah. Oleh karena itu, buku ini
sangat berguna bagi mahasiswa Teknologi Informasi, Teknik Informatika, atau Teknik Elektro
yang sedang mengambil matakuliah Pengolahan Citra ataupun matakuliah lain yang
memerlukan dasar pengolahan citra. Materi yang disampaikan tidak hanya terbatas pada
pendekatan teori tetapi juga sekaligus disertai dengan algoritma dan penyelesaian dalam
bentukprogram.

ContohprogramdiwujudkandenganmenggunakanOctave.OctaveadalahFreeSoftwareyang
kompatibel dengan MATLAB. Perangkat lunak ini dapat diunduh secara gratis. Informasi
pengunduhannya dapat dilihat di http://www.gnu.org/software/octave/download.html. Versi
OctaveyangdigunakanuntukmengimplementasikanprogramadalahOctave3.4.3,sedangkan
paket Image Processing yang digunakan adalah versi 1.0.15. Paket ini bisa diunduh di
http://octave.sourceforge.net/image/index.html.

Meskipun diwujudkan dengan Octave, contohcontoh program yang diberikan sangat mudah
untukdikonversikankebentukbahasapemrogramanyanglainsepertiJavaataupunC++.Kode
kodepentinguntukmewujudkanprogramtelahdiusahakanagartidakbergantungsepenuhnya
padafungsifungsiyangdisediakanolehOctave.

Agar pembaca bisa menyerap materi yang disajikan dalam buku ini, dianjurkan untuk
menguasai dasar pemrograman Octave terlebih dulu. Pada bagian Lampiran, ringkasan
mengenai dasar Octave diberikan. Materi tersebut diharapkan dapat membantu pembaca
dalammempelajaridanmempraktikkandasarOctavesecaracepat.

iii

Materididalambukuinitelahdisusunsedemikianrupasehinggamempermudahbagipembaca
yang baru saja belajar pengolahan citra. Oleh karena itu, sebaiknya babbab yang terdapat
dalam buku ini dibaca secara berurutan. Namun, apabila pembaca telah memiliki dasar
pengolahan citra, membaca secara langsung ke babbab tertentu yang diperlukan juga
dimungkinkan.

Bab 1 memperkenalkan dasar pengolahan citra dan aplikasinya. Bab 2 membahas dasar
pengolahan citra melalui software. Berbagai jenis citra diperkenalkan di dalam bab ini. Cara
membaca citra dari berkas, mengonversi citra, dan menyimpan citra ke dalam berkas mulai
diperkenalkan.BerbagaioperasipemrosesancitrayangberbasispikselmulaidibahasdalamBab
3.Dasarhistogramjugadibahasdalambabini.Bab4mulaimembahaspengolahancitrayang
mempertimbangkan piksel tetangga. Pada bab inilah konvolusi mulai dibahas. Berbagai filter
mulai diperkenalkan dalam bab ini. Bab 5 membicarakan operasi geometrik seperti
penggeseran citra, pemutaran citra, pembesaran/pengecilan citra, dan berbagai transformasi
untukmengubahcitra.Bab6membahasalihragamFourieruntukmelakukanpengolahancitra
padakawasanfrekuensi.Bab7mulaimembicarakanberbagaioperasimorfologisepertierosi,
dilasi, opening, closing, dan transformasi TopHat. Bab 8 membahas berbagai operasi yang
dilaksanakanpadacitrabiner,misalnyauntukmemperolehtepiobjek,rantaikode,perimeter,
danluasobjek.Beberapafituryangdapatdiperolehpadacitrabinermulaidiperkenalkan.Bab9
membahassecarakhususpemrosesancitradenganmelibatkanunsurwarna.Bab10mengupas
berbagai teknik untuk kepentingan segmentasi, misalnya deteksi tepi dan pengambangan
adaptif. Bab 11 membahas secara rinci berbagai metode untuk melaksanakan restorasi citra.
BerbagaifiturbentukdankonturdibicarakandalamBab12.DeskriptorFourier,momenZernike,
momen invariant, Polar Fourier Transform, dan convex hull dibahas dalam bab ini. Bab 13
secarakhususmembahasfiturtekstur.Bab14membahasaplikasitemukembalicitra.

Untuk mempermudah dalam mempraktikkan pengolahan citra, seluruh materi praktik yang
dibahasdidalambukuinidikemasdidalamsebuahCDyangdisertakanbersamabukuini.CD
jugaberisiperangkatlunakOctave.

Tidak lupa, penulis mengucapkan terima kasih kepada Direktorat Penelitian dan Pengabdian
kepadaMasyarakat,DirektoratJenderalPendidikanTinggi,yangtelahmemberikandanahibah
penulisan buku teks tahun 2012 dan pendampingan untuk penyelesaian naskah ini. Banyak
masukanberhargayangtelahmewarnaikoreksiterhadapnaskahbukuini.

Penulis menyadari sepenuhnya, Tak ada gading yang tak retak. Walaupun usaha yang
maksimum telah dilakukan, tetap saja terdapat kemungkinan kesalahan dan kekurangan di
dalampenyusunanbukuini.Olehkarenaitu,sarandaripembacasangatpenulisharapkanagar
materi buku ini senantiasa dapat disempurnakan. Akhir kata, semoga buku ini dapat
memberikan manfaat yang nyata dan menjadi sumber inspirasi bagi pembaca dalam
mengembangkankaryakaryainovatif.

Yogyakarta,Juni2012
Penulis
iv

DAFTARISI

BAB1PENGANTARPENGOLAHANCITRA..................................................................................................1
1.1PengertianPengolahanCitraDigital.......................................................................................2
1.2AplikasiPengolahanCitra........................................................................................................3
1.3PrinsipDasardalamPengolahanCitra....................................................................................7
1.3.1PeningkatanKecerahandanKontras......................................................................7
1.3.2PenghilanganDerau................................................................................................8
1.3.3PencarianBentukObjek..........................................................................................8

BAB2PENGENALANDASARCITRA.........................................................................................................11
2.1RepresentasiCitraDigital......................................................................................................12
2.2KuantisasiCitra......................................................................................................................15
2.3KualitasCitra.........................................................................................................................18
2.4MembacaCitra......................................................................................................................20
2.5MengetahuiUkuranCitra.....................................................................................................22
2.6MenampilkanCitra................................................................................................................23
2.7MengenalJenisCitra.............................................................................................................26
2.7.1CitraBerwarna......................................................................................................26
2.7.2CitraBerskalaKeabuan.........................................................................................30
2.7.3CitraBiner.............................................................................................................31
2.8MengonversiJenisCitra........................................................................................................32
2.9MenyimpanCitra..................................................................................................................40

BAB3OPERASIPIKSELDANHISTOGRAM...............................................................................................43
3.1OperasiPiksel........................................................................................................................44
3.2MenggunakanHistogramCitra.............................................................................................44
3.3MeningkatkanKecerahan.....................................................................................................50
3.4MeregangkanKontras...........................................................................................................53
3.5KombinasiKecerahandanKontras.......................................................................................55
3.6MembalikCitra......................................................................................................................56
3.7PemetaanNonlinear.............................................................................................................57
3.8PemotonganArasKeabuan...................................................................................................59
3.9EkualisasiHistogram.............................................................................................................63

BAB4OPERASIKETETANGGAANPIKSEL..................................................................................................71
4.1PengertianOperasiKetetanggaanPiksel..............................................................................72
4.2PengertianKetetanggaanPiksel...........................................................................................72
4.3AplikasiKetetanggaanPikselpadaFilter..............................................................................73
4.3.1FilterBatas............................................................................................................74
4.3.2FilterPererataan...................................................................................................77
4.3.3FilterMedian.........................................................................................................80
4.4PengertianKonvolusi............................................................................................................83
4.5ProblempadaKonvolusi.......................................................................................................92
4.6MempercepatKomputasipadaKonvolusi............................................................................98
4.7PengertianFrekuensi..........................................................................................................103
4.8FilterLolosRendah.............................................................................................................105
4.9FilterLolosTinggi................................................................................................................112
vi

4.10FilterHighBoost...............................................................................................................116
4.11EfekEmboss......................................................................................................................118
4.12PengklasifikasianFilterLineardanNonlinear...................................................................121
4.13FilterGaussian..................................................................................................................122

BAB5OPERASIGEOMETRIK..................................................................................................................121
5.1PengantarOperasiGeometrik............................................................................................122
5.2MenggeserCitra..................................................................................................................123
5.3MemutarCitra.....................................................................................................................125
5.4InterpolasiPiksel.................................................................................................................129
5.5MemutarBerdasarkanSebarangKoordinat.......................................................................134
5.6MemutarCitraSecaraUtuh................................................................................................137
5.7MemperbesarCitra.............................................................................................................140
5.8MemperkecilCitra...............................................................................................................145
5.9PerbesarandenganSkalaVertikaldanHorizontalBerbeda...............................................146
5.10PencerminanCitra............................................................................................................146
5.11TransformasiAffine...........................................................................................................151
5.12EfekRipple.........................................................................................................................154
5.13EfekTwirl...........................................................................................................................157
5.14TransformasiSpherical......................................................................................................159
5.15Transformasibilinear........................................................................................................162

BAB6PENGOLAHANCITRADIKAWASANFREKUENSI..........................................................................161
6.1PengolahanCitradiKawasanSpasialdanKawasanFrekuensi...........................................168
6.2AlihragamFourier................................................................................................................169
6.3Fourier1D..........................................................................................................................170
6.4Fourier2D..........................................................................................................................176
6.5FastFourierTransform........................................................................................................178
6.6VisualisasiPemrosesanFFT.................................................................................................179
6.7PenapisanpadaKawasanFrekuensi...................................................................................184
6.8FilterLolosRendah.............................................................................................................190
6.9FilterLolosTinggi................................................................................................................200
6.10PemfilterandenganPendekatanHighFrequencyEmphasis............................................203

BAB7MORFOLOGIUNTUKPENGOLAHANCITRA.................................................................................209
7.1PengertianOperasiMorfologi............................................................................................210
7.2MatematikayangMelatarbelakangi...................................................................................212
7.2.1TeoriHimpunan...............................................................................................................212
7.2.2OperasiNalar...................................................................................................................218
7.3OperasiDilasi......................................................................................................................221
7.4OperasiErosi.......................................................................................................................229
7.5BentukdanUkuranElemenPenstruktur............................................................................236
7.6OperasiOpening.................................................................................................................242
7.7OperasiClosing...................................................................................................................245
7.8TransformasiHitorMiss....................................................................................................248
7.9Skeleton...............................................................................................................................255
7.10Thickening.........................................................................................................................263
7.11ConvexHull........................................................................................................................265
vii

7.12MorfologiArasKeabuan...................................................................................................270
7.12.1DilasiBerarasKeabuan.....................................................................................271
7.12.2ErosiBerarasKeabuan......................................................................................274
7.12.3OpeningdanClosing.........................................................................................279
7.13TransformasiTopHat.......................................................................................................281
7.14TransformasiBottomHat.................................................................................................283

BAB8OPERASIPADACITRABINER........................................................................................................287
8.1PengantarOperasiBiner.....................................................................................................288
8.2RepresentasiBentuk...........................................................................................................288
8.3EkstraksiTepiObjek............................................................................................................288
8.4MengikutiKontur................................................................................................................292
8.5KonturInternal....................................................................................................................300
8.6RantaiKode.........................................................................................................................305
8.7Perimeter............................................................................................................................309
8.8Luas.....................................................................................................................................313
8.9Diameter.............................................................................................................................317
8.10FiturMenggunakanPerimeter,Luas,danDiameter........................................................325
8.11PusatMassadanFiturMenggunakanPusatMassa..........................................................329
8.12FiturDispersi.....................................................................................................................333
8.13PelabelanObjek................................................................................................................335

BAB9PENGOLAHANCITRABERWARNA...............................................................................................349
9.1DasarWarna.......................................................................................................................350
9.2RuangWarna.......................................................................................................................350
9.2.1RuangWarnaRGB...............................................................................................350
9.2.2RuangWarnaCMY/CMYK...................................................................................352
9.2.3RuangWarnaYIQ................................................................................................356
9.2.4RuangWarnaYCbCr............................................................................................358
9.2.5RuangWarnaHSI,HSV,danHSL.........................................................................360
9.2.6RuangWarnaCIELAB..........................................................................................374
9.3MemperolehStatistikaWarna............................................................................................378
9.4MengaturKecerahandanKontras......................................................................................382
9.5MenghitungJumlahWarna.................................................................................................384
9.6AplikasiPencarianCitraBerdasarkanWarnaDominan......................................................386

BAB10SEGMENTASICITRA...................................................................................................................401
10.1PengantarSegmentasiCitra..............................................................................................402
10.2DeteksiGaris.....................................................................................................................405
10.3DeteksiTepi.......................................................................................................................410
10.3.1OperatorRoberts..............................................................................................415
10.3.2OperatorPrewitt...............................................................................................417
10.3.3OperatorSobel..................................................................................................420
10.3.4OperatorFreiChen...........................................................................................422
10.3.5OperatorLaplacian...........................................................................................425
10.3.6OperatorLaplacianofGaussian.......................................................................427
10.3.7OperatorDifferenceofGaussian......................................................................433
10.3.9OperatorCanny.................................................................................................435
viii

10.3.10OperatorZeroCrossing...................................................................................444
10.3.11OperatorGradienKompas..............................................................................450
10.4PengambanganDwiAras.................................................................................................454
10.5PengambanganGlobalVs.Lokal.....................................................................................459
10.6PengambanganArasjamak.............................................................................................460
10.7PengambangandenganMetodeOtsu.............................................................................463
10.8PengambanganAdaptif...................................................................................................467
10.9PengambanganBerdasarkanEntropi..............................................................................478
10.10SegmentasiWarna..........................................................................................................485

BAB11RESTORASICITRA.......................................................................................................................497
11.1PengantarRestorasiCitra.................................................................................................498
11.2DeraudalamCitra.............................................................................................................498
11.3JenisDerau........................................................................................................................500
11.3.1DerauGaussian.................................................................................................500
11.3.2DerauGaramdanMerica(Salt&PepperNoise)..............................................505
11.3.3DerauEksponensial...........................................................................................508
11.3.4DerauGamma...................................................................................................511
11.3.4DerauRayleigh..................................................................................................514
11.3.6DerauUniform..................................................................................................517
11.3.7DerauPeriodis...................................................................................................520
11.4PenghilanganDerau..........................................................................................................523
11.4.1FilterLolosRendah...........................................................................................523
11.4.2FilterRerataAritmetik......................................................................................526
11.4.3FilterRerataHarmonik......................................................................................530
11.4.4FilterRerataKontraharmonik...........................................................................534
11.4.5FilterRerataYp.................................................................................................538
11.4.6FilterMedian.....................................................................................................540
11.4.7FilterMax..........................................................................................................545
11.4.8FilterMin...........................................................................................................550
11.4.9FilterTitikTengah.............................................................................................553
11.5PenghilanganDeraudiKawasanFrekuensi......................................................................555
11.6FilterInversi......................................................................................................................563
11.7FilterWiener.....................................................................................................................567
11.8UkuranKeberhasilanPenghilanganDerau.......................................................................570

BAB12EKSTRAKSIFITURBENTUKDANKONTUR..................................................................................575
12.1PengantarEkstraksiFitur..................................................................................................576
12.2TandaTanganKontur.......................................................................................................577
12.3DeskriptorFourier.............................................................................................................581
12.4SifatBundar.......................................................................................................................590
12.5ConvexHulldanSoliditas..................................................................................................593
12.6Proyeksi.............................................................................................................................608
12.7MomenSpasialdanMomenPusat...................................................................................610
12.8MomenInvariant..............................................................................................................613
12.9MomenJarakkePusat......................................................................................................616
12.10MomenZernike...............................................................................................................620
12.11PolarFourierTransform..................................................................................................634
ix

12.12KotakPembatas..............................................................................................................640

BAB13EKSTRAKSIFITURTEKSTUR........................................................................................................649
13.1PengantarFiturTekstur....................................................................................................650
13.2KategoriTekstur................................................................................................................651
13.3TeksturBerbasisHistogram..............................................................................................653
13.4TeksturLaws.....................................................................................................................660
13.5Lacunarity.........................................................................................................................667
13.6GLCM.................................................................................................................................672

BAB14APLIKASITEMUKEMBALICITRA...............................................................................................685
14.1PengantarAplikasiTemuKembaliCitra............................................................................686
14.2PerhitunganJarakAntaraDuaCitra..................................................................................687
14.2.1JarakEuclidean..................................................................................................687
14.2.2JarakCityBlock.................................................................................................688
14.2.3JarakKotakCatur..............................................................................................689
14.2.4JarakMinkowski................................................................................................689
14.2.5JarakCanberra..................................................................................................690
14.2.6JarakBrayCurtis................................................................................................690
14.2.7DivergensiKullbackLeibler...............................................................................691
14.2.8DivergensiJensenShannon...............................................................................691
14.3ContohPenerapanJarak...................................................................................................692
14.4PengembanganLebihLanjut.............................................................................................694

LAMPIRAN:PANDUANOCTAVE............................................................................................................701
L.1MenginstalasidanMenjalankanOctave.............................................................................701
L.2PerintahOctave...................................................................................................................702
L.3Operator..............................................................................................................................703
L.4VariabeldalamOctave........................................................................................................705
L.5AkhiranTitikKomadanPemisahanPernyataan.................................................................706
L.6MengenalMemoriuntukVariabel......................................................................................707
L.7TipeData.............................................................................................................................708
L.8MengenalFasilitasHelp.......................................................................................................709
L.9BilanganKompleks..............................................................................................................709
L.10FungsiMatematika............................................................................................................710
L.11PrioritasOperatordalamOctave......................................................................................714
L.12MengakhiriOctave............................................................................................................714
L.13StringKarakter...................................................................................................................714
L.14Menampilkandengandisp................................................................................................715
L.15Larik...................................................................................................................................715
L.16Notasi:untukMenyatakanJangkauan.............................................................................717
L.17OperasiTranspos...............................................................................................................718
L.18MembentukMatriks..........................................................................................................718
L.19OperasiSkalarterhadapLarik...........................................................................................719
L.20OperasiMatematikaAntarlarik.........................................................................................720
L.21MengaksesLarik................................................................................................................723
L.22MemperolehUkuranLarik................................................................................................727
L.23MengenalSejumlahFungsiLarik.......................................................................................728
x

L.24BerkasSkrip.......................................................................................................................730
L.25MenambahkanKomentar.................................................................................................731
L.26MenuliskanSebuahPerintahpadaBeberapaBaris..........................................................732
L.27OperatorRelasionaldanLogika........................................................................................733
L.27.1OperatorRelasional........................................................................................................733
L.27.2OperatorLogika..............................................................................................................734
L.28Pernyataanif.....................................................................................................................736
L.29Pernyataanif..elseif...........................................................................................................738
L.30Pernyataanswitch.............................................................................................................738
L.31Pernyataanwhile...............................................................................................................739
L.32Pernyataanfor...................................................................................................................740
L.33Pernyataanbreak..............................................................................................................741
L.34Pernyataancontinue.........................................................................................................742

DAFTARPUSTAKA
GLOSARIUM
INDEKS

743
751
757

xi

Pengantarpengolahancitra
Pengenalandasarcitra
Operasipikseldanhistogram
Operasiketetanggaanpiksel
Operasigeometrik
Pengolahancitradikawasanfrekuensi
Morfologiuntukpengolahancitra
Operasipadacitrabiner
Pengolahancitraberwarna
Segmentasicitra
Restorasicitra
Ekstraksifiturbentukdankontur
Ekstraksifiturtekstur
Aplikasitemukembalicitra
PanduanOctave

Bukuinisangatcocokdipakai
olehmahasiswaTeknologi
Informasi,TeknikInformatika,
TeknikElektro,danjurusanteknik
lainyangsedangatauhendak
mempelajaripengolahancitra
untukberbagaikepentingan.

Semuacontohmudahdipraktikkan
denganmenggunakanOctave
ataupunMATLAB.Algoritmadan
kodeyangdisajikantidakmenutup
kemungkinanuntukdikonversikan
kedalambahasapemrograman
lain.

Buku yang menggabungkan teori dan aplikasi pengolahan citra yang


mudah dipahami. Contoh kode sumber yang diberikan merupakan
pelengkap yang sangat berharga.
Widyawan,S.T.,M.Sc.,Ph.D.KetuaProgramStudiTeknologiInformasiUGM

Buku yang menjembatani teori matematis dengan penerapan langsung


menggunakan pemrograman sehingga lebih mudah dicerna oleh praktisi,
mahasiswa, dan bahkan pengajar. Sangat bermanfaat!
NoorAhmadSetiawan,S.T.,M.T.,Ph.D.DosenJTETIFTUGM

Buku yang secara rinci membahas proses pengolahan citra. Disajikan


dengan contoh-contoh nyata dan disertai dengan program-program
aplikasi yang sangat menarik untuk diikuti.
TeguhBharataAdji,S.T.,M.T.,M.Eng.,Ph.D.KetuaMagisterTeknologiInformasiUGM

xii

Anda mungkin juga menyukai