Mata Kuliah :
Pengolahan Citra Digital
: 130210366
Kode Kelas
Dosen
KATA PENGANTAR
Syukur Alhamdulillah kehadirat Allah SWT yang telah melimpahkan segala
rahmat dan karuniaNya, sehingga penyusun dapat menyelesaikan laporan tugas
mandiri mata kuliah Pengolahan Citra Digital. Peyusun menyadari bahwa laporan
tugas mandiri ini masih jauh dari sempurna. Karena itu, kritik dan saran akan
senantiasa penyusun terima dengan senang hati.
Dengan segala keterbatasan, peyusun menyadari pula bahwa laporan tugas
mandiri ini takkan terwujud tanpa bantuan, bimbingan, dan dorongan dari
berbagai pihak. Untuk itu, dengan segala kerendahan hati, penyusun
menyampaikan ucapan terima kasih kepada:
1. Bapak Hotma Pangaribuan, S.Kom., M.SI. selaku dosen mata kuliah
Pengolahan Citra Digital pada Program Studi Teknik Informatika
Universitas Putera Batam.
2. Dosen dan Staff Universitas Putera Batam.
Semoga Allah SWT membalas kebaikan dan selalu mencurahkan hidayah
serta taufikNya, Amin.
Jefri
DAFTAR ISI
HALAMAN JUDUL
KATA PENGANTAR.............................................................................................ii
DAFTAR ISI..........................................................................................................iii
BAB I PENDAHULUAN.......................................................................................1
1.1. LATAR BELAKANG..................................................................................1
1.2.RUMUSAN MASALAH...............................................................................2
1.3. TUJUAN.......................................................................................................2
1.4. MANFAAT....................................................................................................2
BAB II LANDASAN TEORI................................................................................3
2.1. Pengolahan Citra...........................................................................................3
2.1.1 Citra.......................................................................................................3
2.1.2 Digitalisasi Citra...................................................................................3
2.1.3 Citra Grayscale......................................................................................4
2.1.4 Citra Biner.............................................................................................5
2.1.5 Definisi Pengolahan Citra.....................................................................5
2.1.6 Operasi Pengolahan Citra......................................................................6
2.2. Citra Biner.....................................................................................................7
2.2.1 Konversi Citra Hitam-Putih ke Citra Biner...........................................8
2.2.2 Penapis Luas.......................................................................................10
2.2.3 Segmentasi Citra Biner.......................................................................10
2.2.4 Representasi Wilayah...........................................................................11
2.2.5 Penipisan Pola......................................................................................11
2.3. Representasi Bentuk....................................................................................12
2.4. Ekstraksi Tepi Objek...................................................................................12
BAB I
PENDAHULUAN
1.2.RUMUSAN MASALAH
1.
2.
3.
4.
5.
Representasi bentuk
Ekstraksi tepi objek
Kontur
Rantai kode
Perimeter
6. Luas
7. Diameter
8. Fitur
1.3. TUJUAN
1. Memenuhi tugas mata kuliah Pengolahan Citra Digital.
2. Memberitahukan macam-macam operasi pada citra biner.
1.4. MANFAAT
Kita bisa mengetahui fungsi dan cara dari macam macam operasi citra
biner.
BAB II
LANDASAN TEORI
2.1. Pengolahan Citra
2.1.1 Citra
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua
dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi
menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya
menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya.
Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia,
kamera, dan pemindai (scanner), sehingga bayangan objek yang disebut citra
tersebut terekam (Munir; 2004:2).
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:
1. Optik berupa foto.
2. Analog berupa sinyal video, seperti gambar pada monitor televisi.
3. Digital yang dapat langsung disimpan pada suatu pita magnetik.
2.1.2 Digitalisasi Citra
Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra kontinu
dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata
manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi
terhadap citra kontinu.
Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik
pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan) pada titik (i,j).
Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image
element, picture element atau piksel atau pel. Jadi, citra yang berukuran N X M
mempunyai NM buah piksel. Sebagai contoh, misalkan sebuah citra berukuran
256 x 256 piksel dan direpresentasikan secara numerik dengan matriks yang
terdiri dari 256 buah baris (di-indeks dari 0 sampai 255) dan 256 buah kolom (diindeks dari 0 sampai 255) seperti contoh berikut:
(2.1)
dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan
mengatur komposisi warna R (merah), G (hijau), B (biru) yang ditunjukkan oleh
nilai parameter , , dan . Secara umum nilai , , dan adalah 0.33. Nilai yang
lain juga dapat diberikan untuk ketiga parameter tersebut asalkan total
keseluruhan nilainya adalah 1. (Putra, 2009)
2.1.4 Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai
derajat keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel
8
citra
adalah
pemrosesan
citra,
khususnya
dengan
citra
ke
dalam
bidang
ini
juga
adalah
10
Meskipun computer saat ini dapat memproses citra hitm putuih (grayscale)
maupun citra yang berwarna, namun citra biner masih tetap dipertahankan. Alasan
penggunaan citra biner adalah karena ia memiliki sejumlah keuntungan debagai
berikut:
1. Kebutuhan memori kecil karena nilai derajat keabuan hany membutuhkan
representasi 1 bit. Kebutuhan memori untuk citra biner masih dapat
berkurangsecra berarti dengan metode pemampatan run-length encoding
11
derajat keabuan setiap pixel ke dalam 2 kelas, hitam dan putihdua pendekatan
yang digunakan dalam opersi pengambangan adalah pengambangan secara global
dan pengambangan secara local.
1. Pengambangan secara global (global image thresholding)
Setiap pixel di dalam citra dipetakan ke dalam dua nilai, 1 atau 0 dengan
fungsi pengambangan:
12
ini
hitam
putih,
citra
fB(i,j)
adalh
secara
local
adaptif
(locally
adaptive
image
13
dibawah T dinyatakan dengan 0. Dengan cara ini, daerah yang berupa gangguan
dapat dihilangkan (gambar 11.6 dan 11.7)
2.2.3 Segmentasi Citra Biner
Proses
awal
yang
dilakukan
adalah
Segmentasi
segmentasi
objek.
objek
bertujuan
untuk
mengelompokkan
pixel-pixel
objek
(region)
yang
menjadi
wilayah
mempresentasikan objek.
Ada dua pendekatan yang digunakan
dalam segmentasi objek:
1. Segmentasi berdasarkan wilayah (tepi dari objek). Pixel-pixel tepi
ditelusuri sehingga rangkaian pixel yang menjadi batas antara objek
dengan latar belakang dapat diketahui secara keseluruhan.
2. Segmentasi kedalam bentuk-bentuk dasar (misalnya segmentasi huruf
menjadi garis-garis vertical dan horizontal, segmentasi objek menjadi
bentuk lingkaran elips, dan sebagainya).
Metode
pendeteksian
batas wilayah yang lain adalah pendeteksian topologi. Pada metode ini, setiap
kelompok 4-pixel bertetangnga dan bila kelompok tersebut sama dengan salah
satu bentuk pada gambar 11.9. maka pada titik tengah dari kelompok pixel
tersebut terdapat tepi.
Titik tepi yag dideteksi selanjutnya dihubungkan oleh garis-garis
penghubung. Arah garis penghubung dikodekan dengan kode rantai (chain code).
14
tanaman (Wu, dkk., 2007) dan Polar Fourier Transform (PFT) dapat dipakai
untuk identifikasi daun (Kadir, dkk., 2011).
Keluaran:
16
FOR q 2 to m-1
FOR p 2 to n-1
p0 f(q, p+1)
p1 f(q-1, p+1)
p2 f(q-1, p)
p3 f(q-1, p-1)
p4 f(q, p-1)
p5 f(q+1, p-1)
p6 f(q+1, p)
p7 f(q+1, p+1)
sigma p0 + p1 + p2 + p3 + p4 + p5 + p6 + p7
IF sigma = 8
g(q, p) 0
ELSE
g(q, p) f(q, p)
END-IF
END-FOR
END-FOR
2.5. Mengikuti Kontur
Mengikuti kontur (contour following) merupakan suatu metode yang
digunakan untuk mendapatkan tepi objek. Terkait dengan hal itu, terdapat istilah
kontur eksternal dan kontur internal. Gambar 8.4 memberikan ilustrasi tentang
perbedaan kedua jenis kontur tersebut. Terlihat bahwa piksel yang menjadi bagian
kontur eksternal (ditandai dengan huruf E) terletak di luar objek, sedangkan piksel
yang menjadi bagian kontur internal terletak di dalam objek itu sendiri.
17
Cari piksel kedua yang menjadi bagian kontur dengan cara yang
ALGORITMA 8.3: Memperoleh piksel berikutnya pada kontur
telah dibahas dan diletakkan di piksel_berikutnya
piksel_berikutnya
// e[n]
dpc =arah
piksel sebelumnya ke piksel sekarang
cari_piksel_berikutnya(e(n), dpc, piksel_berikutnya, dcn)
// pb = piksel berikutnya yang akan dihasilkan oleh fungsi
nn+1
//
dcn = arah piksel sekarang ke piksel berikutnya
END-WHILE
dcp kebalikan(dpc)
FOR r 0 TO 6
dE MOD(dcp + r, 8) // Arah eksternal
dI MOD(dcp + r + 1, 8); // Arah internal
ALGORITMA 8.4: Memperoleh piksel berikutnya
pE peroleh_piksel_berikutnya(pc, dE)
pI peroleh_piksel_berikutnya(pc,
dI)
peroleh_piksel_berikutnya(pc,
d)
// pc = piksel sekarang
// d = arahIF
piksel
berikutnya
adalah_latarbelakang(pE)
AND adalah_objek(pI)
// Nilai balik:pbpiksel
berikutnya
pE
dcn dE
END-IF
END-FOR
18
Keluaran:
b b1 dan c c1
WHILE true
a
19
IF b = b0
Keluar dari WHILE
END-IF
END-WHILE
2.7. Rantai Kode
Rantai kode (code chain) merupakan contoh representasi kontur yang
mula-mula diperkenalkan oleh Freeman pada tahun 1961. Representasi bentuk
dilakukan dengan menggunakan pendekatan 8-ketetanggan. Kode rantai setiap
tetangga piksel dinyatakan dengan sebuah angka sebagaimana terlihat pada
Gambar 2.7.1
Keluaran:
perimeter
2.9. Luas
Cara sederhana untuk menghitung luas suatu objek adalah dengan cara
menghitung jumlah piksel pada objek tersebut. Algoritmanya sebagai berikut.
ALGORITMA 8.7 Menghitung luas objek
Masukan:
Keluaran:
luas
21
luas 0
FOR p = 1 to m
FOR j = 1 to n
IF piksel(p, q) dalam objek
luas luas + 1
END-IF
END-FOR
END-FOR
2.10. Diameter
Diameter adalah jarak terpanjang antara dua titik dalam tepi objek. Hal itu
dapat dihitung dengan menggunakan metode Brute force (Costa dan Cesar,
2001). Algoritmanya sebagai berikut.
ALGORITMA 8.8 Estimasi diameter bentuk
Masukan:
Keluaran:
diameter
c jumlah elemen U
jarak_maks 0
FOR p1 TO c-1
FOR qp+1 TO c
IF | U(p) U(q) | > jarak_maks
jarak_maks | U(p) U(q) |
piksel1 p
piksel2 q
END-IF
END-FOR
END-FOR
22
diameter jarak_maks
Pada algoritma di atas, piksel1 dan piksel2 mencatat posisi dua piksel yang
memiliki jarak terpanjang.
\
2.11. Fitur Menggunakan Perimeter, Luas, dan Diameter
Fitur seperti perimeter, luas, dan diameter seperti yang telah dibahas tidak
dapat digunakan secara mandiri sebagai fitur identifikasi objek. Fitur seperti itu
dipengaruhi oleh ukuran objek. Nah, agar tidak bergantung penyekalaan, beberapa
fitur dapat diturunkan dari ketiga fitur tersebut. Contoh dapat dilihat di bawah ini.
Kebulatan bentuk adalah perbandingan antara luas objek dan kuadrat
perimeter, yang dinyatakan dengan rumus seperti berikut:
kebulatan ( R )=4
A( R)
2
P ( R)
(8.5)
cf =1
4 A
2
P
(8.6)
23
kerampingan=
lebar
panjang
(8.7)
dengan panjang adalah panjang objek dan lebar adalah lebar objek. Fitur
ini terkadang disebut sebagai rasio aspek (Wu, dkk., 2007). Dengan
menggunakan fitur ini, objek yang gemuk dan yang kurus dapat dibedakan
(lihat Gambar 8.17).
2.12. Pusat Massa dan Fitur Menggunakan Pusat Massa
Pusat massa
Keluaran:
pusat_x 0
pusat_y 0
luas 0
FOR q = 1 to m
FOR p = 1 to n
IF F(q, p) = 1
luas luas + 1
pusat_x pusat_x + p
pusat_y pusat_y + q
END-IF
24
END-FOR
END-FOR
5
max ( ( x i x ) + ( yi y ) )
I ( S )=
A (S)
(8.8)
dengan ( x , y ) adalah titik pusat massa area A(S) dan A(S) sendiri
menyatakan luas objek. Alternatif yang kedua, dispersi dinyatakan sebagai rasio
radius maksimum terhadap radius minimum, yang dinyatakan dengan rumus
seperti berikut:
IR ( S )=
min ( ( x x ) + ( y y ) )
2
max ( ( x ix ) + ( y i y ) )
i
(8.9)
25
terhadap
label
yang
objek
berbeda
sesungguhnya
(berupa
berupa
nomor)
tindakan
untuk
setiap
objek.
pada
B ( y , x )=
0 piksel latarbelakang
1 piksel latardepan
2,3, label objek
(8.10)
Keluaran:
gf
26
label 2
FOR baris 1 TO M
FOR kolom 1 TO N
4
5
IF g(baris, kolom) = 1
label label + 1
END-IF
END-FOR
10 END-FOR
11 RETURN g
Algoritma di atas melibatkan fungsi bernama banjiri. Fungsi tersebut akan
diwujudkan dengan tiga cara.
Dengan menggunakan pendekatan 4-ketetanggaan, pembanjiran secara
rekursif dapat dituangkan dalam bentuk algoritma seperti berikut.
ALGORITMA 8.11 Pelabelan suatu area secara rekursif
banjiri(f, i, j, label):
Masukan:
Keluaran:
f(i, j) label
27
END-IF
Perhatikan bahwa fungsi banjiri memanggil empat fungsi banjiri. Keadaan itulah
yang menyatakan bahwa fungsi banjiri adalah fungsi rekursif (fungsi yang
memanggil dirinya sendiri).
Pembanjiran melalui depth-first (mendalam dulu) memiliki algoritma
seperti berikut.
ALGORITMA 8.12 Pelabelan suatu area dengan pendekatan mendalam
dulu
banjiri(f, i, j, label):
Masukan:
Keluaran:
f(y, x) label
10
11
END-IF
12 END-WHILE
Untuk mewujudkan Algoritma 8.12, dibutuhkan struktur data bernama tumpukan
(stack). Di dalam struktur data tumpukan, push berguna untuk memasukkan data
ke dalam tumpukan, sedangkan pop digunakan untuk mengambil data dari
tumpukan. Perlu diketahui, tumpukan adalah struktur data yang mempunyai sifat
LIFO (Last-In First-Out). Artinya, data yang dimasukkan terakhir kali akan
diambil pertama kali.
Adapun algoritma pembanjiran melalui breadth-first (melebar dulu)
berupa seperti berikut.
ALGORITMA 8.13 Pelabelan suatu area dengan pendekatan melebar dulu
banjiri(f, i, j, label):
Masukan:
Keluaran:
RETURN f(M,N)
BAB III
PEMBAHASAN
3.1. Penerapan dalam Program OCTAVE
3.1.1 Program Tepi Objek Biner tanpa Fungsi
F=imread('c:\image\daun_bin.tif');
[jum_baris, jum_kolom] = size(F);
G=F;
G = zeros(jum_baris, jum_kolom);
for q = 2 : jum_baris - 1
for p = 2 : jum_kolom - 1
p0 = F(q, p+1);
p1 = F(q-1, p+1);
p2 = F(q-1, p);
p3 = F(q-1, p-1);
p4 = F(q, p-1);
p5 = F(q+1, p-1);
30
p6 = F(q+1, p);
p7 = F(q+1, p+1);
sigma = p0 + p1 + p2 + p3 + p4 + p5 + p6 + p7;
if sigma == 8
G(q, p) = 0;
else
G(q, p) = F(q, p);
end
end
end
subplot(1,2,1);imshow(F);title("Awal");
subplot(1,2,2);imshow(G);title("Hasil")
31
32
for p = 1 : lebar
if objek(q, p) == 1
luas = luas + 1;
pusat_x = pusat_x + p;
pusat_y = pusat_y + q;
end
end
end
pusat_x = pusat_x / luas;
pusat_y = pusat_y / luas;
imshow(objek);
[panjang, lebar] = size(objek);
line([0 lebar], [round(pusat_y) round(pusat_y)], 'Color', 'c')
line([round(pusat_x) round(pusat_x)], [0 panjang], 'Color', 'c')
33
terbang
4.2. SARAN
Kami sebagai penyusun makalah ini, sangat mengharap atas segala saransaran dan kritikan yang membangun untuk kesempurnaan makalah ini. Dan
penyusun menyadari makalah ini masih jauh dari kesempurnaan karena manusia
adalah insan yang tak dapat lepas dari kesalahan.
34
35
DAFTAR PUSTAKA
Kadir, Abdul, Adhi Susanto. 2013. Teori Dan Aplikasi Pengolahan Citra, edisi
pertama. Andi
http://www.academia.edu/7319878/Bab-11_Citra_Biner