PCD 0 PDF
PCD 0 PDF
Dilengkapi CD
berisi program-
program contoh, Abdul Kadir
file-file latihan, dan
Octave Adhi Susanto
i
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. Para perancang desain grafis telah merasakan betapa nikmatnya menggunakan software
semacam Adobe Photoshop untuk mengerjakan berbagai tugas mereka. Pemakai Microsoft
Word bisa memberikan ilustrasi gambar yang dipoles dengan teknik tertentu, misalnya
memungkinkan gambar seolah-olah dibuat dengan goresan kapur. Robot seperti AIBO dapat
membaca mimik si pemiliknya dan melakukan aksi untuk menghibur. Mesin inspeksi mampu
mendeteksi produk yang cacat. Perangkat presensi dapat mengenali sidik jari para mahasiswa
yang akan mengikuti kuliah. Pintu pun terbuka setelah retina mata si pegawai dipindai oleh
pembaca retina mata. Hal-hal tersebut menunjukkan beberapa contoh yang melibatkan
pengolahan citra.
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 rumus-rumus 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
bentuk program.
Contoh program diwujudkan dengan menggunakan Octave. Octave adalah Free Software yang
kompatibel dengan MATLAB. Perangkat lunak ini dapat diunduh secara gratis. Informasi
pengunduhannya dapat dilihat di http://www.gnu.org/software/octave/download.html. Versi
Octave yang digunakan untuk mengimplementasikan program adalah Octave 3.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, contoh-contoh program yang diberikan sangat mudah
untuk dikonversikan ke bentuk bahasa pemrograman yang lain seperti Java ataupun C++. Kode-
kode penting untuk mewujudkan program telah diusahakan agar tidak bergantung sepenuhnya
pada fungsi-fungsi yang disediakan oleh Octave.
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
dalam mempelajari dan mempraktikkan dasar Octave secara cepat.
iii
Materi di dalam buku ini telah disusun sedemikian rupa sehingga mempermudah bagi pembaca
yang baru saja belajar pengolahan citra. Oleh karena itu, sebaiknya bab-bab yang terdapat
dalam buku ini dibaca secara berurutan. Namun, apabila pembaca telah memiliki dasar
pengolahan citra, membaca secara langsung ke bab-bab 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. Berbagai operasi pemrosesan citra yang berbasis piksel mulai dibahas dalam Bab
3. Dasar histogram juga dibahas dalam bab ini. Bab 4 mulai membahas pengolahan citra yang
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
untuk mengubah citra. Bab 6 membahas alihragam Fourier untuk melakukan pengolahan citra
pada kawasan frekuensi. Bab 7 mulai membicarakan berbagai operasi morfologi seperti erosi,
dilasi, opening, closing, dan transformasi Top-Hat. Bab 8 membahas berbagai operasi yang
dilaksanakan pada citra biner, misalnya untuk memperoleh tepi objek, rantai kode, perimeter,
dan luas objek. Beberapa fitur yang dapat diperoleh pada citra biner mulai diperkenalkan. Bab 9
membahas secara khusus pemrosesan citra dengan melibatkan unsur warna. Bab 10 mengupas
berbagai teknik untuk kepentingan segmentasi, misalnya deteksi tepi dan peng-ambangan
adaptif. Bab 11 membahas secara rinci berbagai metode untuk melaksanakan restorasi citra.
Berbagai fitur bentuk dan kontur dibicarakan dalam Bab 12. Deskriptor Fourier, momen Zernike,
momen invariant, Polar Fourier Transform, dan convex hull dibahas dalam bab ini. Bab 13
secara khusus membahas fitur tekstur. Bab 14 membahas aplikasi temu kembali citra.
Untuk mempermudah dalam mempraktikkan pengolahan citra, seluruh materi praktik yang
dibahas di dalam buku ini dikemas di dalam sebuah CD yang disertakan bersama buku ini. CD
juga berisi perangkat lunak Octave.
Tidak lupa, penulis mengucapkan terima kasih kepada Direktorat Penelitian dan Pengabdian
kepada Masyarakat, Direktorat Jenderal Pendidikan Tinggi, yang telah memberikan dana hibah
penulisan buku teks tahun 2012 dan pendampingan untuk penyelesaian naskah ini. Banyak
masukan berharga yang telah mewarnai koreksi terhadap naskah buku ini.
Penulis menyadari sepenuhnya, “Tak ada gading yang tak retak”. Walaupun usaha yang
maksimum telah dilakukan, tetap saja terdapat kemungkinan kes alahan dan kekurangan di
dalam penyusunan buku ini. Oleh karena itu, saran dari pembaca sangat penulis harapkan agar
materi buku ini senantiasa dapat disempurnakan. Akhir kata, semoga buku ini dapat
memberikan manfaat yang nyata dan menjadi sumber inspirasi bagi pembaca dalam
mengembangkan karya-karya inovatif.
iv
v
DAFTAR ISI
vi
4.10 Filter High-Boost ....................................................................................................... 116
4.11 Efek Emboss.............................................................................................................. 118
4.12 Pengklasifikasian Filter Linear dan Nonlinear............................................................... 121
4.13 Filter Gaussian .......................................................................................................... 122
vii
7.12 Morfologi Aras Keabuan ............................................................................................ 270
7.12.1 Dilasi Beraras Keabuan................................................................................ 271
7.12.2 Erosi Beraras Keabuan ................................................................................ 274
7.12.3 Opening dan Closing ................................................................................... 279
7.13 Transformasi Top-Hat................................................................................................ 281
7.14 Transformasi Bottom-Hat .......................................................................................... 283
viii
10.3.10 Operator Zero-Crossing............................................................................. 444
10.3.11 Operator Gradien Kompas......................................................................... 450
10.4 Peng-ambangan Dwi-Aras.......................................................................................... 454
10.5 Peng-ambangan Global Vs. Lokal ............................................................................... 459
10.6 Peng-ambangan Aras-jamak....................................................................................... 460
10.7 Peng-ambangan dengan Metode Otsu........................................................................ 463
10.8 Peng-ambangan Adaptif ............................................................................................ 467
10.9 Peng-ambangan Berdasarkan Entropi ......................................................................... 478
10.10 Segmentasi Warna .................................................................................................. 485
ix
12.12 Kotak Pembatas ...................................................................................................... 640
x
L.24 Berkas Skrip .............................................................................................................. 730
L.25 Menambahkan Komentar .......................................................................................... 731
L.26 Menuliskan Sebuah Perintah pada Beberapa Baris ...................................................... 732
L.27 Operator Relasional dan Logika .................................................................................. 733
L.27.1 Operator Relasional ................................................................................................ 733
L.27.2 Operator Logika...................................................................................................... 734
L.28 Pernyataan if............................................................................................................. 736
L.29 Pernyataan if..elseif ................................................................................................... 738
L.30 Pernyataan switch ..................................................................................................... 738
L.31 Pernyataan while ....................................................................................................... 739
L.32 Pernyataan for........................................................................................................... 740
L.33 Pernyataan break ...................................................................................................... 741
L.34 Pernyataan continue.................................................................................................. 742
xi
Pengantar pengolahan citra Buku ini sangat cocok dipakai
Pengenalan dasar citra oleh mahasiswa Teknologi
Operasi piksel dan histogram
Informasi, Teknik Informatika,
Operasi ketetanggaan piksel Teknik Elektro, dan jurusan teknik
Operasi geometrik
lain yang sedang atau hendak
Pengolahan citra di kawasan frekuensi mempelajari pengolahan citra
Morfologi untuk pengolahan citra untuk berbagai kepentingan.
Operasi pada citra biner
Pengolahan citra berwarna
Segmentasi citra Semua contoh mudah dipraktikkan
Restorasi citra
dengan menggunakan Octave
Ekstraksi fitur bentuk dan kontur
ataupun MATLAB. Algoritma dan
Ekstraksi fitur tekstur kode yang disajikan tidak menutup
Aplikasi temu kembali citra
kemungkinan untuk dikonversikan
Panduan Octave ke dalam bahasa pemrograman
lain.
xii