Anak Agung Ngurah Gunawan
PENGOLAHAN CITRA DIGITAL
STEP BY STEP MENGGUNAKAN DELPHI 7
Penerbit : ANDI
PENGOLAHAN CITRA DIGITAL
STEP BY STEP MENGGUNAKAN DELPHI 7
Anak Agung Ngurah Gunawan
Penerbit
PENGOLAHAN CITRA DIGITAL STEP BY STEP MENGGUNAKAN DELPHI 7
Oleh : Anak Agung Ngurah Gunawan
Hak Cipta @ 2013 pada Penulis
Editor :
Setting :
Desain Cover : Korektor :
Hak cipta dilindungi undang-undang. Dularang memperbanyak atau memendahkan sebagian atau seluruh isi buku ini dalam bentuk apapun, baik secara elektronis maupun mekanis, termasuk memfotocopy, merekam, atau dengan sistem
penyimpanan lainnyatanpa izin tertulis dari penulis.
Penerbit:
Percetakan:
Perpustakaan Nasional: Katalog dalam Terbitan (KDT)
Buku ini kupersembahkan kepada
Orang tuaku tercinta Almr. A. A. Pt. Oka Pudjawan dan A.A. Ayu Kompiang Raka Mertuaku tercinta Almr. Ahmad Simin dan Alrm Sih Niti Istriku tercinta Sumi Natalia Anakku tersanyang Jacqueline, Franky, Frady Cucuku tersayang A.A. Ngr. Brawijaya (Wah Brow) Dan mantu : IGst Agung Prabawa Weda Kehadiranmu adalah pembuka jalan terciptanya buku ini
KATA PENGANTAR
Puji syukur Penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas selesainya penyusunan buku Pratikum Pengolahan Citra Digital. Buku ini disusun untuk melengkapi khasanah buku teks perkuliahan di Teknik Informatika atau Ilmu Komputer, khususnya di bidang pengolahan citra. Penulis berharap dengan adanya buku ini, mahasiswa mendapatkan panduan dalam mengikuti Pratikum Pengolahan Citra Digital di pendidikan D3 atau S1 Teknik Informatika atau Ilmu Komputer.
Materi dalam buku ini adala teori dan langkah pemrograman, diharapkan setelah membaca buku ini pembaca bisa membuat priram sederhana pengolahan citra digital dengan menggunakan bahasa pemrograman dephi 7.
Sebagai sebuah karya manusia, tentu buku ini masih banyak mengandung
kelemahan. Kami berharap masukan kritik dan saran dari pembaca melalui email [email protected]. Penulis berterimakasi atas kritik saran pembaca yang akan kami sempurnakan penerbitan buku berikutnya.
Denpasar, Agustus 2013 Penyusun
DAFTAR ISI
KATA PENGANTAR v
DAFTAR ISI vii
DAFTAR GAMBAR x
DAFTAR TABEL xviii
BAB I OPEN IMAGE 1
1.1 Cara Membuat Program Open Image 1
1.2 Program Open Image Selengkapnya Adalah Sebagai Berikut 7
BAB II HISTOGRAM EQUALIZATION 9
2.1 Perataan Histogram 9
2.2 Cara Membuat Program Equalization 13
2.3 Program Histogram Equalization Selengkapnya Adalah sebagai
Berikut 25
BAB III WIENER FILTER 31
3.1 Teori Wiener Filter 31
3.2 Cara Membuat Program Wiener Filter 32
3.3 Program Wiener Filter Selengkapnya Adalah Sebagai Berikut 45
BAB IV GLOBAL TRESHOLDING 51
4.1 Dasar Teori Global Thresholding 51
4.2 Cara Membuat Program Global Thresholding 51
4.3 Program Global Thresholding Selengkapnya Adalah Sebagai
Berikut 61
BAB V HISTOGRAM CUT 65
5.1 Dasar Teori Histogram Cut 65
5.2 Cara Menbuat Program Histogram Cut 69
5.3 Program Histogram Cut Selengkapnya Adalah Sebagai Berikut 84
BAB VI MORPOLOGI 89
6.1 Dasar Teori Morpologi 89
6.1.1 Struktur elemen 89
6.1.2 Dilasi 89
6.1.3 Erosi 90
6.1.4 Opening 91
6.1.5 Closing 91
6.2 Cara Menbuat Program Morpologi 92 6.3 Program Morpologi Selengkapnya Adalah Sebagai Berikut 105
BAB VII SUBTRAK 111
7.1 Dasar Teori Subtrak 111
7.2 Cara Membuat Program Subtrak 111
7.3 Program Subtrak Selengkapnya Adalah Sebagai Berikut 123
BAB VIII DETEKSI TEPI SOBEL 127
8.1 Dasar Teori Deteksi Tepi Sobel 127
8.2 Cara Membuat Program Deteksi Tepi Sobel 128
8.3 Program Deteksi Tepi Sobel Selengkapnya Adalah Sebagai Berikut 140
BAB IX DETEKSI TEPI PREWITT 145
9.1 Dasar Teori Deteksi Tepi Prewitt 145
9.2 Cara Membuat Program Deteksi Tepi Prewitt 146 9.3 Program Deteksi Tepi Prewitt Selengkapnya Adalah Sebagai
Berikut 159
BAB X DETEKSI TEPI ROBERT 163
10.1 Dasar Teori Deteksi Tepi Robert 163
10.2 Cara Membuat Program Deteksi Tepi Robert 164 10.3 Program Deteksi Tepi Robert Selengkapnya Adalah Sebagai Berikut 176
BAB XI LOW PASS FILTER 181
11.1 Dasar Teori Low Pass Filter 181
11.2 Cara Membuat Program Low Pass Filter 181
11.3 Program Low Pass Filter Selengkapnya Adalah Sebagai Berikut 194
BAB XII HIGHT PASS FILTER 199
12.1 Dasar Teori Hight Pass Filter 199
12.2 Cara Membuat Program Hight Pass Filter 200
12.3 Program Hight Pass Filter Selengkapnya Adalah Sebagai Berikut 214
BAB XIII K-MEANS 219
13.1 Algoritma K-Means 219
13.2 Cara Membuat Program K-Means 222
13.3 Program K-Means Selengkapnya Adalah Sebagai Berikut 240
BAB XIV MENAMPILKAN NILAI INTENSITAS PIXEL 247
14.1 Pendahuluan 247
14.2 Cara Membuat Program Menampilkan Nilai Intensitas Pixel 247 14.3 Program Menampilkan Nilai Intensitas Pixel Selengkapnya Adalah
Sebagai Berikut 255
BAB XV LOG IN 261
15.1 Pendahuluan 261
15.2 Cara Membuat Program Log In 261
15.3 Program Log In Selengkapnya Adalah Sebagai Berikut 268
DAFTAR PUSTAKA 271
DAFTAR RIWAYAT HIDUP 273
DAFTAR GAMBAR
Gambar 1.1 Start Program Delphi 1
Gambar 1.2 New Application 1
Gambar 1.3 Object Inspector 2
Gambar 1.4 Save All 2
Gambar 1.5 Save Unit 2
Gambar 1.6 Save Project 3
Gambar 1.7 Menu Image 3
Gambar 1.8 Stretch True 3
Gambar 1.9 Menu Button 4
Gambar 1.10 Button Open 4
Gambar 1.11 Menu OpenPictureDialog 4
Gambar 1.12 Hasil OpenPictureDialog 5
Gambar 1.13 Button Exit 5
Gambar 1.14 Menu Compiler 6
Gambar 1.15 Menu Run 6
Gambar 1.16 Hasil Program 7
Gambar 2.1 Fungsi Transformasi 10
Gambar 2.2 Histogram Citra Sebelum Perataan 11
Gambar 2.3 Histogram Citra Hasil Pemetaan. 12
Gambar 2.4 Start Program Delphi 13
Gambar 2.5 New Application 13
Gambar 2.6 Object Inspector 14
Gambar 2.7 Save All 14
Gambar 2.8 Save UnitEqualization 14
Gambar 2.9 Save ProjectEqualization 15
Gambar 2.10 Menu Image 15
Gambar 2.11 Stretch True 15
Gambar 2.12 Penambahan Image 2 16
Gambar 2.13 Menu Button 16
Gambar 2.14 Button Open 16
Gambar 2.15 Menu OpenPictureDialog 17
Gambar 2.16 Hasil OpenPictureDialog 17
Gambar 2.17 Button Equalization 18
Gambar 2.18 Menu ProgresBar 18
Gambar 2.19 Hasil ProgresBar 18
Gambar 2.20 New Unit 19
Gambar 2.21 Save All 19
Gambar 2.22 Save UnitImageProses 19
Gambar 2.23 Hasil Save UnitImageProses 20
Gambar 2.24 Kembali ke FormEqualization 22
Gambar 2.25 Menu Toggle Form 23
Gambar 2.26 Klik Button Equalization 23
Gambar 2.27 Button Exit 24
Gambar 2.28 Compile ProjectEqualization 24
Gambar 2.29 Run ProjectEqualization 25
Gambar 2.30 Hasil Program Equalization 25
Gambar 3.1 Start Program 32
Gambar 3.2 New Application 33
Gambar 3.3 Form Wiener Filter 33
Gambar 3.4 Save All 33
Gambar 3.5 Unit Wiener Filter 34
Gambar 3.6 Project Wiener Filter 34
Gambar 3.7 Menu Image 34
Gambar 3.8 Stretch True 35
Gambar 3.9 Penambahan Image 2 35
Gambar 3.10 Menu Button 35
Gambar 3.11 Button Open 36
Gambar 3.12 Menu OpenPictureDialog 36
Gambar 3.13 Hasil OpenPictureDialog 36
Gambar 3.14 Button Wiener Filter 37
Gambar 3.15 Menu ProgresBar 37
Gambar 3.16 Hasil ProgresBar 38
Gambar 3.17 New Unit 38
Gambar 3.18 Save All 38
Gambar 3.19 Save UnitImageProses 39
Gambar 3.20 Hasil Save UnitImageProses 39
Gambar 3.21 Kembali ke FormWienerFilter 42
Gambar 3.22 Menu Toggle Form 43
Gambar 3.23 Klik Button Wiener Filter 43
Gambar 3.24 Button Exit 44
Gambar 3.25 Menu Compile 44
Gambar 3.26 Menu Run 45
Gambar 3.27 Hasil Wiener Filter 45
Gambar 4.1 Start Program 51
Gambar 4.2 Form Global Thresholding 52
Gambar 4.3 Button Open 52
Gambar 4.4 Save All 53
Gambar 4.5 Save Unit Global Thresolding 53
Gambar 4.6 Save Project Global Thresolding 54
Gambar 4.7 Button Thresolding 55
Gambar 4.8 New Unit 55
Gambar 4.9 Save Image Proses 56
Gambar 4.10 Edit Thresolding 59
Gambar 4.11 Button Exit 60
Gambar 4.12 Hasil Program Thresolding 60
Gambar 5.1 Start Program 69
Gambar 5.2 New Application 69
Gambar 5.3 Form Histogram Cut 70
Gambar 5.4 Save All 70
Gambar 5.5 Save UnitHistogramCut 70
Gambar 5.6 Save ProjectHistogramCut 71
Gambar 5.7 Menu Image 71
Gambar 5.8 AutoSize True 71
Gambar 5.9 Penambahan Image 2 72
Gambar 5.10 Menu Button 72
Gambar 5.11 Button Open 72
Gambar 5.12 Menu OpenPictureDialog 73
Gambar 5.13 Hasil OpenPictureDialog 73
Gambar 5.14 Button HistogramCut 74
Gambar 5.15 Menu ProgresBar 74
Gambar 5.16 Hasil ProgresBar 74
Gambar 5.17 New Unit 75
Gambar 5.18 Save As 75
Gambar 5.19 Save UnitImageProses 75
Gambar 5.20 Hasil Save UnitImageProses 76
Gambar 5.21 Kembali ke Form HistogramCut 79
Gambar 5.22 Menu Toggle 79
Gambar 5.23 Klik Button HistogramCut 89
Gambar 5.24 Button Exit 81
Gambar 5.25 Menu Edit 81
Gambar 5.26 Object InspectorEdit 81
Gambar 5.27 Menu Label 82
Gambar 5.28 Object Inspector Cut 82
Gambar 5.29 Menu Compile 83
Gambar 5.30 Menu Run 83
Gambar 5.31 Hasil Program Histogram Cut 84
Gambar 6.1 Start Program 92
Gambar 6.2 New Application 92
Gambar 6.3 Form Morpologi 93
Gambar 6.4 Save All 93
Gambar 6.5 Save UnitMorpologi 93
Gambar 6.6 Save ProjectMorpologi 94
Gambar 6.7 Menu Image 94
Gambar 6.8 Stretch True 94
Gambar 6.9 Penambahan Image 2 95
Gambar 6.10 Menu Button 95
Gambar 6.11 Button Open 95
Gambar 6.12 Menu OpenPictureDialog 96
Gambar 6.13 Hasil OpenPictureDialog 96
Gambar 6.14 Button Morpologi 97
Gambar 6.15 Menu ProgresBar 97
Gambar 6.16 Hasil ProgresBar 97
Gambar 6.17 New Unit 98
Gambar 6.18 Save As 98
Gambar 6.19 Save UnitImageProses 98
Gambar 6.20 Hasil Save UnitImageProses 99
Gambar 6.21 Kembali ke FormMorpologi 102
Gambar 6.22 Menu Toggle 102
Gambar 6.23 Klik Button Morpologi 102
Gambar 6.24 Button Exit 103
Gambar 6.25 Compiler ProjectMorpologi 104
Gambar 6.26 Menu Run 104
Gambar 6.27 Hasil Program Morpologi 104
Gambar 7.1 Start Program 111
Gambar 7.2 New Application 112
Gambar 7.3 Form Substrak 112
Gambar 7.4 Save All 112
Gambar 7.5 Save UnitSubtrak 113
Gambar 7.6 Save ProjectSubstrak 113
Gambar 7.7 Menu Image 113
Gambar 7.8 Stretch True 114
Gambar 7.9 Penambahan Image 2 114
Gambar 7.10 Menu Button 114
Gambar 7.11 Button Open 115
Gambar 7.12 Menu OpenPictureDialog 115
Gambar 7.13 Hasil OpenPictureDialog 115
Gambar 7.14 Button Subtrak 116
Gambar 7.15 Menu ProgresBar 116
Gambar 7.16 Hasil ProgresBar 117
Gambar 7.17 New Unit 117
Gambar 7.18 Save As 117
Gambar 7.19 Save UnitImageProses 118
Gambar 7.20 Hasil Save UnitImageProses 118
Gambar 7.21 Kembali ke FormSubstrak 120
Gambar 7.22 Menu Toggle 121
Gambar 7.23 Klik Button Substrak 121
Gambar 7.24 Button Exit 122
Gambar 7.25 Compiler ProjectSubtrak 122
Gambar 7.26 Menu Run 122
Gambar 7.27 Hasil Program Subtrak 123
Gambar 8.1 Start Program 128
Gambar 8.2 New Application 128
Gambar 8.3 Form Sobel 129
Gambar 8.4 Save All 129
Gambar 8.5 Save UnitSobel 129
Gambar 8.6 Save ProjectSobel 130
Gambar 8.7 Menu Image 130
Gambar 8.8 Stretch True 130
Gambar 8.9 Penambahan Image 2 131
Gambar 8.10 Menu Button 131
Gambar 8.11 Button Open 131
Gambar 8.12 Menu OpenPictureDialog 132
Gambar 8.13 Hasil OpenPictureDialog 132
Gambar 8.14 Button Sobel 133
Gambar 8.15 New Unit 133
Gambar 8.16 Save As 133
Gambar 8.17 Save UnitImageProses 134
Gambar 8.18 Hasil Save UnitImageProses 134
Gambar 8.19 Kembali ke FormSobel 136
Gambar 8.20 Menu Toggle 136
Gambar 8.21 Button Sobel 136
Gambar 8.22 Button Exit 138
Gambar 8.23 Compiler ProjectSobel 139
Gambar 8.24 Menu Run 139
Gambar 8.25 Hasil Mammografi 140
Gambar 8.26 Hasil Photo 140
Gambar 9.1 Start Program 146
Gambar 9.2 New Application 146
Gambar 9.3 Form Prewitt 147
Gambar 9.4 Save All 147
Gambar 9.5 Save UnitPrewitt 147
Gambar 9.6 Save ProjectPrewitt 148
Gambar 9.7 Menu Image 148
Gambar 9.8 Stretch True 148
Gambar 9.9 Penambahan Image 2 149
Gambar 9.10 Menu Button 149
Gambar 9.11 Button Open 149
Gambar 9.12 Menu OpenPictureDialog 150
Gambar 9.13 Hasil OpenPictureDialog 150
Gambar 9.14 Button Prewitt 151
Gambar 9.15 New Unit 151
Gambar 9.16 Save As 151
Gambar 9.17 Save UnitImageProses 152
Gambar 9.18 Hasil Save UnitImageProses 152
Gambar 9.19 Kembali ke FormPrewitt 154
Gambar 9.20 Menu Toggle 154
Gambar 9.21 Button Sobel 154
Gambar 9.22 Button Exit 156
Gambar 9.23 Compiler ProjectPrewitt 157
Gambar 9.24 Menu Run 157
Gambar 9.25 Hasil Mammografi 158
Gambar 9.26 Hasil Photo 158
Gambar 10.1 Start Program 164
Gambar 10.2 New Application 164
Gambar 10.3 Form Robert 165
Gambar 10.4 Save All 165
Gambar 10.5 Save UnitRobert 165
Gambar 10.6 Save ProjectRobert 166
Gambar 10.7 Menu Image 166
Gambar 10.8 Stretch True 166
Gambar 10.9 Penambahan Image 2 167
Gambar 10.10 Menu Button 167
Gambar 10.11 Button Open 167
Gambar 10.12 Menu OpenPictureDialog 168
Gambar 10.13 Hasil OpenPictureDialog 168
Gambar 10.14 Button Robert 169
Gambar 10.15 New Unit 169
Gambar 10.16 Save As 169
Gambar 10.17 Save UnitImageProses 170
Gambar 10.18 Hasil Save UnitImageProses 170
Gambar 10.19 Kembali ke FormRobert 172
Gambar 10.20 Menu Toggle 172
Gambar 10.21 Button Robert 172
Gambar 10.22 Button Exit 174
Gambar 10.23 Compiler ProjectRobert 175
Gambar 10.24 Menu Run 175
Gambar 10.25 Hasil Program Robert 175
Gambar 11.1 Start Program 181
Gambar 11.2 New Application 182
Gambar 11.3 Form LowPassFilter 182
Gambar 11.4 Save All 182
Gambar 11.5 Save UnitLowPassFilter 183
Gambar 11.6 Save ProjectLowPassFilter 183
Gambar 11.7 Menu Image 183
Gambar 11.8 Stretch True 184
Gambar 11.9 Penambahan Image 2 184
Gambar 11.10 Menu Button 184
Gambar 11.11 Button Open 185
Gambar 11.12 Menu OpenPictureDialog 185
Gambar 11.13 Hasil OpenPictureDialog 185
Gambar 11.14 Button Low Pass Filter 186
Gambar 11.15 New Unit 187
Gambar 11.16 Save As 187
Gambar 11.17 Save UnitImageProses 187
Gambar 11.18 Hasil Save UnitImageProses 188
Gambar 11.19 Kembali ke FormLowPassFilter 190
Gambar 11.20 Menu Toggle 190
Gambar 11.21 Klik Button Low Pass Filter 190
Gambar 11.22 Button Exit 192
Gambar 11.23 Compiler ProjectLowPassFilter 193
Gambar 11.24 Menu Run 193
Gambar 11.25 Hasil Mammografi 194
Gambar 11.26 Hasil Photo 194
Gambar 12.1 Start Program 200
Gambar 12.2 New Application 200
Gambar 12.3 FormHighPassFilter 201
Gambar 12.4 Save All 201
Gambar 12.5 Save UnitHighPassFilter 202
Gambar 12.6 Save ProjectHighPassFilter 202
Gambar 12.7 Menu Image 202
Gambar 12.8 Stretch True 203
Gambar 12.9 Penambahan Image 2 203
Gambar 12.10 Menu Button 204
Gambar 12.11 Button Open 204
Gambar 12.12 Menu OpenPictureDialog 204
Gambar 12.13 Hasil OpenPictureDialog 205
Gambar 12.14 Button High Pass filter ton Low Pass Filter 206
Gambar 12.15 New Unit 206
Gambar 12.16 Save As 206
Gambar 12.17 Save UnitImageProses 207
Gambar 12.18 Hasil Save UnitImageProses 207
Gambar 12.19 Kembali ke FormHighPassFilter 209
Gambar 12.20 Menu Toggle 209
Gambar 12.21 Klik Button High Pass Filter 209
Gambar 12.22 Button Exit 211
Gambar 12.23 Compiler ProjectHighPassFilter 212
Gambar 12.24 Menu Run 212
Gambar 12.25 Hasil Mammografi 213
Gambar 12.26 Hasil Photo 213
Gambar 13.1 Start Program 222
Gambar 13.2 New Application 223
Gambar 13.3 FormKMean 223
Gambar 13.4 Save All 223
Gambar 13.5 Save UnitKMean 224
Gambar 13.6 Save ProjectKMean 224
Gambar 13.7 Menu Image 224
Gambar 13.8 Stretch True 225
Gambar 13.9 Penambahan Image 2 225
Gambar 13.10 Menu Button 225
Gambar 13.11 Button Open 226
Gambar 13.12 Menu OpenPictureDialog 226
Gambar 13.13 Hasil OpenPictureDialog 226
Gambar 13.14 Button K-Mean 227
Gambar 13.15 Menu Label 228
Gambar 13.16 Label K 228
Gambar 13.17 Menu Edit 228
Gambar 13.18 EditCluster 229
Gambar 13.19 Label Weight 229
Gambar 13.20 Clr Wight 40Menu Toggle 230
Gambar 13.21 Menu ProgressBar 230
Gambar 13.22 Hasil ProgressBar 230
Gambar 13.23 Menu New Unit 231
Gambar 13.24 Menu Save As 231
Gambar 13.25 Save UnitImageProses 232
Gambar 13.26 Hasil UnitImageProses 232
Gambar 13.27 Kembali ke FormKMean 237
Gambar 13.28 Toggle 237
Gambar 13.29 Button K-Mean 237
Gambar 13.30 Button Exit 238
Gambar 13.31 Compiler ProjectKMean 239
Gambar 13.32 Menu Run 239
Gambar 13.33 Hasil Program K-Mean 239
Gambar 14.1 Menu Open Project 247
Gambar 14.2 Open ProjectHistogramCut 248
Gambar 14.3 Hasil OpenProjectHistogramCut 248
Gambar 14.4 Menu Memo 249
Gambar 14.5 Hasil Memo 249
Gambar 14.6 MainMenu 249
Gambar 14.7 Hasil Main Menu Pada Form 250
Gambar 14.8 Tampilan Main Menu 250
Gambar 14.9 Tulisan Caption File Pada Main Menu 251
Gambar 14.10 Hasil Tampilan Fle Main Menu 251
Gambar 14.11 Menampilkan Tulisan Nilai Intensitas Pixel Awal 251 Gambar 14.12 Menampilkan Nilai Intensitas Pixel Hasil 252
Gambar 14.13 Kembali ke FormHistogramCut 252
Gambar 14.14 Hasil Program Menampilkan Nialai Intensitas Pixel 254
Gambar 15.1 Start Program 261
Gambar 15.2 New Application 261
Gambar 15.3 Form LogIn 262
Gambar 15.4 Tambah Edit ke Form 262
Gambar 15.5 Tambah Button ke Form 263
Gambar 15.6 New Form 263
Gambar 15.7 Form Aplikasi 264
Gambar 15.8 Menu Save All 264
Gambar 15.9 Save UnitLogIn 265
Gambar 15.10 Use Unit 265
Gambar 15.11 Mengelingkan Form Aplikasi Dengan UnitLogIn 266 Gambar 15.12 Mengelingkan UnitLogIn Dengan Form Aplikasi 266
Gambar 15.13 Compiler ProjectLogIn 267
Gambar 15.14 Menu Run 267
Gambar 15.15 Hasil Program LogIn 268
DAFTAR TABEL
TABEL 2.1 Nilai-nilai rk jika L=8 9
TABEL 2.2 Histogram Citra Semula Sebelum Perataan 10
TABEL 2.3 Hasil Transformasinya 11
TABEL 2.4 Histogram Citra Hasil Perataan 12