• Tidak ada hasil yang ditemukan

Pengenalan Citra Digital dengan matlab

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pengenalan Citra Digital dengan matlab"

Copied!
12
0
0

Teks penuh

(1)

i

Teori dan Aplikasi

Abdul Kadir

Adhi Susanto

Dilengkapi CD berisi program-program contoh,

file-file latihan, dan Octave

(2)

ii

Ceritakan kepada saya, maka saya lupa.

Tunjukkan kepada saya, maka saya ingat.

(3)

iii

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.

(4)

iv

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 kesalahan 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.

Yogyakarta, Juni 2012

Penulis

(5)
(6)

vi DAFTAR ISI

BAB 1 PENGANTAR PENGOLAHAN CITRA ...1

1.1 Pengertian Pengolahan Citra Digital ...2

1.2 Aplikasi Pengolahan Citra...3

1.3 Prinsip Dasar dalam Pengolahan Citra ...7

1.3.1 Peningkatan Kecerahan dan Kontras ...7

1.3.2 Penghilangan Derau ...8

1.3.3 Pencarian Bentuk Objek ...8

BAB 2 PENGENALAN DASAR CITRA ... 11

2.1 Representasi Citra Digital ... 12

2.2 Kuantisasi Citra... 15

2.3 Kualitas Citra ... 18

2.4 Membaca Citra ... 20

2.5 Mengetahui Ukuran Citra... 22

2.6 Menampilkan Citra ... 23

2.7 Mengenal Jenis Citra ... 26

2.7.1 Citra Berwarna ... 26

2.7.2 Citra Berskala Keabuan ... 30

2.7.3 Citra Biner ... 31

2.8 Mengonversi Jenis Citra ... 32

2.9 Menyimpan Citra ... 40

BAB 3 OPERASI PIKSEL DAN HISTOGRAM ... 43

3.1 Operasi Piksel ... 44

3.2 Menggunakan Histogram Citra ... 44

3.3 Meningkatkan Kecerahan ... 50

3.4 Meregangkan Kontras ... 53

3.5 Kombinasi Kecerahan dan Kontras ... 55

3.6 Membalik Citra ... 56

3.7 Pemetaan Nonlinear ... 57

3.8 Pemotongan Aras Keabuan ... 59

3.9 Ekualisasi Histogram ... 63

BAB 4 OPERASI KETETANGGAAN PIKSEL ... 71

4.1 Pengertian Operasi Ketetanggaan Piksel ... 72

4.2 Pengertian Ketetanggaan Piksel ... 72

4.3 Aplikasi Ketetanggaan Piksel pada Filter ... 73

4.3.1 Filter Batas ... 74

4.3.2 Filter Pererataan ... 77

4.3.3 Filter Median ... 80

4.4 Pengertian Konvolusi ... 83

4.5 Problem pada Konvolusi ... 92

4.6 Mempercepat Komputasi pada Konvolusi ... 98

4.7 Pengertian Frekuensi ... 103

4.8 Filter Lolos-Rendah ... 105

(7)

vii

4.10 Filter High-Boost ... 116

4.11 Efek Emboss ... 118

4.12 Pengklasifikasian Filter Linear dan Nonlinear ... 121

4.13 Filter Gaussian ... 122

BAB 5 OPERASI GEOMETRIK ... 121

5.1 Pengantar Operasi Geometrik ... 122

5.2 Menggeser Citra ... 123

5.3 Memutar Citra ... 125

5.4 Interpolasi Piksel ... 129

5.5 Memutar Berdasarkan Sebarang Koordinat ... 134

5.6 Memutar Citra Secara Utuh ... 137

5.7 Memperbesar Citra ... 140

5.8 Memperkecil Citra... 145

5.9 Perbesaran dengan Skala Vertikal dan Horizontal Berbeda ... 146

5.10 Pencerminan Citra ... 146 5.11 Transformasi Affine ... 151 5.12 Efek Ripple ... 154 5.13 Efek Twirl ... 157 5.14 Transformasi Spherical ... 159 5.15 Transformasi bilinear ... 162

BAB 6 PENGOLAHAN CITRA DI KAWASAN FREKUENSI ... 161

6.1 Pengolahan Citra di Kawasan Spasial dan Kawasan Frekuensi ... 168

6.2 Alihragam Fourier ... 169

6.3 Fourier 1-D ... 170

6.4 Fourier 2-D ... 176

6.5 Fast Fourier Transform... 178

6.6 Visualisasi Pemrosesan FFT ... 179

6.7 Penapisan pada Kawasan Frekuensi ... 184

6.8 Filter Lolos-Rendah ... 190

6.9 Filter Lolos-Tinggi ... 200

6.10 Pemfilteran dengan Pendekatan High Frequency Emphasis ... 203

BAB 7 MORFOLOGI UNTUK PENGOLAHAN CITRA ... 209

7.1 Pengertian Operasi Morfologi ... 210

7.2 Matematika yang Melatarbelakangi ... 212

7.2.1 Teori Himpunan ... 212

7.2.2 Operasi Nalar ... 218

7.3 Operasi Dilasi ... 221

7.4 Operasi Erosi ... 229

7.5 Bentuk dan Ukuran Elemen Penstruktur ... 236

7.6 Operasi Opening ... 242 7.7 Operasi Closing ... 245 7.8 Transformasi Hit-or-Miss ... 248 7.9 Skeleton ... 255 7.10 Thickening ... 263 7.11 Convex Hull ... 265

(8)

viii

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

BAB 8 OPERASI PADA CITRA BINER ... 287

8.1 Pengantar Operasi Biner ... 288

8.2 Representasi Bentuk ... 288

8.3 Ekstraksi Tepi Objek ... 288

8.4 Mengikuti Kontur ... 292 8.5 Kontur Internal ... 300 8.6 Rantai Kode ... 305 8.7 Perimeter ... 309 8.8 Luas ... 313 8.9 Diameter ... 317

8.10 Fitur Menggunakan Perimeter, Luas, dan Diameter ... 325

8.11 Pusat Massa dan Fitur Menggunakan Pusat Massa ... 329

8.12 Fitur Dispersi ... 333

8.13 Pelabelan Objek ... 335

BAB 9 PENGOLAHAN CITRA BERWARNA ... 349

9.1 Dasar Warna ... 350

9.2 Ruang Warna ... 350

9.2.1 Ruang Warna RGB ... 350

9.2.2 Ruang Warna CMY/CMYK ... 352

9.2.3 Ruang Warna YIQ ... 356

9.2.4 Ruang Warna YCbCr ... 358

9.2.5 Ruang Warna HSI, HSV, dan HSL ... 360

9.2.6 Ruang Warna CIELAB ... 374

9.3 Memperoleh Statistika Warna ... 378

9.4 Mengatur Kecerahan dan Kontras ... 382

9.5 Menghitung Jumlah Warna ... 384

9.6 Aplikasi Pencarian Citra Berdasarkan Warna Dominan ... 386

BAB 10 SEGMENTASI CITRA ... 401

10.1 Pengantar Segmentasi Citra ... 402

10.2 Deteksi Garis ... 405 10.3 Deteksi Tepi ... 410 10.3.1 Operator Roberts ... 415 10.3.2 Operator Prewitt ... 417 10.3.3 Operator Sobel ... 420 10.3.4 Operator Frei-Chen ... 422 10.3.5 Operator Laplacian ... 425

10.3.6 Operator Laplacian of Gaussian ... 427

10.3.7 Operator Difference of Gaussian ... 433

(9)

ix

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

BAB 11 RESTORASI CITRA ... 497

11.1 Pengantar Restorasi Citra ... 498

11.2 Derau dalam Citra ... 498

11.3 Jenis Derau ... 500

11.3.1 Derau Gaussian ... 500

11.3.2 Derau Garam dan Merica (Salt & Pepper Noise) ... 505

11.3.3 Derau Eksponensial ... 508 11.3.4 Derau Gamma ... 511 11.3.4 Derau Rayleigh ... 514 11.3.6 Derau Uniform ... 517 11.3.7 Derau Periodis ... 520 11.4 Penghilangan Derau ... 523 11.4.1 Filter Lolos-Rendah ... 523

11.4.2 Filter Rerata Aritmetik ... 526

11.4.3 Filter Rerata Harmonik ... 530

11.4.4 Filter Rerata Kontraharmonik ... 534

11.4.5 Filter Rerata Yp ... 538

11.4.6 Filter Median ... 540

11.4.7 Filter Max ... 545

11.4.8 Filter Min ... 550

11.4.9 Filter Titik-Tengah ... 553

11.5 Penghilangan Derau di Kawasan Frekuensi ... 555

11.6 Filter Inversi ... 563

11.7 Filter Wiener ... 567

11.8 Ukuran Keberhasilan Penghilangan Derau ... 570

BAB 12 EKSTRAKSI FITUR BENTUK DAN KONTUR ... 575

12.1 Pengantar Ekstraksi Fitur ... 576

12.2 Tanda-Tangan Kontur ... 577

12.3 Deskriptor Fourier ... 581

12.4 Sifat Bundar ... 590

12.5 Convex Hull dan Soliditas ... 593

12.6 Proyeksi ... 608

12.7 Momen Spasial dan Momen Pusat ... 610

12.8 Momen Invariant ... 613

12.9 Momen Jarak ke Pusat ... 616

12.10 Momen Zernike ... 620

(10)

x

12.12 Kotak Pembatas ... 640

BAB 13 EKSTRAKSI FITUR TEKSTUR ... 649

13.1 Pengantar Fitur Tekstur ... 650

13.2 Kategori Tekstur ... 651

13.3 Tekstur Berbasis Histogram ... 653

13.4 Tekstur Laws ... 660

13.5 Lacunarity ... 667

13.6 GLCM ... 672

BAB 14 APLIKASI TEMU KEMBALI CITRA ... 685

14.1 Pengantar Aplikasi Temu Kembali Citra ... 686

14.2 Perhitungan Jarak Antara Dua Citra ... 687

14.2.1 Jarak Euclidean ... 687

14.2.2 Jarak City-Block ... 688

14.2.3 Jarak Kotak Catur ... 689

14.2.4 Jarak Minkowski ... 689

14.2.5 Jarak Canberra ... 690

14.2.6 Jarak Bray Curtis ... 690

14.2.7 Divergensi Kullback Leibler ... 691

14.2.8 Divergensi Jensen Shannon ... 691

14.3 Contoh Penerapan Jarak ... 692

14.4 Pengembangan Lebih Lanjut ... 694

LAMPIRAN : PANDUAN OCTAVE ... 701

L.1 Menginstalasi dan Menjalankan Octave ... 701

L.2 Perintah Octave ... 702

L.3 Operator ... 703

L.4 Variabel dalam Octave ... 705

L.5 Akhiran Titik Koma dan Pemisahan Pernyataan ... 706

L.6 Mengenal Memori untuk Variabel ... 707

L.7 Tipe Data ... 708

L.8 Mengenal Fasilitas Help... 709

L.9 Bilangan Kompleks ... 709

L.10 Fungsi Matematika ... 710

L.11 Prioritas Operator dalam Octave ... 714

L.12 Mengakhiri Octave ... 714

L.13 String Karakter ... 714

L.14 Menampilkan dengan disp ... 715

L.15 Larik ... 715

L.16 Notasi : untuk Menyatakan Jangkauan ... 717

L.17 Operasi Transpos ... 718

L.18 Membentuk Matriks ... 718

L.19 Operasi Skalar terhadap Larik ... 719

L.20 Operasi Matematika Antarlarik ... 720

L.21 Mengakses Larik ... 723

L.22 Memperoleh Ukuran Larik ... 727

(11)

xi

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 DAFTAR PUSTAKA 743 GLOSARIUM 751 INDEKS 757

(12)

xii

 Pengantar pengolahan citra

 Pengenalan dasar citra

 Operasi piksel dan histogram

 Operasi ketetanggaan piksel

 Operasi geometrik

 Pengolahan citra di kawasan frekuensi

 Morfologi untuk pengolahan citra

 Operasi pada citra biner

 Pengolahan citra berwarna

 Segmentasi citra

 Restorasi citra

 Ekstraksi fitur bentuk dan kontur

 Ekstraksi fitur tekstur

 Aplikasi temu kembali citra

 Panduan Octave

Buku ini sangat cocok dipakai

oleh mahasiswa Teknologi

Informasi, Teknik Informatika,

Teknik Elektro, dan jurusan teknik

lain yang sedang atau hendak

mempelajari pengolahan citra

untuk berbagai kepentingan.

Semua contoh mudah dipraktikkan

dengan menggunakan Octave

ataupun MATLAB. Algoritma dan

kode yang disajikan tidak menutup

kemungkinan untuk dikonversikan

ke dalam bahasa pemrograman

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. – Ketua Program Studi Teknologi Informasi UGM “Buku yang menjembatani teori matematis dengan penerapan langsung menggunakan pemrograman sehingga lebih mudah dicerna oleh praktisi, mahasiswa, dan bahkan pengajar. Sangat bermanfaat!”

Noor Ahmad Setiawan, S.T., M.T., Ph.D. – Dosen JTETI FT UGM “Buku yang secara rinci membahas proses pengolahan citra. Disajikan dengan contoh-contoh nyata dan disertai dengan program-program aplikasi yang sangat menarik untuk diikuti.”

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui motivasi siswa dengan menggunakan strategi permainan bergambar dalam pembelajaran berbicara di Mts Al- Munawaroh

hasil belajar siswa dengan menggunakan modul matematika warisan ada perbedaan antara pembelajaran menggunakan modul matematika warisan berbasis masalah dengan matematika

ini sejalan dengan hasil penelitian Setiawan (2015) yang membuktikan bahwa likuiditas yang diproksikan dengan current ratio tidak berpengaruh terhadap penerimaan

Nilai temperatur curie yang didapatkan dari kedua penelitian ini masih jauh lebih kecil jika dibandingkan dengan temperatur curie yang dimiliki oleh bahan PZT.. Pada penelitian ini

Berdasarkan hasil perhitungan burnup 3 dimensi pada reaktor pembiak cepat dengan penggunaan bahan bakar UN-PuN, UC-PuCdan MOX, maka dapat disimpulkan bahwa

pelayan KB secara khusus sudah dibuat format Informed conscen yang harus ditan- datangani klien dan suami setelah menda- patkan konseling dan mengambil keputusan ber KB dan

Berdasarkan hasil penelitian terlihat bahwa responden yang memiliki pengetahuan baik, lebih banyak berperilaku sedang dan baik dalam menghadapi upaya mencegah

[r]