Anda di halaman 1dari 12
Teori dan Aplikasi
Teori dan Aplikasi

Teori dan Aplikasi

Dilengkapi CD berisi program- program contoh, file-file latihan, dan Octave Abdul Kadir Adhi Susanto
Dilengkapi CD
berisi program-
program contoh,
file-file latihan, dan
Octave
Abdul Kadir
Adhi Susanto
dan Aplikasi Dilengkapi CD berisi program- program contoh, file-file latihan, dan Octave Abdul Kadir Adhi Susanto
dan Aplikasi Dilengkapi CD berisi program- program contoh, file-file latihan, dan Octave Abdul Kadir Adhi Susanto
dan Aplikasi Dilengkapi CD berisi program- program contoh, file-file latihan, dan Octave Abdul Kadir Adhi Susanto
dan Aplikasi Dilengkapi CD berisi program- program contoh, file-file latihan, dan Octave Abdul Kadir Adhi Susanto

i

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

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

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

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

iv

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

4.9 Filter Lolos-Tinggi

112

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

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

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

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

10.3.9

Operator Canny

435

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

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

12.11 Polar Fourier Transform

634

ix

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

L.23 Mengenal Sejumlah Fungsi Larik

728

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

DAFTAR PUSTAKA

743

GLOSARIUM

751

INDEKS

757

xi

 Pengantar pengolahan citra  Pengenalan dasar citra  Operasi piksel dan histogram  Operasi
 Pengantar pengolahan citra  Pengenalan dasar citra  Operasi piksel dan histogram  Operasi

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.Teguh Bharata Adji, S.T., M.T., M.Eng., Ph.D. Ketua Magister Teknologi Informasi UGM

xii