Disusun oleh :
Nama : Marvelina Gracia Hernoko
NIM : 1718040
Jurusan : Teknik Informatika S-1
Kelompok : 9
Disusun Oleh
NAMA : Marvelina Gracia Hernoko
NIM : 1718040
PRODI : Teknik Informatika S-1
Mengetahui, Menyetujui,
Kepala Laboratorium Dosen Pembimbing
Pengolahan Citra & Multimedia
Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa, karena
atas berkah rahmat dan karunia-Nya sehingga kami dapat menyelesaikan Laporan
Praktikum Mata Kuliah, guna persyaratan dalam menempuh mata kuliah.
Laporan ini disusun berdasarkan percobaan dan teori dasar yang ada dalam
buku panduan praktikum ,teori yang diperoleh praktikan dari perkuliahan, dan tidak
lupa yaitu Internet sehingga praktikan dapat menambah tidak hanya menguasai
teori saja namun juga memahami serta mengaplikasikannya.
Terwujudnya laporan ini, tentunya tidak lepas dari bantuan-bantuan yang
telah kami terima. Pada kesempatan ini, kami menyampaikan terima kasih yang
sebesar-besarnya kepada yang terhormat:
1. Bapak Ali Mahmudi, B.Eng, P.Hd selaku dosen pembimbing Praktikum
Pengolahan citra digital.
2. Ibu Nurlaily Vendyansyah, ST selaku dosen mata kuliah Pengolahan Citra
Digital.
3. Ibu Febriana Santi W, S.Kom, M.Kom selaku Ketua Lab. Pengolahan
Citra dan Multimedia JurusanTeknik Informatika ITN Malang.
4. Instruktur Lab. Nama Laboratorium Teknik Informatika yang telah memberi
petunjuk kepada kami selama pelaksanaan praktikum.
5. Rekan-rekan yang telah membantu dalam pelaksanaan dan penyelesaian
laporan ini.
Dalam menyusun laporan ini kami menyadar ibahwa laporan ini masih
memiliki kekurangan, karena itu segala kritik dan saran yang membangunakan
kami nanti demi perbaikan penyusunan laporan selanjutnya.
Harapan kami laporan praktikum i
ni bermanfaat bagi penulis sendiri maupun pembaca sekalian.
Penulis
i
DAFTAR ISI
LEMBAR PENGESAHAN
KATA PENGANTAR ............................................................................................. i
DAFTAR ISI ........................................................................................................... ii
DAFTAR GAMBAR ............................................................................................. v
DAFTAR TABEL ................................................................................................. vii
PRAKTIKUM PENGOLAHAN CITRA DIGITAL .............................................. 1
PERTEMUAN : 1 ................................................................................................... 1
1. Pengenalan Citra ............................................................................................. 1
1.1. Langkah-langkah Membuat Tugas .................................................................. 4
1.2 Alat dan Bahan ................................................................................................. 7
1.3 Tujuan .............................................................................................................. 7
1.4 Kesimpulan ....................................................................................................... 7
PRAKTIKUM PENGOLAHAN CITRA DIGITAL .............................................. 8
PERTEMUAN : 2 ................................................................................................... 8
2. Pengenalan Matlab .......................................................................................... 8
2.1 Langkah-langkah Membuat Tugas ................................................................ 11
2.2 Alat dan Bahan ................................................................................................ 16
2.3 Tujuan ............................................................................................................. 16
2.4 Kesimpulan ..................................................................................................... 16
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 18
PERTEMUAN : 3 ................................................................................................. 18
3. Operasi Titik & Aritmatika Pada Pengolahan Citra ...................................... 18
3.1 Langkah-langkah Membuat Tugas .................................................................. 20
3.2 Alat dan Bahan ................................................................................................ 25
3.3 Tujuan ............................................................................................................. 25
3.4 Kesimpulan .................................................................................................... 25
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 26
PERTEMUAN : 4 ................................................................................................. 26
ii
4. Macam- macam operasi pengolahan citra ..................................................... 26
4.1 Langkah-langkah Membuat Tugas .................................................................. 29
4.2 Alat dan Bahan ............................................................................................... 34
4.3 Tujuan ............................................................................................................. 34
4.4 Kesimpulan ..................................................................................................... 35
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 36
PERTEMUAN : 5 ................................................................................................. 36
5. Operasi Konvulusi & Segmentasi Citra ......................................................... 36
5.1 Langkah-langkah Membuat Tugas .................................................................. 39
5.2 Alat dan Bahan ................................................................................................ 45
5.3 Tujuan ............................................................................................................. 45
5.4 Kesimpulan ..................................................................................................... 45
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 46
PERTEMUAN : 6 ................................................................................................. 46
6. Filter Spasial Non-Linier.............................................................................. 46
6.1 Langkah-langkah Membuat Tugas .................................................................. 50
6.2 Alat dan Bahan ................................................................................................ 56
6.3 Tujuan ............................................................................................................. 56
6.4 Kesimpulan ..................................................................................................... 57
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 58
PERTEMUAN : 7 ................................................................................................. 58
7. Pendeteksian Tepi (Edge Detection) ............................................................ 58
7.1 Langkah-langkah Membuat Tugas .................................................................. 61
7.2 Alat dan Bahan ................................................................................................ 71
7.3 Tujuan ............................................................................................................. 72
7.4 Kesimpulan ..................................................................................................... 72
TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL .............................. 73
PERTEMUAN : 8 ................................................................................................. 73
8. Pemampatan Citra ........................................................................................ 73
8.1 Langkah-langkah Membuat Tugas .................................................................. 74
8.2 Alat dan Bahan ................................................................................................ 77
8.4 Tujuan ............................................................................................................. 77
iii
8.5 Kesimpulan ..................................................................................................... 77
PRAKTIKUM PENGOLAHAN CITRA DIGITAL ............................................ 78
PERTEMUAN : 9 ................................................................................................. 78
9. Watermark Citra ............................................................................................ 78
9.1 Langkah-langkah Membuat Tugas ................................................................ 79
9.2 Alat dan Bahan ................................................................................................ 83
9.3 Tujuan ............................................................................................................. 83
9.4 Kesimpulan ..................................................................................................... 84
TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL .............................. 85
PERTEMUAN : 10 ............................................................................................... 85
10. Histogram Citra................................................................................... 85
10.1Langkah-langkah Membuat Tugas ................................................................ 85
10.2Alat dan Bahan ............................................................................................... 88
10.3Tujuan ............................................................................................................ 89
10.4Kesimpulan .................................................................................................... 89
PENUTUP ............................................................................................................. 90
Kesimpulan ........................................................................................................... 90
Saran ...................................................................................................................... 90
DAFTAR PUSTAKA ........................................................................................... 91
iv
DAFTAR GAMBAR
v
Gambar 6.3 (a) Citra sebelum dikenai operasi penajaman, (b) Citra setelah dikenai
operasi penajaman ................................................................................................. 48
Gambar 6.4 (a) Citra ‘cameraman.tif’ sebelum dikenai operasi penajaman, (b) Citra
setelah dikenai penajaman..................................................................................... 49
Gambar 6.5 Piksel bernilai 35 terkena derau ........................................................ 50
Gambar 6.6 (a) Citra yang mengandung noise, (b) Hasil pelembutan dengan median
filtering .................................................................................................................. 50
Gambar 6.7 Perintah guide .................................................................................... 53
Gambar 6.8 Membuat GUI baru ........................................................................... 53
Gambar 6.9 membuat axes .................................................................................... 54
Gambar 6.10 Perintah callback ............................................................................. 54
Gambar 6.10 Tampilan Hasil ................................................................................ 56
Gambar 7.1 Perintah guide .................................................................................... 69
Gambar 7.2 Membuat GUI baru ........................................................................... 69
Gambar 7.3 membuat axes .................................................................................... 69
Gambar 7.4 Perintah callback ............................................................................... 70
Gambar 7.5 Tampilan Hasil .................................................................................. 71
Gambar 8.1 Perintah guide .................................................................................... 74
Gambar 8.2 Membuat GUI baru ........................................................................... 75
Gambar 8.3 membuat panel .................................................................................. 75
Gambar 8.4 Perintah callback ............................................................................... 75
Gambar 8.5 Tampilan Hasil .................................................................................. 76
Gambar 9.1 Perintah guide .................................................................................... 81
Gambar 9.2 Membuat GUI baru ........................................................................... 81
Gambar 9.3 membuat axes .................................................................................... 81
Gambar 9.4 Perintah callback ............................................................................... 81
Gambar 9.5 Tampilan Hasil .................................................................................. 83
Gambar 10.1 Grafik Histogram............................................................................. 86
Gambar 10.2 Perintah guide .................................................................................. 87
Gambar 10.3 Membuat GUI baru ......................................................................... 87
Gambar 10.4 membuat axes .................................................................................. 87
Gambar 10.5 Perintah callback ............................................................................. 87
Gambar 10.6 Tampilan Hasil ................................................................................ 88
vi
DAFTAR TABEL
Tabel 4.1 Operasi AND ......................................................................................... 26
Tabel 4.2 Operasi OR ............................................................................................ 26
Tabel 4.4 Operasi XOR ......................................................................................... 27
Table 9.1 Kode ASCII........................................................................................... 79
Table 9.2 Citra Input G ......................................................................................... 79
Table 9.3 Citra Input r ........................................................................................... 79
Table 9.4 Citra Input A ......................................................................................... 80
Table 9.5 Citra Input c .......................................................................................... 80
Table 10.1 Perhitungan Histogram Citra .............................................................. 86
vii
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 1
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Pengenalan Citra
TUGAS : 1. Apa yang anda ketahui tentang Pengolahan Citra
Digital?
2. Jelaskan Penggunaan matlab dalam matematika dan
komputasi?
3. Jelaskan Penggunaan matlab dalam permodelan,
simulasi, dan pembuatan prototype?
4. Jelaskan penggunaan matlab dalam analisa data,
explorasi, dan visualisai?
5. Jelaskan penggunaan matlab dalam grafik keilmuan dan
bidang rekayasa?
6. Jelaskan penggunaan matlab dalam pengolahan citra
digital?
7. Jelaskan yang anda ketahui tentang lembar kerja pada
matlab meliputi common window, workspace, common
history, current directory, dan figure?
1. Pengenalan Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari
suatu objek. Citra sebagai keluaran atau sistem perekaman data dapat bersifat
optik berupa foto, bersifat analog berupa sinyal – sinyal video seperti gambar
pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada
suatu media penyimpan.
1
thorax, sensor gelombang pendek pada sistem radar, sensor ultrasound
pada sistem USG, dan lain – lain.
B. Definisi Citra Digital
Citra digital adalah citra yang terbentuk dari sinyal diskrit dan dapat
diolah oleh computer. Citra digital merupakan fungsi intensitas cahaya
f(x,y), dimana harga x dan harga y adalah koordinat spasial. Harga fungsi
tersebut di setiap titik (x,y) merupakan tingkat kecemerlangan citra pada
titik tersebut. Citra digital merupakan suatu matriks dimana indeks baris
dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen
matriksnya (yang disebut sebagai elemen gambar/ pixel/ piksel/ pels/
picture element) menyatakan tingkat keabuan pada titik tersebut.
C. Jenis – Jenis Citra
Ada banyak cara untuk menyimpan citra digital di dalam memori.
Cara penyimpanan menentukan jenis citra digital yang terbentuk.
Beberapa jenis citra digital yang sering digunakan adalah citra warna (true
color), citra grayscale (skala keabuan), dan citra biner (monokrom).
2
Gambar 1.1 Contoh citra true color
2. Citra Grayscale (Skala Keabuan)
Citra grayscale merupakan citra digital yang hanya memiliki satu
nilai kanal pada setiap pikselnya, artinya nilai dari Red = Green = Blue.
Nilai-nilai tersebut digunakan untuk menunjukkan intensitas warna.
Citra yang ditampilkan dari citra jenis ini terdiri atas warna abu-abu,
bervariasi pada warna hitam pada bagian yang intensitas terlemah dan
warna putih pada intensitas terkuat. Citra grayscale berbeda dengan
citra ”hitamputih”, Dimana pada konteks komputer, citra hitam putih
hanya terdiri atas 2 warna saja yaitu ”hitam” dan ”putih” saja.
3
yang akan digunakan sebagai nilai patokan. Piksel dengan derajat
keabuan lebih besar dari nilai ambang batas akan diberi nilai 1 dan
sebaliknya piksel dengan derajat keabuan lebih kecil dari nilai ambang
batas akan diberi nilai 0.
Citra biner sering sekali muncul sebagai hasil dari proses
pengolahan, seperti segmentasi, pengambangan, morfologi ataupun
dithering. Fungsi dari binerisasi sendiri adalah untuk mempermudah
proses pengenalan pola, karena pola akan lebih mudah terdeteksi pada
citra yang mengandung lebih sedikit warna. Persamaan untuk binerisasi
dapat dilihat pada rumus dibawah ini.
Keterangan :
T = Treshold / Nilai Ambang Batas.
4
fungsi dan data. Matlab mempunyai keunggulan dalam pengolahan
grafik, yaitu mampu menampilkan dan mengolah grafik.
3. Matlab dalam permodelan digunakan untuk menggambarkan sistem
fisik atau model. Matlab dalam simulasi bertujuan untuk menganalisa
lebih awal terhadap sistem yang akan dibuat sehingga mengurangi
resiko kegagalan. Setelah melakukan permodelan dan simulasi maka
bisa mengembangkan konsep awal yang akan dibuat.
4. Matlab digunakan untuk analisa data agar mengetahui apa saja yang
dibutuhkan dan dapat menentukan nilai maksimum dan minimum dari
suatu data. Kemudian akan melakukan pencarian dengan tujuan
menemukan data yang dibutuhkan dan di visualisasikan dalam bentuk
static.
5. Matlab digunakan untuk mempermudah pengolahan grafik sehingga
tidak perlu kesulitan untuk melihat respon sistem. Dan dalam bidang
rekayasa dapat menyusun sebuah program sederhanea.
6. Matlab digunakan untuk pembacaan image, ekstraksi nilai piksel, dan
mengkonversi gambar.
7. Lembar kerja pada matlab :
a. Common window: digunakan untuk menulis perintah sederhana
dan menjalankan seluruh fungsi yang disediakan.
5
Gambar 1.5 Workspace
c. Common history : berfungsi menyimpan perintah yang perlah
ditulis pada common window.
6
1.2 Alat dan Bahan
1. Laptop
2. Matlab 2015a
3. Modul Pengolahan Citra Digital 2018
1.3 Tujuan
1. Praktikan untuk memproses analisa citra
2. Praktikan untuk menggambar sistem fisik atau model
3. Praktikan untuk analisa data
4. Praktikan untuk membuat simulasi dari prototype.
5. Praktikan dapat menyelesaikan perhitungan complex
1.4 Kesimpulan
1. Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari
suatu objek.
2. Pengolahan citra digital merupakan proses pengolahan dan analisis citra
yang melibatkan persepsi visual.
3. Matlab adalah sebuah lingkungan komputasi numerical dan bahasa
pemrograman yang digunakan untuk manipulasi matriks, membagi fungsi
dan data.
4. Matlab mempunyai keunggulan dalam pengolahan grafik, yaitu mampu
menampilkan dan mengolah grafik.
5. Matlab digunakan untuk analisa data agar mengetahui apa saja yang
dibutuhkan dan dapat menentukan nilai maksimum dan minimum
Diyona Amelia
1618050
7
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 2
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Pengenalan Matlab
TUGAS : 1. Perhitungan
2. GUI Program
2. Pengenalan Matlab
MATLAB (Matrik Labority) merupakan perangkat lunak produksi dari The
Math Work, Inc. MATLAB adalah sebuah bahasa dengan (hight-performance)
kinerja tinggi untuk komputasi masalah teknik. Matlab mengintegrasikan
komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat
mudah untuk pakai dimana masalah-masalah dan penyelesaiannya
diekspresikan dalam notasi matematika yang familiar.
Penggunaan Matlab meliputi bidang–bidang:
1. Matematika dan komputasi
2. Pembentukan Algorithm
3. Pemodelan, simulasi, dan pembutan prototype
4. Analisa data, explorasi, dan visualisasi
5. Grafik keilmuan dan bidang rekayasa
6. Pengolahan Citra Digital
8
MATLAB IDE memiliki lima komponen, yaitu Command Window,
Workspace Browser, Current Directory Browser, Command History Window
dan kosong atau banyak Figure Windows yang aktif untuk menampilkan obyek
grafik.
9
Gambar 2.3 Current directory
4. Command history digunakan untuk menyimpan baris-baris perintah yang
telah diketikkan di command window. Kita dapat melihat ungsi-fungsi
yang digunakan sebelumnya, mengcopy, dan menjalankan kembali dari
command history.
10
2.1 Langkah-langkah Membuat Tugas
1. Menghitung
R = 21 R = 73 R = 98 R = 11 R = 27 R = 42 R = 61 R = 48 R = 12 R = 43
G = 40 G=9 G = 67 G = 31 G = 77 G = 80 G = 29 G = 72 G = 16 G = 66
B = 12 B = 34 B = 54 B = 69 B = 23 B = 33 B = 82 B = 19 B = 73 B = 41
R = 22 R = 42 R = 10 R = 65 R = 42 R=1 R = 88 R = 87 R = 65 R = 33
G=4 G= 23 G = 70 G = 76 G = 76 G = 99 G = 97 G = 30 G = 21 G = 22
B = 98 B = 31 B = 91 B = 20 B = 48 B = 97 B = 45 B = 44 B=2 B = 11
R = 13 R = 86 R = 42 R = 78 R = 50 R = 11 R = 44 R = 39 R = 10 R = 51
G = 84 G= 67 G=7 G = 93 G = 41 G = 77 G = 31 G = 92 G = 23 G = 11
B = 39 B = 54 B = 55 B=8 B = 62 B = 89 B=3 B = 41 B = 16 B = 20
R = 28 R = 43 R = 65 R = 20 R = 37 R = 18 R = 32 R = 16 R = 43 R = 15
G = 64 G= 76 G = 23 G = 24 G = 17 G = 23 G = 10 G = 37 G=8 G = 20
B = 38 B = 53 B = 60 B = 87 B = 26 B = 33 B = 19 B = 62 B = 13 B = 65
R = 15 R = 32 R = 30 R = 12 R = 34 R = 32 R = 43 R = 14 R = 73 R=9
G = 87 G= 56 G = 52 G = 82 G = 23 G = 71 G = 29 G = 37 G = 23 G = 51
B = 43 B = 10 B = 43 B = 38 B = 76 B = 50 B = 12 B = 40 B = 80 B = 34
R = 26 R = 20 R = 70 R=3 R = 21 R = 10 R = 13 R = 18 R = 53 R = 82
G = 19 G= 51 G = 82 G = 26 G = 23 G = 25 G = 76 G = 18 G = 39 G = 21
B = 15 B = 67 B = 12 B = 81 B = 22 B = 15 B = 46 B = 50 B = 62 B = 52
R = 82 R = 34 R = 20 R = 28 R = 24 R = 30 R = 21 R = 14 R = 92 R = 11
G = 30 G= 21 G = 77 G = 67 G = 92 G = 71 G = 13 G = 72 G = 28 G = 87
B = 72 B = 76 B = 36 B = 93 B = 34 B = 93 B = 19 B = 34 B = 73 B = 34
R = 35 R = 32 R = 29 R = 33 R = 72 R = 34 R = 35 R = 20 R = 13 R = 56
G = 29 G= 22 G = 96 G = 67 G = 89 G = 62 G = 39 G = 51 G = 37 G = 36
B = 18 B = 90 B = 53 B = 45 B=6 B = 77 B = 54 B = 15 B = 28 B = 93
R = 37 R = 37 R = 27 R = 10 R = 21 R = 28 R = 23 R = 18 R = 32 R = 81
G = 58 G= 79 G = 53 G = 63 G = 10 G = 62 G = 31 G = 29 G = 11 G = 69
B = 89 B=4 B = 72 B = 70 B = 36 B = 81 B = 16 B = 67 B = 73 B = 84
R = 38 R = 10 R = 32 R = 16 R = 87 R = 20 R = 38 R=9 R = 66 R = 73
G = 48 G= 10 G = 39 G = 34 G = 53 G = 12 G = 29 G=8 G = 90 G = 40
B = 52 B = 76 B = 15 B = 79 B = 37 B = 19 B = 80 B = 31 B = 32 B = 26
Penyelesaian :
21 + 40 + 12 22 + 4 + 98
𝐹𝑜𝑢𝑡(1,1) = = 24 𝐹𝑜𝑢𝑡(2,1) = = 41
3 3
73 + 9 + 34 42 + 23 + 31
𝐹𝑜𝑢𝑡(1,2) = = 39 𝐹𝑜𝑢𝑡(2,2) = = 26
3 3
98 + 67 + 54 10 + 70 + 90
𝐹𝑜𝑢𝑡(1,3) = = 73 𝐹𝑜𝑢𝑡(2,3) = = 57
3 3
11+31+69 65 + 76 + 20
𝐹𝑜𝑢𝑡(1,4) = = 37 𝐹𝑜𝑢𝑡(2,4) = = 54
3 3
27 + 77 + 23 42 + 76 + 48
𝐹𝑜𝑢𝑡(1,5) = = 41 𝐹𝑜𝑢𝑡(2,5) = = 55
3 3
42 + 80 + 33 1 + 99 + 97
𝐹𝑜𝑢𝑡(1,6) = = 52 𝐹𝑜𝑢𝑡(2,6) = = 46
3 3
61 + 29 + 82 88 + 97 + 45
𝐹𝑜𝑢𝑡(1,7) = = 57 𝐹𝑜𝑢𝑡(2,7) = = 77
3 3
48 + 72 + 19 87 + 30 + 44
𝐹𝑜𝑢𝑡(1,8) = = 46 𝐹𝑜𝑢𝑡(2,8) = = 54
3 3
12 + 16 + 73 5 + 21 + 2
𝐹𝑜𝑢𝑡(1,9) = = 34 𝐹𝑜𝑢𝑡(2,9) =
3 3
= 9
11
43 + 66 + 41 33 + 22 + 11
𝐹𝑜𝑢𝑡(1,10) = = 50 𝐹𝑜𝑢𝑡(2,10) = = 22
3 3
13 + 84 + 39 28 + 64 + 38
𝐹𝑜𝑢𝑡(3,1) = = 45 𝐹𝑜𝑢𝑡(4,1) = = 43
3 3
86 + 67 + 54 43 + 76 + 53
𝐹𝑜𝑢𝑡(3,2) = = 69 𝐹𝑜𝑢𝑡(4,2) = = 57
3 3
42 + 7 + 55 65 + 23 + 60
𝐹𝑜𝑢𝑡(3,3) = = 35 𝐹𝑜𝑢𝑡(4,3) = = 49
3 3
78 + 93 + 8 20 + 24 + 87
𝐹𝑜𝑢𝑡(3,4) = = 60 𝐹𝑜𝑢𝑡(4,4) = = 44
3 3
50 + 41 + 62 37 + 17 + 26
𝐹𝑜𝑢𝑡(3,5) = = 51 𝐹𝑜𝑢𝑡(4,5) = = 27
3 3
11 + 77 + 89 18 + 23 + 33
𝐹𝑜𝑢𝑡(3,6) = = 59 𝐹𝑜𝑢𝑡(4,6) = = 25
3 3
44 + 31 + 3 32 + 10 + 19
𝐹𝑜𝑢𝑡(3,7) = = 26 𝐹𝑜𝑢𝑡(4,7) = = 20
3 3
39 + 92 + 41 16 + 37 + 62
𝐹𝑜𝑢𝑡(3,8) = = 57 𝐹𝑜𝑢𝑡(4,8) = = 38
3 3
10 + 23 + 16 43 + 8 + 13
𝐹𝑜𝑢𝑡(3,9) = = 16 𝐹𝑜𝑢𝑡(4,9) = = 21
3 3
51 + 11 + 20 15 + 20 + 65
𝐹𝑜𝑢𝑡(3,10) = = 27 𝐹𝑜𝑢𝑡(4,10) = = 33
3 3
15 + 87 + 43 26 + 19 + 15
𝐹𝑜𝑢𝑡(5,1) = = 48 𝐹𝑜𝑢𝑡(6,1) = = 20
3 3
32 + 56 + 10 20 + 51 + 67
𝐹𝑜𝑢𝑡(5,2) = = 33 𝐹𝑜𝑢𝑡(6,2) = = 46
3 3
30 + 52 + 43 70 + 82 + 12
𝐹𝑜𝑢𝑡(5,3) = = 42 𝐹𝑜𝑢𝑡(6,3) = = 55
3 3
12 + 82 + 38 3 + 26 + 81
𝐹𝑜𝑢𝑡(5,4) = = 44 𝐹𝑜𝑢𝑡(6,4) = = 37
3 3
34 + 23 + 76 21 + 23 + 22
𝐹𝑜𝑢𝑡(5,5) = = 44 𝐹𝑜𝑢𝑡(6,5) = = 22
3 3
32 + 71 + 50 10 + 25 + 15
𝐹𝑜𝑢𝑡(5,6) = = 51 𝐹𝑜𝑢𝑡(6,6) = = 17
3 3
43 + 29 + 12 13 + 76 + 46
𝐹𝑜𝑢𝑡(5,7) = = 28 𝐹𝑜𝑢𝑡(6,7) = = 45
3 3
14 + 37 + 40 18 + 18 + 50
𝐹𝑜𝑢𝑡(5,8) = = 30 𝐹𝑜𝑢𝑡(6,8) = = 29
3 3
73 + 23 + 80 53 + 39 + 62
𝐹𝑜𝑢𝑡(5,9) = = 57 𝐹𝑜𝑢𝑡(6,9) = = 51
3 3
9 + 51 + 34 82 + 21 + 52
𝐹𝑜𝑢𝑡(5,10) = = 31 𝐹𝑜𝑢𝑡(6,10) = = 52
3 3
82 + 30 + 72 35 + 29 + 18
𝐹𝑜𝑢𝑡(7,1) = = 61 𝐹𝑜𝑢𝑡(8,1) = = 27
3 3
34 + 21 + 76 32 + 22 + 90
𝐹𝑜𝑢𝑡(7,2) = = 44 𝐹𝑜𝑢𝑡(8,2) = = 48
3 3
20 + 77 + 36 29 + 96 + 53
𝐹𝑜𝑢𝑡(7,3) = = 44 𝐹𝑜𝑢𝑡(8,3) = = 59
3 3
28 + 67 + 93 33 + 67 + 45
𝐹𝑜𝑢𝑡(7,4) = = 68 𝐹𝑜𝑢𝑡(8,4) = = 48
3 3
24 + 92 + 34 72 + 89 + 6
𝐹𝑜𝑢𝑡(7,5) = = 50 𝐹𝑜𝑢𝑡(8,5) = = 57
3 3
12
30 + 71 + 93 34 + 62 + 77
𝐹𝑜𝑢𝑡(7,6) = = 65 𝐹𝑜𝑢𝑡(8,6) = = 58
3 3
21 + 13 + 19 35 + 39 + 54
𝐹𝑜𝑢𝑡(7,7) = = 18 𝐹𝑜𝑢𝑡(8,7) = = 31
3 3
14 + 72 + 34 20 + 51 + 15
𝐹𝑜𝑢𝑡(7,8) = = 40 𝐹𝑜𝑢𝑡(8,8) = = 29
3 3
92 + 28 + 73 13 + 37 + 29
𝐹𝑜𝑢𝑡(7,9) = = 64 𝐹𝑜𝑢𝑡(8,9) = = 26
3 3
11 + 87 + 34 56 + 36 + 93
𝐹𝑜𝑢𝑡(7,10) = = 44 𝐹𝑜𝑢𝑡(8,10) = = 62
3 3
37 + 58 + 89 38 + 48 + 52
𝐹𝑜𝑢𝑡(9,1) = = 61 𝐹𝑜𝑢𝑡(10,1) = = 46
3 3
37 + 79 + 4 10 + 10 + 76
𝐹𝑜𝑢𝑡(9,2) = = 40 𝐹𝑜𝑢𝑡(10,2) = = 32
3 3
27 + 53 + 72 32 + 39 + 15
𝐹𝑜𝑢𝑡(9,3) = = 51 𝐹𝑜𝑢𝑡(10,3) = = 29
3 3
10 + 63 + 70 16 + 24 + 79
𝐹𝑜𝑢𝑡(9,4) = = 48 𝐹𝑜𝑢𝑡(10,4) = = 40
3 3
21 + 10 + 36 87 + 53 + 37
𝐹𝑜𝑢𝑡(9,5) = = 22 𝐹𝑜𝑢𝑡(10,5) = = 56
3 3
28 + 62 + 81 20 + 12 + 19
𝐹𝑜𝑢𝑡(9,6) = = 57 𝐹𝑜𝑢𝑡(10,6) = = 17
3 3
23 + 31 + 16 38 + 29 + 80
𝐹𝑜𝑢𝑡(9,7) = = 23 𝐹𝑜𝑢𝑡(10,7) = = 49
3 3
18 + 29 + 67 9 + 8 + 31
𝐹𝑜𝑢𝑡(9,8) = = 38 𝐹𝑜𝑢𝑡(10,8) = = 16
3 3
32 + 11 + 73 66 + 90 + 32
𝐹𝑜𝑢𝑡(9,9) = = 39 𝐹𝑜𝑢𝑡(10,9) = = 63
3 3
81 + 69 + 84 73 + 40 + 26
𝐹𝑜𝑢𝑡(9,10) = = 78 𝐹𝑜𝑢𝑡(10,10) = = 46
3 3
b. Grayscale to biner
𝑓𝑖𝑛 𝑚𝑎𝑥 + 𝑓𝑖𝑛 𝑚𝑖𝑛 78 + 9 0, 𝑓𝑖𝑛 (𝑥, 𝑦) < 44
𝑇= 𝑇= = 44 Fout(x,y)={
2 2 1, 𝑓𝑖𝑛 (𝑥, 𝑦) ≥ 44
13
Citra hasil Biner :
0 0 1 0 0 1 1 1 0 1
0 0 1 1 1 1 1 1 0 0
1 1 0 1 1 1 0 1 0 0
0 1 1 1 0 0 0 0 0 0
1 0 0 1 1 1 0 0 1 0
0 0 1 0 0 0 1 0 1 1
1 1 1 1 1 1 0 0 1 1
0 1 1 1 1 1 0 0 0 1
1 0 1 1 0 1 0 0 0 1
1 0 0 0 1 0 1 0 1 1
14
Gambar 2.7 Membuat axes
d. Kemudian klik kanan pada button, setelah itu pilih view callbacks
> callback.
15
g. Masukkan script black&white pada button Black&White :
function pushbutton3_Callback(hObject,
eventdata, handles)
open=guidata(gcbo);
I=get(open.axes2,'Userdata');
B = graythresh(I);
C = im2bw(I,B);
set(open.figure1,'CurrentAxes',open.axes3);
set(imagesc(C));colormap('gray');
set(open.axes3,'Userdata',C);
Tampilan Program :
2.3 Tujuan
1. Praktikan dapat memahami penggunaan Matlab
2. Praktikan dapat memahami perintah pada Matlab
3. Praktikan mengimplementasikan penggunaan GUI dalam Matlab
2.4 Kesimpulan
1. MATLAB (Matrik Labority) merupakan perangkat lunak produksi dari
The Math Work, Inc. MATLAB adalah sebuah bahasa dengan (hight-
performance) kinerja tinggi untuk komputasi masalah teknik.
2. MATLAB IDE memiliki lima komponen, yaitu Command Window,
Workspace Browser, Current Directory Browser, Command History
16
Window dan kosong atau banyak Figure Windows yang aktif untuk
menampilkan obyek grafik.
3. GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI)
yang dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider,
menu dan lain - lain.
4. Matlab digunakan sebagai platform untuk menganalisis data dan
visualisasi yang dirancang untuk membuat manipulasi matriks sesedehana
mungkin.
Diyona Amelia
1618050
17
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 3
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Operasi Titik Dan Aritmatika
TUGAS : 1. Perhitungan
2. Membuat Gui Operasi Aritmatika
A. Operasi Titik
Operasi titik, yaitu operasi yang dilakukan terhadap setiap piksel pada
citra yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri.
1. Operasi Negasi atau Negatif
Operasi negatif bertujuan untuk mendapatkan citra negatif
dengan cara mengurangi nilai intensitas piksel dari nilai keabuan
maksimum. Secara umum persamaannya adalah sebagai berikut :
f (x,y)’ = 255 – f(x,y)
2. Operasi Clipping
Yang dimaksud operasi clipping adalah operasi pemotongan jika
nilai intensitas piksel hasil suatu operasi pengolahan citra terletak di
bawah nilai intensitas minimum atau di atas nilai intensitas
maksimum.
18
pada posisi yang sama. Oleh sebab itu proses ini sebaiknya dilakukan
terhadap citra dengan ukuran dan resolusi yang sama.
1. Penjumlahan citra
Proses penjumlahan pixel sangat sederhana. Pixel citra hasil
merupakan hasil penjumlahan nilai pixel pada citra pertama dengan
nilai pixel citra kedua. Operasi ini disebut juga dengan blending.
Secara umum, persamaannya adalah sebagai berikut :
C(x,y) = A(x,y)*wa + B(x,y)*wb
C adalah citra baru yang intensitas tiap pikselnya adalah jumlah dari
intensitas tiap piksel pada matriks A dan matriks B.
2. Pengurangan Citra
Secara umum persamaannya adalah sebagai berikut :
C(x,y) = A(x,y) - B(x,y)
C adalah citra baru yang intensitas tiap pikselnya adalah selisih dari
intensitas tiap piksel pada matriks A dan matriks B.
3. Perkalian Citra
Perkalian citra A dengan scalar c akan menghasilkan citra
baru B yang intensitasnya lebih terang dari semula. Kenaikan
intensitas setiap piksel sebanding dengan c. Operasi perkalian citra
dengan scalar digunakan untuk kalibrasi kecerahan. Secara umum
persamaannya adalah sebagai berikut :
B(x,y) = A(x,y) * c
4. Pembagian Citra
Pembagian citra A dengan scalar c akan menghasilkan citra
baru B yang intensitasnya lebih gelap dari semula. Penurunan
intensitas setiap piksel berbanding terbalik dengan c. Operasi
pembagian citra dengan scalar digunakan untuk normalisasi
kecerahan. Secara umum persamaannya adalah sebagai berikut :
B(x,y) = A(x,y) / c
19
3.1 Langkah-langkah Membuat Tugas
1. Menghitung operasi aritmatika
a. Pengurangan
40 25 10 13 40 67 56 22
16 30 17 67 45 34 98 99
45 60 73 23 11 10 24 34
35 22 20 12 12 89 22 77
Citra A Citra B
Penyelesaian :
Fout(1,1) = 40-40 = 0 Fout(4,1)= 35- 12 =23
Fout(1,2 )= 25-67 = 0 Fout(4,2)= 22 -89 = 0
Fout(1,3) =10- 56 = 0 Fout(4,3)= 20- 22 = 0
Fout(1,4) =13- 22 = 0 Fout(4,4)= 12-77 = 0
Fout(2,1) = 16- 45 = 0 Fout(3,1)= 45- 11= 34
Fout(2,2) = 30- 34 = 0 Fout(3,2)= 60- 10= 50
Fout(2,3) = 17-98 = 0 Fout(3,3)=73-23 = 49
Fout(2,4) = 67-99 =0 Fout(3,4)= 23-34 = 0
Citra Hasil Pengurangan
0 0 0 0
0 0 0 0
34 50 49 0
23 0 0 0
b. Perkalian Skalar
5 6 10 11 18 Skalar = 6
12 15 16 32 6
7 8 42 34 9
19 35 8 59 16
82 54 22 78 32
Fout(1,1) = 5 * 6 = 30 Fout(2,1) = 12 * 6 = 72
Fout(1,2) = 6 * 6 = 36 Fout(2,2) = 15 * 6 = 90
Fout(1,3) = 10 * 6 = 60 Fout(2,3) = 16 * 6 = 96
Fout(1,4) = 11 * 6 = 66 Fout(2,4) = 32 * 6 = 192
Fout(1,5) = 18 * 6 = 108 Fout(2,5) = 6 * 6 = 36
Fout(3,1) = 7 * 6 = 42 Fout(4,1) = 19 * 6 = 114
20
Fout(3,2) = 8 * 6 = 48 Fout(4,2) = 35 * 6 = 210
Fout(3,3) = 42 * 6 = 252 Fout(4,3) = 8 * 6 = 48
Fout(3,4) = 34 * 6 = 204 Fout(4,4) = 59 * 6 = 255
Fout(3,5) = 9 * 6 = 54 Fout(4,5) = 16 * 6 = 96
Fout(5,1) = 85 * 6 = 255
Fout(5,2) = 54 * 6 = 255
Fout(5,3) = 78 * 6 = 255
Fout(5,4) = 22 * 6 = 132
Fout(5,5) = 32 * 6 = 192
Citra Hasil Perkalian Skalar
30 36 60 66 108
72 90 96 192 36
42 48 252 204 54
114 210 48 255 96
255 255 255 132 192
21
c. Setelah itu buat GUI baru dengan 6 axes , 6 button , dan 6 static text.
22
set(open.figure1,'CurrentAxes',open.axes2);
set(imagesc(G));colormap('gray');
set(open.axes2,'Userdata',G);
g. Script clipping
function J = clipping(I)
for x = 1 : size(I)
for y = 1 : size(I)
if I(x,y) > 255
J(x,y) = 255;
elseif I(x,y) < 0
J(x,y) = 0;
else
J(x,y) = I(x,y);
end
end
end
open=guidata(gcbo);
H=get(open.axes1,'Userdata');
I=get(open.axes2,'Userdata');
wa = 0.7;
wb = 0.3;
[r1 c1] = size(H);
[r2 c2] = size(I);
if (r1==r2) && (c1==c2)
for x = 1:r1
for y = 1:c1
B(x,y) = H(x,y)*wa+I(x,y)*wb;
end
end
end
B = clipping(B);
set(open.figure1,'CurrentAxes',open.axes3);
set(imagesc(B));colormap('gray');
set(open.axes3,'Userdata',B);
open=guidata(gcbo);
G=get(open.axes1,'Userdata');
H=get(open.axes2,'Userdata');
[r1 c1] = size(G);
[r2 c2] = size(H);
if (r1==r2) && (c1==c2)
for x = 1:r1
for y = 1:c1
B(x,y) = G(x,y)-H(x,y);
end
end
end
B = clipping(B);
set(open.figure1,'CurrentAxes',open.axes4);
23
set(imagesc(B));colormap('gray');
set(open.axes4,'Userdata',B);
H=get(open.axes2,'Userdata');
[r c] = size(H);
for x = 1:r
for y = 1:c
B(x,y) = H(x,y)*2;
end
end
B = clipping(B);
set(open.figure1,'CurrentAxes',open.axes5);
set(imagesc(B));colormap('gray');
set(open.axes5,'Userdata',B);
open=guidata(gcbo);
H=get(open.axes2,'Userdata');
[r c] = size(H);
for x = 1: r
for y = 1 : c
B(x,y) = H(x,y)/2;
end
end
B = clipping(B);
set(open.figure1,'CurrentAxes',open.axes6);
set(imagesc(B));colormap('gray');
set(open.axes6,'Userdata',B);
Tampilan program
24
3.2 Alat dan Bahan
1. Laptop
2. Matlab 2015a
3. Modul Pengolahan Citra Digital 2018
3.3 Tujuan
1. Praktikan memahami operasi dasar dalam pengolahan citra digital
2. Praktikan memahami operasi titik dan aritmatika dalam pengolahan citra
digital
3. Praktikan dapat mengimplementasikan operasi dasar dalam GUI
3.4 Kesimpulan
1. Operasi titik, yaitu operasi yang dilakukan terhadap setiap piksel pada citra
yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri
2. Image Arithmatic merupakan proses pengolahan citra dengan
memanfaatkan operator aritmatika terhadap dua atau lebih citra input
3. Operasi titik ada operasi negasi dan clipping , dan operasi aritmatika ada
penjumlahan, pengurangan, perkalian , dan pembagian.
Diyona Amelia
1618050
25
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 4
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Operasi Boolean dan Operasi Geometrik Pengolahan
Citra
TUGAS : 1. Perhitungan Operasi Translasi dan Scalling
2. Membuat GUI
1. Operasi AND
Tabel 4.1 Operasi AND
A B A and B
0 0 0
0 1 0
1 0 0
1 1 1
26
Gambar 4.2 Operasi OR pada citra
3. Operasi XOR
Tabel 4.4 Operasi XOR
A B A or B
0 0 0
0 1 1
1 0 1
1 1 0
27
2. Operasi Cropping
Croping adalah cara untuk memotong suatu objek dengan
menyeleksi atau menentukan nilai pemotongan pada suatu citra di
bagian tertentu. Proses crop ini berfungsi untuk menghilangkan bagian
tertentu pada suatu citra. Sehingga dihasilkan citra yang sesuai dengan
keinginan user. Dengan menggunakan fungsi imcrop maka dapat
melakukan fungsi pemotongan pada sebuah citra.
3. Operasi Flipping
Flipping adalah operasi geometrik yang sama dengan pencerminan.
Ada dua macam flipping : horizontal dan vertical. Flipping vertikal
adalah pencerminan pada sumbu-X dari citra A menjadi citra B, yang
diberikan oleh :
x’ = 2xc – x+1
y’ = y
Flipping horizontal adalah pencerminan pada sumbu-Y dari citra A
menjadi citra B, yang diberikan oleh :
x’ = x
y’ = 2yc – y+1
4. Operasi Rotasi
Suatu citra dapat diputar dengan sudut 𝜃 seiring arah jarum jam atau
berlawanan arah jarum jam dengan pusat putaran pada koordinat (0,0).
Rumus rotasi pada citra :
x’ = Xp + (x – xp) * cos 𝜃 – (y – Yp) * sin 𝜃
y’ = Yp + (x – xp) * sin 𝜃 + (x – xp) * cos 𝜃
Yang dalam hal ini, Xp dan Yp merupakan titik pivot rotasi. Pivot yang
dimaksud adalah koordinat titik tengah dari citra.
5. Operasi Scalling
Penskalaan citra, disebut juga scalling, yaitu pengubahan ukuran
citra.
Rumus penskalaan citra :
x’ = ShX * x
y’ = ShY * y
28
Dalam hal ini, ShX dan ShY adalah factor skala masing-masing dalam
arah x dan arah y pada koordinat citra.
a. Translasi Tx = 9 Ty = 6
Fout (1,1) = (1 + 9),(1 + 6) = (10,7) Fout (4,1) = (4 + 9),(1 + 6) = (13,7)
Fout (1,2) = (1 + 9),(2 + 6) = (10,8) Fout (4,2) = (4 + 9),(2 + 6) = (13,8)
Fout (1,3) = (1 + 9),(3 + 6) = (10,9) Fout (4,3) = (4 + 9),(3 + 6) = (13,9)
Fout (1,4) = (1 + 9),(4 + 6) = (10,10) Fout (4,4) = (4 + 9),(4 + 6) = (13,10)
Fout (1,5) = (1 + 9),(5 + 6) = (10,11) Fout (4,5) = (4 + 9),(5 + 6) = (13,11)
Fout (2,1) = (2 + 9),(1 + 6) = (11,7) Fout (5,1) = (5 + 9),(1 + 6) = (14,7)
Fout (2,2) = (2 + 9),(2 + 6) = (11,8) Fout (5,2) = (5 + 9),(2 + 6) = (14,8)
Fout (2,3) = (2 + 9),(3 + 6) = (11,9) Fout (5,3) = (5 + 9),(3 + 6) = (14,9)
Fout (2,4) = (2 + 9),(4 + 6) = (11,10) Fout (5,4) = (5 + 9),(4 + 6) = (14,10)
Fout (2,5) = (2 + 9),(5 + 6) = (11,11) Fout (5,5) = (5 + 9),(5 + 6) = (14,11)
Fout (3,1) = (3 + 9),(1 + 6) = (12,7)
Fout (3,2) = (3 + 9),(2 + 6) = (12,8)
Fout (3,3) = (3 + 9),(3 + 6) = (12,9)
Fout (3,4) = (3 + 9),(4 + 6) = (12,10)
Fout (3,5) = (3 + 9),(5 + 6) = (12,11)
29
Citra Hasil Translasi
15 98 73 64 78
35 12 55 71 32
23 45 56 86 56
96 78 67 35 76
73 67 37 29 92
30
Citra Hasil Scalling
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
15 15 15 15 98 98 98 98 73 73 73 73 64 64 64 64 78 78 78 78
31
c. Setelah itu buat GUI baru dengan 6 axes , 6 button , dan 6 static text.
open=guidata(gcbo);
A = get(open.axes1,'Userdata');
Tx = 100;
Ty = 50;
32
[r c] = size(A);
for x = 1:r
for y = 1:c
B(x+Tx,y+Ty) = A(x,y);
end
end
handles.gambar = B;
set(open.figure1,'CurrentAxes', open.axes2);
set(imagesc(B));
set(open.axes2, 'userdata', B);
33
j. Masukan script GUI pada button SCALLING
function pushbutton6_Callback(hObject, eventdata,
handles)
open=guidata(gcbo);
A = get(open.axes1,'Userdata');
Shx = 3;
Shy = 1;
b = size(A,1);
c = size(A,2);
r = b*Shx;
s = c*Shy;
for x = 1:b
for y = 1:c
D((x-1)*Shx+1 : x*Shx, (y-1)*Shy+1 : y*Shy) =
A(x,y);
end
end
set(open.figure1,'CurrentAxes', open.axes6);
set(imagesc(D));
set(open.axes6, 'userdata', D);
Tampilan hasil :
4.3 Tujuan
1. Pratikan dapat memahami Operasi Boolean pada pengolahan citra digital
2. Pratikan dapat memahami Operasi Geometrik pada pengolahan citra digital
34
3. Pratikan dapat melakukan implementasi Operasi Boolean dan Operasi
Geometrik berbasis GUI dalam matlab
4.4 Kesimpulan
1. Selain operasi aritmatika, pemrosesan citra digital juga melibatkan operasi
Boolean. Operasi Boolean pada citra terbagi menjadi 3, yaitu And, Or, dan
Xor.
2. Operasi Geometrik adalah operasi pada citra yang dilakukan secara
geometris seperti translasi, rotasi dan penyekalaan.
3. Croping adalah cara untuk memotong suatu objek dengan menyeleksi atau
menentukan nilai pemotongan pada suatu citra di bagian tertentu. Proses
crop ini berfungsi untuk menghilangkan bagian tertentu pada suatu citra.
4. Flipping adalah operasi geometrik yang sama dengan pencerminan. Ada dua
macam flipping : horizontal dan vertical.
5. Suatu citra dapat diputar dengan sudut 𝜃 seiring arah jarum jam atau
berlawanan arah jarum jam dengan pusat putaran pada koordinat (0,0).
Diyona Amelia
1618050
35
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 5
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Operasi Konvulusi & Segmentasi Citra
TUGAS : 1. Perhitungan Konvolusi
2. Membuat GUI
1. Algoritma
Ukuran matriks kernel biasanya lebih kecil dari ukuran matriks citra.
Sebagai contoh misalkan terdapat sebuah matriks f(x,y) dan sebuah
kernel g(x,y) sebagai berikut:
5 3 3 0 4 1 3 1
4 2 1 3 4 5 2 7
6 3 0 1 6 4 0 2
7 4 0 1 6
7 4 5 1 0
36
Algoritma atau langkah-langkah untuk melakukan konvolusi
terhadap matriks f(x,y) adalah sebagai berikut :
a. Memutar convolution kernel 180 derajat.
1 3 1 -2 0 4
5 2 7 Rotasi 180° 7 2 5
4 0 -2 1 3 1
37
2. Proses Padding Pada Batas Citra
Ketika kita menerapkan filter pada piksel-piksel yang berada
pada pinggir sebuah citra, beberapa elemen dari computational
molecule tidak dapat menimpa piksel citra. Sebagai contoh jika
molekul berukuran 3×3 dan kita sedang menghitung untuk piksel pada
ujung kiri atas dari citra, beberapa elemen pada molekul berada diluar
batas citra, seperti terlihat pada gambar 5.2 berikut ini.
38
B. Segementasi Citra
Segmentasi citra merupakan proses yang ditujukan untuk
mendapatkan objek yang terkandung di dalam citra atau membagi ke
dalam beberapa daerah dengan setiap objek atau daerah memiliki
kemiripan atribut. Pada citra yang mengandung hanya satu objek, objek
dibedakan dari latar belakangnya.
1. Pengambangan
Operasi pengambangan (thresholding) adalah operasi memetakan
nilai intensitas piksel ke salah satu dari dua nilai, a1 atau a2,
berdasarkan nilai ambang (threshold) T.
40 12 62 71 34
64
56 24 11 30 26 22 6 0 4
78 22 20 81 29 87 7 2 5
93 68 10 21 31 45 1 3 1
67 72 82 52 49 63 Kernel g(x,y)
28 11 90 48 76 27
39
Fout 2.2 = (40.6) + (12.0) + (62.4) Fout 4.2 = (78.6) + (22.0) + (20.4)
+ (56.7) + (24.2) + (11.5) + (78.1) + (93.7) + (68.2) + (10.5) + (67.1)
+ (22.3) + (20.1) = 1147 = 255 + (72.3) + (82.1) = 1750 = 255
Fout 2.3 = (12.6) + (62.0) + (71.4) Fout 4.3 = (22.6) + (20.0) + (81.4)
+ (24.7) + (11.2) + (30.5) + (22.1) + (68.7) + (10.2) + (21.5) + (72.1)
+ (20.3) + (81.1) = 859 = 255 + (82.3) + (52.1) = 1427 = 255
Fout 2.4 = (62.6) + (71.0) + (34.4) Fout 4.4 = (20.6) + (82.0) + (29.4)
+ (11.7) + (30.2) + (26.5) + (20.1) + (10.7) + (21.2) + (31.5) + (82.1)
+ (81.3) + (29.1) = 1067 = 255 + (52.3) + (49.1) = 790 = 255
Fout 2.5 = (71.6) + (34.0) + (64.4) Fout 4.5 = (81.6) + (29.0) + (87.4)
+ (30.7) + (26.2) + (22.5) + (81.1) + (21.7) + (31.2) + (45.5) + (52.1)
+ (29.3) + (87.1) = 1309 = 255 + (49.3) + (63.1) = 1530 = 255
Fout 3.2 = (56.6) + (24.0) + (11.4) Fout 5.2 = (93.6) + (68.0) + (10.4)
+ (78.7) + (22.2) + (20.5) + (93.1) + (67.7) + (72.2) + (82.5) + (28.1)
+ (68.3) + (10.1) = 1355 = 255 + (11.3) + (90.1) = 1772 = 255
Fout 5.3 = (68.6) + (10.0) + (21.4)
Fout 3.3 = (24.6) + (11.0) + (30.4) + (72.7) + (82.2) + (52.5) + (11.1)
+ (22.7) + (20.2) + (81.5) + (68.1) + (90.3) + (48.1) = 1609 = 255
+ (10.3) + (21.1) = 982 = 255
Fout 5.4 = (10.6) + (21.0) + (31.4)
Fout 3.4 = (11.6) + (30.0) + (26.4) + (82.7) + (52.2) + (49.5) + (90.1)
+ (20.7) + (81.2) + (29.5) + (10.1) + (48.3) + (76.1) = 1417 = 255
+ (21.3) + (31.1) = 721 = 255
Fout 5.5 = (21.6) + (31.0) + (45.4)
Fout 3.5 = (30.6) + (26.0) + (22.4) + (52.7) + (49.2) + (63.5) + (48.1)
+ (81.7) + (29.2) + (87.5) + (21.1) + (76.3) + (27.1) = 1386 = 255
+ (31.3) + (45.1) = 1487 = 255
Citra Hasil :
40 12 62 71 34 64
56 255 255 255 255 22
78 255 255 255 255 87
93 255 255 255 255 45
67 255 255 255 255 63
28 11 90 48 76 27
40
Perkalian
40 89 86 99 -1 0 1
46 37 98 12 -1 1 1
84 60 65 75 -1 0 1
90 98 34 21
Citra A Kernel
Penyelesaian :
Fout(1,1)=( 0 *-1 ) + (0 * 0) + (0 * 1) Fout(2,1)=( 0 *-1 ) + (40 * 0) + (89
+ (0 * -1) + (40 * 1) + (89 * 1) + (0 * - * 1) + (0 * -1) + (46 * 1) + (37 * 1)
1) + (46 * 0) + ( 37* 1) = 166 + (0 * -1) + (84 * 0) + (60 * 1) = 232
Fout(1,2)=( 0 *-1 ) + (0 * 0) + (0 * 1) Fout(2,2)=( 40 *-1 ) + (89 * 0) + (86
+ (40 * -1) + (89 * 1) + (86 * 1) + (46 * 1) + (46 * -1) + (37 * 1) + (98 * 1)
* -1) + (37 * 0) + (98 * 1) = 187 + (84 * -1) + (60 * 0) + (65 * 1) =
Fout(1,3)=(0 *-1 ) + (0 * 0) + (0 * 1) + 116
(89 * -1) + (86 * 1) + (99 * 1) + (* -1) Fout(2,3)=( 89 * -1 ) + (86 * 0) + (99
+ (* 0) + (* 1) =71 * 1) + (37 * -1) + (98 * 1) + (12 * 1)
Fout(1,4)=( 0*-1 ) + (0 * 0) + (0 * 1) + + (60 * -1) + (65 * 0) + (75 * 1) = 98
(86 * -1) + (99 * 1) + (0 * 1) + (98 * - Fout(2,4)=( 86 *-1 ) + (90 * 0) + (0
1) + (12 * 0) + (0 * 1) = 0 * 1) + (98 * -1) + (12 * 1) + (0 * 1)
+ (65 * -1) + (75 * 0) + (0 * 1) = 0
Fout(3,1)=(0 *-1 ) + (46 * 0) + (37 * 1) Fout(4,1)=(0 *-1 ) + (84 * 0) + (60 *
+ (0 * -1) + (84 * 1) + (60 * 1) + (0 * - 1) + (0 * -1) + (90 * 1) + (98 * 1) +
1) + (90 * 0) + (98 * 1) = 255 (0 * -1) + (0 * 0) + (0 * 1) = 248
Fout(3,2)=( 46 *-1 ) + (37 * 0) + (0 * Fout(4,2)=( 84 *-1 ) + ( 60 * 0) + (65
1) + (84 * -1) + (60 * 1) + (65 * 1) + * 1) + (90 * -1) + (98 * 1) + (34 * 1)
(90 * -1) + (98 * 0) + (34 * 1) = 37 + (10 * -1) + (0 * 0) + (0 * 1) = 23
Fout(3,3)=( 37 *-1 ) + (98 * 0) + (12 * Fout(4,3)=( 60 *-1 ) + (65 * 0) + (75
1) + (60 * -1) + (65 * 1) + (75 * 1) + * 1) + (98 * -1) + (34 * 1) + (21 * 1)
(98 * -1) + (34 * 0) + (12 * 1) =0 + (0 * -1) + ( 0* 0) + (0 * 1) = 17
Fout(3,4)=( 98 *-1 ) + (12 * 0) + (0 * Fout(4,4)=(65 *-1 ) + (75 * 0) + (0 *
1) + (65 * -1) + (75 * 1) + (0 * 1) + (34 1) + (34 * -1) + (21 * 1) + (0 * 1) +
* -1) + (21 * 0) + (0 * 1) = 0 (0 * -1) + (0 * 0) + (0 * 1) = 0
41
Citra Hasil Perkalian
166 187 71 0
232 116 98 0
255 37 0 0
248 23 17 0
2. Membuat GUI
a. Pertama melalui Command Window Matlab ketikan : guide.
c. Setelah itu buat GUI baru dengan 3 axes , 3 button , dan 3 static
text.
42
d. Kemudian klik kanan pada button, setelah itu pilih view callbacks
> callback.
43
B(x, y) = B(x, y) + (Rep(i + q, j +
w) *k(i, j));
end
end
end
end
44
Tampilan Hasil
5.4 Kesimpulan
1. Konvolusi merupakan operasi yang mendasar dalam pengolahan citra.
2. Segmentasi citra merupakan proses yang ditujukan untuk mendapatkan
objek yang terkandung di dalam citra atau membagi ke dalam beberapa
daerah dengan setiap objek atau daerah memiliki kemiripan atribut.
3. Pada citra yang mengandung hanya satu objek, objek dibedakan dari latar
belakangnya.
4. Operasi pengambangan (thresholding) adalah operasi memetakan nilai
intensitas piksel ke salah satu dari dua nilai.
Diyona Amelia
1618050
45
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 6
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Filter Spasial Non-Linier
TUGAS : 1. Perhitungan Low Pass Filter 3x3
2. GUI Program
A. Pelembutan Citra
Pelembutan citra bertujuan untuk menekan gangguan (noise) pada
citra. Gangguan tersebut biasanya muncul sebagai akibat dari hasil
penerokan yang tidak bagus. Gangguan pada citra umumnya berupa variasi
intensitas suatu piksel yang tidak berkorelasi dengan piksel-piksel
tetangganya. Secara visual, gangguan mudah dilihat oleh mata karena
tampak berbeda dengan piksel tetangganya.
Piksel yang mengalami gangguan umumnya memiliki frekuensi
tinggi. Komponen citra yang berfrekuensi rendah umumnya mempunyai
nilai piksel konstan atau berubah sangat lambat. Operasi pelembutan citra
dilakukan untuk menekan komponen berfrekuensi tinggi dan meloloskan
komponen berfrekuensi rendah.
46
Gambar 6.1 Citra yang mengalami gangguan (noise)
B. Low Pass Filter
Low pass filter atau filter lolos rendah adalah filter dengan sifat dapat
meloloskan bagian berfrekuensi rendah dan menghilangkan yang
berfrekuensi tinggi. Efek filter ini membuat perubahan aras keabuan
menjadi lembut. Filter ini berguna untuk menghaluskan derau atau untuk
kepengtingan interpolasi tepi objek dalam citra.
Pada prinsipnya, filter yang digunakan dalam filter linear adalah
neighborhood
averaging merupakan salah satu jenis low-pass filter, yang bekerja dengan
cara mengganti nilai suatu piksel pada citra asal dengan nilai rata-rata dari
piksel tersebut dan lingkungan tetangganya.
Filter rata-rata adalah salah satu Filter lolos rendah yang paling
sederhana. Aturan untuk Filter lolos rendah adalah :
a. Semua koefisien filter harus positif
b. Jumlah semua koefisian harus sama dengan satu
Rumus filter rata – rata (Low Pass Filter) :
Keterangan :
m x n = ukuran matrik filter
m = kolom
n = baris
47
Gambar 6.2 (a) Citra yang mengandung noise, (b) Hasil pelembutan dengan
kernel 3×3
C. High Pass Filter
High Pass Filter atau filter lolos tinggi adalah filter yang ditujukan untuk
melewatkan frekuensi tinggi dan menghalangi yang berfrekuensi rendah. Hal
ini biasa digunakan untuk mendapatkan tepi objek dalam citra atau
menajamkan citra.
a. Penjaman Citra (image sharpenning)
Inti dari penajaman (sharpening) citra adalah memperjelas tepi pada
objek di dalam citra. Penajaman citra merupakan kebalikan dari operasi
pelembutan citra karena operasi ini menghilangkan bagian citra yang
lembut. Metode atau filtering yang digunakan adalah high-pass filtering.
Karena penajaman citra lebih berpengaruh pada tepi (edge) objek,
maka penajaman citra sering disebut juga penajaman tepi (edge
sharpening) atau peningkatan kualitas tepi (edge enhancement).
Gambar 6.3 (a) Citra sebelum dikenai operasi penajaman, (b) Citra setelah dikenai
operasi penajaman
48
Filter pada operasi penajaman citra disebut filter lolos tinggi. Aturan dari
filter lolos tinggi adalah sebagai berikut:
a. Koefisien boleh positif, negatif, atau nol
Rumus filter rata – rata (High Pass Filter) :
Keterangan :
m x n = ukuran matrik filter
m = kolom
n = baris
Gambar 6.4 (a) Citra ‘cameraman.tif’ sebelum dikenai operasi penajaman, (b)
Citra setelah dikenai penajaman
D. Filter Non-Linier
a. Filter Median
Filter median sangat bermanfaat untuk menghilangkan outliers,
yaitu nilainilai piksel yang ekstrim. Filter median menggunakan sliding
neighborhood untuk memproses suatu citra, yaitu suatu operasi dimana
filter ini akan menentukan nilai masing-masing piksel keluaran dengan
memeriksa tetangga m×n di sekitar piksel masukan yang bersangkutan.
Filter median mengatur nilai-nilai piksel dalam satu tetangga dan memilih
nilai tengah atau median sebagai hasil.
Median filter merupakan salah satu jenis low-pass filter, yang
bekerja dengan mengganti nilai suatu piksel pada citra asal dengan nilai
median dari piksel tersebut dan lingkungan tetangganya. Dibandingkan
49
dengan neighborhood averaging, filter ini lebih tidak sensitif terhadap
perbedaan intensitas yang ekstrim.
Pada filter median, suatu ‘jendela’ (window) memuat sejumlah
piksel. Jendela digeser titik demi titik pada seluruh daerah citra. Pada setiap
pergeseran dibuat jendela baru. Titik tengah dari jendela ini diubah dengan
nilai median dari jendela tersebut.
Gambar 6.6 (a) Citra yang mengandung noise, (b) Hasil pelembutan dengan
median filtering
50
Penyelesaian
1⁄ 1⁄ 1⁄
9 9 9
1 1 1 1 1 1 1 1⁄
𝐺(𝑥, 𝑦) = [1 1 1] = ⁄ ⁄9
3.3 9 9 9
1 1 1 1 1 1⁄
[ ⁄9 ⁄9 9]
𝑓𝑜𝑢𝑡(2,2) = 𝑔(𝑥, 𝑦) 𝑥 𝐴 (𝑥, 𝑦)
1⁄ 1⁄ 1⁄
9 9 9 40 10 40
= 1⁄ 1⁄ 1⁄ 𝑥 [46 40 99]
9 9 9
1 1 1 35 53 14
[ ⁄9 ⁄9 ⁄9]
1
= 9 (40 10 40 46 40 99 35 53 14)
40 10 40 46 40 99 35 53 14
= + + + + + + + +
9 9 9 9 9 9 9 9 9
377
= = 42
9
51
46 40 99 35 53 14 10 27 26
= + + + + + +9 + +
9 9 9 9 9 9 9 9
350
= = 39
9
52
269
= = 30
9
2. Membuat GUI
a. Pertama melalui Command Window Matlab ketikan : guide.
53
Gambar 6.9 membuat axes
d. Kemudian klik kanan pada button, setelah itu pilih view callbacks >
callback.
54
rep(x,y) = A( x - top, y - left);
end
end
B = zeros(r,c);
for x = 1 : r
for y = 1 : c
for i = 1 : m
for j = 1 : n
q = x - 1;
w = y - 1;
B(x,y) = B(x,y) + (rep(i + q, j + w) *k(i,j));
end
end
end
end
set(open.figure1,'CurrentAxes', open.axes2);
set(imagesc(B));
set(open.axes2, 'userdata', B);
55
Tampilan Hasil
56
6.4 Kesimpulan
1. Filtering pada pengolahan citra biasa disebut dengan spasial filtering.
2. Low pass filter atau filter lolos rendah adalah filter dengan sifat dapat
meloloskan bagian berfrekuensi rendah dan menghilangkan yang
berfrekuensi tinggi.
3. High Pass Filter atau filter lolos tinggi adalah filter yang ditujukan untuk
melewatkan frekuensi tinggi dan menghalangi yang berfrekuensi rendah.
4. Filter median sangat bermanfaat untuk menghilangkan outliers, yaitu
nilainilai piksel yang ekstrim
Diyona Amelia
1618050
57
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 7
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Pendeteksian Tepi (Edge Detection)
TUGAS : 1. Perhitungan Operator Roberts, Prewit, Sobel.
2. Membuat GUI
Deteksi tepi dibagi menjadi dua gologan. Golongan pertama disebut deteksi
tepi orde pertama, yang bekerja dengan menggunakan turunan atau differensial
orde pertama. Yang termasuk kelompok ini adalah operator Roberts, Prewitt,
Canny dan Sobel. Golongan kedua dinamakan deteksi tepi orde kedua, yang
menggunakan turunan orde kedua. Yang termasuk kelompok ini adalah
Laplacian of Gaussian (LoG).
58
(𝑥, 𝑦) = |𝑓(𝑥, 𝑦) − 𝑓(𝑥 + 1, 𝑦 + 1)| + |𝑓(𝑥 + 1, 𝑦 − 𝑓(𝑥, 𝑦 + 1)|
Bila ditulis dalam komponen gradient menjadi :
𝐺(𝑥, 𝑦) = |𝐺𝑥| + |𝐺𝑦|
Dimana Gx dan Gy dihitung menggunakan kernel konvulusi sebagai
berikut :
1 0 0 -1
0 -1 1 0
Gx Gy
b. Operator Prewitt
Metode Prewitt merupakan pengembangan metode robert dengan
menggunakan filter HPF yang diberi satu angka nol penyangga.
Metode ini mengambil prinsip dari fungsi laplacian yang dikenal
sebagai fungsi untuk membangkitkan HPF.
59
B. Operator Turunan Kedua
Operator turunan kedua disebut juga operator Laplace. Operator
Laplace mendeteksi lokasi tepi yang lebih akurat khususnya pada tepi yang
curam. Pada tepi yang curam, turunan keduanya memiliki persilangan nol
(zero-crossing), yaitu titik di mana terdapat pergantian tanda nilai turunan
kedua, sedangkan pada tepi yang landau tidak terdapat persilangan nol.
Persilangan nol merupakan lokasi tepi yang akurat.
a. Operator Laplacian
Operator laplacian merupakan contoh operator yang berdasarkan
pada turunan kedua. Operator ini bersifat omnidirectional, yakni
menebalkan bagian tepi di segala arah. Namun, operator laplacian
memiliki kelemahan, yakni peka terhadap derau, memberikan
ketebalan ganda, dan tidak mampu mendeteksi arah tepi (Gonzalez &
Woods, 2002).
1. Titik-titik tepi dilacak dengan cara menemukan titik perpotongan
dengan sumbu x oleh turunan kedua sehingga sering di sebut
sebagai zero crossing operator b.
2. Sangat sensitif terhadap noise yang terletak pada titik-titik tepi
dapat diatasi dengan Laplacian of Gaussian yang merupakan
kombinasi dari operator laplacian dengan operator Gaussian.
Rumus Operator Laplacian
(𝑥, 𝑦) = 4(𝑥, 𝑦) − [(𝑥 − 1, 𝑦) + (𝑥, 𝑦 − 1) + (𝑥, 𝑦 + 1)]
0 1 0 0 −1 0
[1 −4 1] [1 4 −1]
0 1 0 0 −1 0
−1 −1 −1 −2 1 −2 1 4 1
[−1 8 −1] [1 4 1] [4 −20 4]
−1 −1 −1 −2 1 −2 1 4 1
60
dan berdampak terhadap pengurangan derau pada citra.
Akibatnya, operator mereduksi jumlah tepi yang salah terdeteksi
(Crane, 1997). Operator ini dapat dilakukan dengan cara :
1. Sebuah citra di konvolusi dengan operator gaussian,
kemudian hasilnya di konvolusi dengan operator laplacian.
2. Di konvolusi langsung dengan menggunakan operator
Laplacian of Gaussian.
Operator Laplacian of Gaussian diperoleh dari konvulusi
sebagai berikut : ℎ(𝑥, 𝑦) = [𝑔(𝑥, 𝑦) ∗ 𝑓(𝑥, 𝑦)]
Dimana :
Mask Konvulusi :
0 0 -1 0 0
0 -1 -2 -1 0
-1 -2 16 -2 -1
0 -1 -2 -1 0
0 0 -1 0 0
61
f(1,1) = Gx =(1.40)+(0.2)+(0.40)+(-1.40) = 0
Gy =(0.40)+(-1.2)+(1.40)+(0.40) = 38
f(1,1) = |0 | + |38 | = 38
f(1,2) = Gx =(1.2)+(0.30)+(0.40)+(-1.34) = 32
Gy =(0.2)+(-1.30)+(1.40)+(0.34) = 10
f(1,2) = |32 | + |10 | = 42
f(1,3) = Gx =(1.30)+(0.20)+(0.34)+(-1.22) = 8
Gy =(0.30)+(-1.20)+(1.34)+(0.22) = 14
f(1,3) = |8 | + |14 | = 22
f(1,4) = Gx =(1.20)+(0.33)+(0.22)+(-1.12) = 8
Gy =(0.20)+(-1.33)+(1.22)+(0.12) = 11
f(1,4) = | 8| + |11 | = 19
f(1,5) = Gx =(1.33)+(0.0)+(0.12)+(-1.0) = 33
Gy =(0.33)+(-1.0)+(1.12)+(0.0) = 12
f(1,5) = |33 | + |12 | = 45
f(2,1) = Gx =(1.40)+(0.40)+(0.45)+(-1.40) = 0
Gy =(0.40)+(-1.40)+(1.45)+(0.40) = 5
f(2,1) = |0 | + |5 | = 5
f(2,2) = Gx =(1.40)+(0.34)+(0.28)+(-1.40) = 0
Gy =(0.40)+(-1.34)+(1.28)+(0.40) = 6
f(2,2) = |0| + |6 | = 6
f(2,3) = Gx =(1.34)+(0.22)+(0.40)+(-1.8) = 26
Gy =(0.34)+(-1.22)+(1.40)+(0.8) = 18
f(2,3) = |26 | + |18 | = 44
f(2,4) = Gx =(1.22)+(0.12)+(0.8)+(-1.2) = 1
62
Gy =(0.22)+(-1.12)+(1.8)+(0.2) = 4
f(2,4) = |1 | + |4 | = 5
f(2,5) = Gx =(1.12)+(0.0)+(0.21)+(-1.0) = 12
Gy =(0.12)+(-1.0)+(1.21)+(0.0) = 21
f(2,5) = |12 | + |21 | = 33
f(3,1) = Gx =(1.45)+(0.28)+(0.23)+(-1.44) = 1
Gy =(0.45)+(-1.28)+(1.23)+(0.44) = 5
f(3,1) = |1| + |5 | = 6
f(3,2) = Gx =(1.28)+(0.40)+(0.44)+(-1.9) = 19
Gy =(0.28)+(-1.40)+(1.44)+(0.9) = 4
f(3,2) = |19 | + |4 | = 23
f(3,3) = Gx =(1.40)+(0.8)+(0.9)+(-1.18) = 22
Gy =(0.40)+(-1.8)+(1.9)+(0.18) = 1
f(3,3) = | 22| + |1 | = 23
f(3,4) = Gx =(1.8)+(0.21)+(0.18)+(-1.16) = 8
Gy =(0.8)+(-1.21)+(1.18)+(0.16) = 3
f(3,4) = | 8| + |3 | = 11
f(3,5) = Gx =(1.21)+(0.0)+(0.16)+(-1.0) = 21
Gy =(0.21)+(-1.0)+(1.16)+(0.0) = 16
f(3,5) = | 21| + |16 | = 37
f(4,1) = Gx =(1.23)+(0.44)+(0.10)+(-1.19) = 4
Gy =(0.23)+(-1.44)+(1.10)+(0.19) = 34
f(4,1) = |4 | + |34 | = 38
f(4,2) = Gx =(1.44)+(0.9)+(0.19)+(-1.17) = 27
Gy =(0.44)+(-1.9)+(1.19)+(0.17) = 10
f(4,2) = |27 | + |10 | = 37
63
f(4,3) = Gx =(1.9)+(0.18)+(0.17)+(-1.80) = 71
Gy =(0.9)+(-1.18)+(1.17)+(0.80) = 1
f(4,3) = |71 | + |1 | = 72
f(4,4) = Gx =(1.18)+(0.16)+(0.80)+(-1.50) = 32
Gy =(0.18)+(-1.16)+(1.80)+(0.50) = 64
f(4,4) = |32 | + |64 | = 96
f(4,5) = Gx =(1.16)+(0.0)+(0.50)+(-1.0) = 16
Gy =(0.16)+(-1.0)+(1.50)+(0.0) = 50
f(4,5) = | 16| + |50 | = 66
f(5,1) = Gx =(1.10)+(0.19)+(0.0)+(-1.0) = 10
Gy =(0.10)+(-1.19)+(1.0)+(0.0) = 19
f(5,1) = | 10| + |19 | = 29
f(5,2) = Gx =(1.19)+(0.17)+(0.0)+(-1.0) = 19
Gy =(0.19)+(-1.17)+(1.0)+(0.0) = 17
f(5,2) = |19 | + |17 | = 36
f(5,3) = Gx =(1.17)+(0.80)+(0.0)+(-1.0) = 17
Gy =(0.17)+(-1.80)+(1.0)+(0.0) = 80
f(5,3) = | 17| + |80 | = 97
f(5,4) = Gx =(1.80)+(0.50)+(0.0)+(-1.0) = 80
Gy =(0.80)+(-1.50)+(1.0)+(0.0) = 50
f(5,4) = | 80| + |50 | = 130
f(5,5) = Gx =(1.50)+(0.0)+(0.0)+(-1.0) = 50
Gy =(0.50)+(-1.0)+(1.0)+(0.0) = 0
f(5,5) = | 50| + |0 | = 50
64
Citra Hasil Operator Roberts
38 42 22 19 45
5 6 44 5 33
6 23 23 11 37
38 37 72 96 66
29 36 97 130 50
b. Operator Prewitt
-1 0 1 1 1 1
Px = -1 0 1 Py = 0 0 0
-1 0 1 -1 -1 -1
65
f(3,3)=Px = (-1.40)+(0.34)+(1.22)+ (-1.28)+(0.40)+(1.8)+ (-1.44)
+(0.9)+(1.18) = 64
Py = (1.40)+(1.34)+(1.22)+(0.28)+(0.40)+(0.8)+(-1.44)+(-
1.9)+ (-1.19)= 24
f(3,3) = | 64| + |24 | = |88|
66
Citra Hasil Operator Prewitt
40 2 30 20 33
40 62 54 52 12
45 63 88 31 21
23 46 55 37 16
10 19 17 80 50
c. Operator Sobel
-1 0 1 1 2 1
Sx = -2 0 2 Sy = 0 0 0
-1 0 1 -1 -2 -1
67
f(3,3)=Px = (-1.40)+(0.34)+(1.22)+ (-2.28)+(0.40)+(2.8)+ (-
1.44) +(0.9)+(1.18) = 139
Py = (1.40)+(2.34)+(1.22)+(0.28)+(0.40)+(0.8)+(-1.44)+
(-2.9)+(-1.19)= 49
f(3,3) = |139 | + | 49| = |188|
68
Citra Hasil Sobel
40 2 30 20 33
40 26 44 66 12
45 126 188 100 21
23 34 28 38 16
10 19 17 80 50
69
d. Kemudian klik kanan pada button, setelah itu pilih view callbacks >
callback.
70
h. Masukan script GUI pada button Prewitt
function pushbutton4_Callback(hObject, eventdata, handles)
open=guidata(gcbo);
A = get(open.axes1,'Userdata');
gray = rgb2gray(A);
BW3 = edge(gray,'prewitt');
set(open.figure1,'CurrentAxes', open.axes4);
set(imagesc(BW3));
set(open.axes4, 'userdata', BW3);
Tampilan Hasil
71
7.3 Tujuan
1. Pratikan dapat memahami Pendeteksian Tepi (Edge Detection).
2. Pratikan dapat memahami Operator Gradien Pertama dan Operator
Turunan Kedua
3. Pratikan dapat melakukan implementasi Opreator Roberts, Prewitt, Sobel
dan Log berbasis GUI dalam matlab.
7.4 Kesimpulan
1. Deteksi tepi berfungsi untuk memperoleh tepi objek.
2. Operator Robert adalah nama lain dari teknik differensial yang sedang
dikembangkan, yaitu differensial pada arah horisontal dan differensial pada
arah vertikal.
3. Metode Prewitt merupakan pengembangan metode robert dengan
menggunakan filter HPF yang diberi satu angka nol penyangga.
4. Metode Sobel merupakan pengembangan metode robert dengan
menggunakan filter HPF yang diberi satu angka nol penyangga.
5. Operator turunan kedua disebut juga operator Laplace. Operator Laplace
mendeteksi lokasi tepi yang lebih akurat khususnya pada tepi yang curam.
Diyona Amelia
1618050
72
TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 8
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Pemampatan Citra
TUGAS : 1. Perhitungan RLE 7 BIT
2. GUI RLE
8. Pemampatan Citra
Pemampatan atau kompresi citra merupakan suatu teknik untuk
mengkodekan piksel- piksel di dalam citra sehingga diperoleh representasi
memori yang minimal. Kebanyakan citra mengandung duplikasi data.
Duplikasi data pada citra berarti dua hal. Pertama, besar kemungkinan suatu
piksel dengan piksel tetangganya memiliki intensitas yang sama, sehingga
penyimpanan setiap piksel memboroskan tempat. Kedua, citra banyak
mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak
perlu dikodekan berulang kali. Pemampatan citra bertujuan untuk
meminimalkan kebutuhan memori untuk merepresentasikan citra digital.
Prinsip umum yang digunakan pada proses pemampatan citra adalah
mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan
untuk merepresentasikan citra menjadi lebih sedikit daripada representasi
citra semula. Ada beberapa metode dasar kompresi, diantaranya:
1. Metode Huffman
2. Metode RLE (Run Length Encoding)
3. Metode Aritmatik
4. Metode Kuantisasi
5. Metode LZW, dan
6. Pendekatan Fraktal
A. Metode Run-Length Encoding
Metode RLE cocok digunakan untuk memampatkan citra yang
memiliki kelompok-kelompok piksel yang berderajat keabuan yang sama.
Pemampatan citra dengan metode RLE dilakukan dengan membuat
73
rangkaian pasangan nilai (p,q) untuk setiap baris piksel, nilai pertama (p)
menyatakan derajat keabuan, sedangkan nilai kedua (q) menyatakan
jumlah piksel berurutan yang memiliki derajat keabuan tersebut
(dinamakan run length).
𝑈𝑘. 𝐶𝑖𝑡𝑟𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠
𝑅𝑎𝑠𝑖𝑜 = 100% − [ 𝑥 100%]
𝑈𝑘. 𝐶𝑖𝑡𝑟𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠
8.1 Langkah-langkah Membuat Tugas
1. Perhitungan RLE 7 BIT
40 2 2 2 3 3 4 5 (40,1)(2,3)(3,2)(4,1)(5,1)
6 40 6 6 88 8 9 9 (6,1)(40,1)(6,2)(88,1)(8,1)(9,2)
10 10 40 15 16 17 18 19 (10,2)(40,1)(15,1)(16,1)(17,1)(18,1)(19,1)
11 11 11 11 16 17 17 17 (11,4)(16,1)(17,3)
15 20 20 15 15 21 21 21 (15,1)(20,2)(15,2)(21,2)
55 55 55 89 90 90 90 90 (55,3)(89,1)(90,4)
Hasil pengkodean :
40 1 2 3 3 2 4 1 5 1 6 1 40 1 6 2 88 1 8 1 9 2 10 2 40 1 15 1 16 1 17 1 18 1
19 1 11 4 16 1 17 3 15 1 20 2 15 2 21 3 55 3 89 1 90 4
Semuanya = 56 pixel
Citra sebelum dikompres = 8 x 6 x 7 bit = 336 bit
Ukuran citra sesudah dikompres = 56 x 7 bit = 392 bit
392
𝑅𝑎𝑠𝑖𝑜 = 100% − [336 𝑥 100%] = −16 = 0%
74
Gambar 8.2 Membuat GUI baru
c. Setelah itu buat GUI baru dengan 2 panel, 2 button , 5 static text, dan
4 edit text.
75
while A & (B(end) == A(1))
A = A(2:end);
hit = hit + 1;
end
B = [B num2str(hit)];
end
R = [B];
set(handles.edit6,'string',(R));
Tampilan Hasil
76
8.2 Alat dan Bahan
1. Laptop
2. Matlab 2015a
3. Modul Pengolahan Citra Digital 2018
8.4 Tujuan
1. Pratikan dapat memahami Pemampatan Citra
2. Pratikan dapat memahami Metode Run-Length Encoding
3. Pratikan dapat melakukan implementasi Run-Length Encoding berbasis
GUI dalam matlab.
8.5 Kesimpulan
1. Pemampatan atau kompresi citra merupakan suatu teknik untuk
mengkodekan piksel- piksel di dalam citra sehingga diperoleh representasi
memori yang minimal.
2. Ada beberapa metode dasar kompresi, diantaranya, Metode Huffman,
Metode RLE (Run Length Encoding), Metode Aritmatik, Metode
Kuantisasi, Metode LZW, dan Pendekatan Fraktal.
3. Metode RLE cocok digunakan untuk memampatkan citra yang memiliki
kelompok-kelompok piksel yang berderajat keabuan yang sama.
Diyona Amelia
1618050
77
PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 9
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Watermark Citra
TUGAS : 1. Perhitungan Watermark
2. GUI Program
9. Watermark Citra
Salah satu cara untuk melindungi hak cipta multimedia adalah dengan
menyisipikan informasi ke dalam data multimedia tersebut dengan teknik
watermarking. Informasi yang disisipkan ke dalam data multimedia disebut
watermark, dan watermark dapat dianggap sebagai sidik digital (digital
signature) dari pemilik yang sah atas produk multimedia tersebut.
Dengan kata lain, watermark yang disisipkan menjadi label hak cipta dari
pemiliknya. Pemberian signature dengan teknik watermarking ini dilakukan
sedemikian sehingga informasi yang disisipkan tidak merusak data digital yang
dilindungi. Sehingga, seseorang yang membuka produk multimedia yang
sudah disisipi watermark tidak menyadari kalau di dalam data multimedia
tersebut terkandung label kepemilikan pembuatnya.
A. Teknik Penyembunyian Data
Penyembunyian data dilakukan dengan mengganti bit-bit data di
dalam segmen citra dengan bit-bit rahasia. Metode modifikasi LSB (Least
Significant Bit Modification). Pada susunan bit di dalam sebuah byte (1 byte
= 8 bit), ada : Bit yang paling berarti (Most Significant Bit atau MSB) dan
Bit yang paling kurang berarti (Least Significant Bit atau LSB).
78
9.1 Langkah-langkah Membuat Tugas
1. Perhitungan Watermark
40 25 15 7 11 30 21 14 12 50
23 17 2 12 15 8 9 16 70 32
40 12 23 10 41 29 37 6 3 20
8 28 34 15 18 24 30 31 42 33
11 20 30 24 31 28 39 18 27 36
23 22 11 34 25 60 10 22 45 87
22 33 14 8 19 27 6 34 80 11
28 34 15 15 8 9 16 28 39 18
30 24 31 28 39 18 27 11 20 30
8 28 34 15 18 24 30 31 42 33
Penyelesaian :
79
Table 9.4 Citra Input A
Citra Input A MSB
9 = 0000 1001 0 1000 1001 = 9
16 = 0001 0000 1 1001 0000 = 144
70 = 0100 0110 0 0100 0110 = 70
32 = 0010 0000 0 1010 0000 = 32
40 = 0010 1000 0 0010 1000 = 40
12 = 0000 1100 0 0000 1100 = 12
23 = 0001 0111 0 0001 0111 = 23
10 = 0000 1010 1 1000 1010 = 138
80
2. Membuat GUI Program
a. Pertama melalui Command Window Matlab ketikan : guide.
81
e. Masukkan script g_encode
82
set(open.axes3, 'userdata', G);
Tampilan Hasil
9.3 Tujuan
1. Pratikan dapat memahami Watermark Citra.
2. Pratikan dapat memahami Metode LSB (Least Significant Bit).
3. Pratikan dapat memahami Metode MSB (Most Significant Bit).
4. Pratikan dapat melakukan implementasi Encoding dan Decoding berbasis
GUI dalam matlab.
83
9.4 Kesimpulan
1. Watermarking merupakan teknik melindungi hak cipta multimedia dengan
menyisipikan informasi ke dalam data multimedia.
2. Watermark dapat dianggap sebagai sidik digital (digital signature) dari
pemilik yang sah atas produk multimedia tersebut.
3. Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam
segmen citra dengan bit-bit rahasia.
4. Bit yang paling berarti (Most Significant Bit atau MSB).
5. Bit yang paling kurang berarti (Least Significant Bit atau LSB).
Diyona Amelia
1618050
84
TUGAS PRAKTIKUM PENGOLAHAN CITRA DIGITAL
PERTEMUAN : 10
NIM : 1718040
NAMA : Marvelina Gracia Hernoko
MATERI : 1. Histogram Citra
TUGAS : 1. Perhitungan Histogram
2. GUI Program
Dimana :
ni = jumlah pixel yang memiliki derajat keabuan
n = jumlah seluruh pixel di dalam citra
10.1 Langkah-langkah Membuat Tugas
1. Perhitungan Histogram
40 45 45 3 2 3 1 2 55 45
21 40 21 19 16 16 16 34 5 5
16 6 7 7 40 6 4 5 8 8
34 34 5 2 2 1 1 56 56 45
38 38 19 2 19 26 26 57 26 57
12 12 23 23 45 21 67 67 31 32
31 32 16 17 16 19 19 24 14 24
52 27 52 55 34 27 67 52 16 17
18 18 18 1 1 22 2 2 2 45
45 34 7 7 7 34 22 27 5 19
85
Penyelesaian :
86
2. Membuat GUI Program
a. Pertama melalui Command Window Matlab ketikan : guide.
87
e. Masukkan script OPEN
Tampilan Hasil
88
10.3 Tujuan
1. Pratikan dapat memahami Histogram Citra.
2. Pratikan dapat memahami kurva Histogram
3. Pratikan dapat melakukan implementasi Histogram Citra berbasis GUI
dalam matlab.
10.4 Kesimpulan
1. Histogram citra merupakan diagram yang menggambarkan frekuensi
setiap nilai intensitas yang muncul di seluruh piksel citra.
2. Nilai besar menyatakan bahwa piksel – piksel yang mempunyai
intensitas tersebut sangat banyak.
3. Jumlah skala keabuan sebanyak 256.
Diyona Amelia
1618050
89
PENUTUP
Kesimpulan
1. Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu
objek.
2. Pengolahan citra digital merupakan proses pengolahan dan analisis citra yang
melibatkan persepsi visual.
3. Matlab adalah sebuah lingkungan komputasi numerical dan bahasa
pemrograman yang digunakan untuk manipulasi matriks, membagi fungsi dan
data.
4. Operasi titik, yaitu operasi yang dilakukan terhadap setiap piksel pada citra
yang keluarannya hanya ditentukan oleh nilai piksel itu sendiri.
5. Konvolusi merupakan operasi yang mendasar dalam pengolahan citra.
6. Segmentasi citra merupakan proses yang ditujukan untuk mendapatkan objek
yang terkandung di dalam citra atau membagi ke dalam beberapa.
7. Filtering pada pengolahan citra biasa disebut dengan spasial filtering.
8. Deteksi tepi berfungsi untuk memperoleh tepi objek.
9. Pemampatan atau kompresi citra merupakan suatu teknik untuk mengkodekan
piksel- piksel di dalam citra sehingga diperoleh representasi memori yang
minimal.
10. Watermarking merupakan teknik melindungi hak cipta multimedia dengan
menyisipikan informasi ke dalam data multimedia.
11. Histogram citra merupakan diagram yang menggambarkan frekuensi setiap
nilai intensitas yang muncul di seluruh piksel citra.
Saran
1. Lebih teliti pada saat perhitungan citra menggunakan metode apapun.
2. Siapkan materi sebelum berlangsungnya praktikum.
3. Ada beberapa fungsi yang harus digunakan saat akan membuat GUI Citra.
90
DAFTAR PUSTAKA
Sutojo, T., Mulyanto, E., Suhartono, V., & NURHAYATI, O. D. (2009). Teori
Pengolahan Citra Digital.
91
LABORATORIUM PCD & MULTIMEDIA
INSTITUT TEKNOLOGI NASIONAL
KampusII : Jl. Raya Karanglo Km. 2 Malang
Asistensi
No. Tanggal Paraf
Konsep Program HasilAkhir
Instruktur
1
Dosen
Batas Akhir: