Anda di halaman 1dari 36

TUGAS MANDIRI

OPERASI PADA CITRA BINER


(PERTEMUAN DELAPAN)

Mata Kuliah :
Pengolahan Citra Digital

Nama Mahasiswa : Jefri


NPM

: 130210366

Kode Kelas

: 142-TI28T-N3 & 142-TI28P-N3

Dosen

: Hotma Pangaribuan, S.Kom., M.SI.

UNIVERSITAS PUTERA BATAM


2015

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.

Batam, 15 Juni 2015

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

2.5. Mengikuti Kontur........................................................................................13


2.6. Kontur Internal............................................................................................16
2.7. Rantai Kode.................................................................................................17
2.8. Perimeter.....................................................................................................18
2.9. Luas.............................................................................................................19
2.10. Diameter....................................................................................................19
2.11. Fitur Menggunakan Perimeter, Luas, dan Diameter.................................20
2.12. Pusat Massa dan Fitur Menggunakan Pusat Massa...................................21
2.13. Fitur Dispersi.............................................................................................22
2.14. Pelabelan Objek........................................................................................23
BAB III PEMBAHASAN....................................................................................28
3.1. Penerapan dalam Program OCTAVE...........................................................28
3.1.1 Program Tepi Objek Biner tanpa Fungsi.............................................28
3.1.2 Program Mencari Luas Objek tanpa Fungsi.......................................29
3.1.3 Program Pusat Massa tanpa fungsi.....................................................30
3.1.4 Program Perimeter atau Keliling.........................................................31
BAB IV PENUTUP..............................................................................................32
4.1. KESIMPULAN...........................................................................................32
4.2. SARAN.......................................................................................................32
DAFTAR PUSTAKA...............................................................................................

BAB I
PENDAHULUAN

1.1. LATAR BELAKANG


Pengolahan citra merupakan bidang ilmu komputer yang menarik, apalagi
orang yang mempunyai minat dan ketertarikan terhadap dunia gambar, fotografi,
film, dan sebagainya, sayangnya, buku teks berbahasa indonesia yang membahas
bidang ini sangat minim, sehingga kebanyakan orang mengunakan buku teks
berbahasa inggris.
Citra (image) istilah lain untuk gambar untuk salah satu komponen
multimedia memegang peranan sangat penting sebagai bentuk informasi visual.
Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya
dengan informasi.
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai
derajat keabuan yaitu hitam dan putih. Meskipun saat ini citra berwarna lebih
disukai karena member kesan yang lebih kaya daripada citra biner, namun tidak
membuat citra biner mati. Pada beberapa aplikasi citra iner masih dibutuhkan,
misalnya citra logo instansi (yang hanya terdiri atas warna hitam putih), citra kode
batang (bar code) yang tertera pada label barang, citra hasil pemindaian dokumen
teks, dan sebagainya.
Beberapa pemrosesan citra mengacu pada citra biner. Sebagai contoh,
dengan menggunakan citra biner, perbandingan panjang dan lebar objek dapat
diperoleh. Di depan juga telah dibahas aplikasi citra biner pada morfologi.
Namun, tentu saja masih banyak operasi lain yang memanfaatkan citra biner.
Beberapa pemrosesan citra mengacu pada citra biner. Sebagai contoh, dengan
menggunakan citra biner, perbandingan panjang dan lebar objek dapat diperoleh.
Di depan juga telah dibahas aplikasi citra biner pada morfologi. Namun, tentu saja
masih banyak operasi lain yang memanfaatkan citra biner.

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.

Beberapa sistem optik dilengkapi dengan fungsi

digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital


dan scanner. Citra diskr it disebut juga citra digital.
Agar dapat diolah dengan komputer digital, maka suatu citra harus
dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari
fungsi kontinu menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan
inilah yang disebut citra digital (digital image). Pada umumnya citra digital
berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai
tinggi x lebar (atau lebar x tinggi).
Citra digital yang berukuran N X M lazim dinyatakan dengan matriks yang
berukuran N baris dan M kolom sebagai berikut:

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:

Piksel pertama pada koordinat (0,0) mempunyai nilai intensitas 0 yang


berarti warna piksel tersebut hitam, piksel kedua pada koordinat (0,1) mempunyai
intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya.
(Munir, 2004).
2.1.3 Citra Grayscale
Untuk mendapatkan citra grayscale (keabuan) digunakan rumus:
I(x,y) = .R + .G + .B

(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

latar belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih


dan 1 adalah hitam.
Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang
lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada
beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi
(yang hanya terdiri atas warna hitam dan putih), citra kode barang (bar code) yang
tertera pada label barang, dan citra hasil pemindaian dokumen teks. (Munir, 2004)
2.1.5 Definisi Pengolahan Citra
Pengolahan

citra

adalah

pemrosesan

citra,

khususnya

dengan

menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan


citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia
atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra
mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan
keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik
daripada citra masukan. Termasuk
pemampatan

citra

ke

dalam

bidang

ini

juga

adalah

(image compression). Pengubahan kontras citra adalah

contoh operasi pengolahan citra. Contoh pengolahan citra lainnya adalah


penghilangan derau (noise).
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra
bila:
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi
yang terkandung di dalam citra.
2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur.
3. Sebagian citra perlu digabung dengan bagian citra yag lain. (Munir, 2004)

2.1.6 Operasi Pengolahan Citra


Operasi-operasi yang dilakukan pada pengolahan citra secara umum
dapat dikelompokkan dalam beberapa jenis, yaitu:
1. Perbaikan kualitas citra (image enhancement)

Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan


cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri
khusus yang terdapat di dalam citra lebih ditonjolkan. Beberapa operasi
perbaikan citra antara lain: perbaikan kontras gelap/terang, perbaikan
tepian objek (edge enhancement), penajaman (sharpening), pemberian
warna semu (pseudocoloring), penapisan derau (noise filtering).
2. Pemugaran citra (image restoration)
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada
citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra.
Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra, yaitu: penghilangan kesamaran
(deblurring), dan penghilangan derau (noise).
3. Pemampatan citra (image compression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam
bentuk yang lebih kompak sehingga memerlukan memori yang lebih
sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah
citra yang telah dimampatkan harus tetap mempunyai kualitas gambar
yang bagus. Contoh metode pemampatan citra adalah metode JPEG.
4. Segmentasi citra (image segmentation)
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam
beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan
erat dengan pengenalan pola.
5. Analisis citra (image analysis)
Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra
untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciriciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi
kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari
sekalilingnya. Contoh-contoh operasi analisis citra, yaitu: pendeteksian
tepi objek (edge detection), ekstraksi batas (boundary), dan representasi
daerah (region).
6. Rekonstrusi citra (image reconstruction)

10

Jenis operasi ini bertujuan untuk membentuk ulang objek dari


beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan
dalam bidang medis. Misalnya beberapa foto rontgen dengan sinar-X
digunakan untuk membentuk ulang gambar organ tubuh. (Munir, 2004)
2.2. Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai
derajat keabuan yaitu hitam dan putih. Meskipun saat ini citra berwarna lebih
disukai karena member kesanyang lebih kaya daripada citra biner, namun tidak
membuat citra biner mati. Pada beberapa aplikasi citra iner masih dibutuhkan,
misalnya citra logo instansi (yang hanya terdiri atas warna hitam putih), citra kode
batang (bar code) yang tertera pada label barang, citra hasil pemindaian dokumen
teks, dan sebagainya.
Citra biner hanya mempunyai dua nilai derajat keabuan yaitu hitam dan
putih. Pixel-pixel objek bernilai 1 dan pixel-pixel lattar belakang bernilai 0. Pada
saat menampilkan gambar, 0 adlah putih dan 1 adalah hitam. Jadi pada citra biner,
latar belakang berwarna putih sedangkan objek berwarna hitam. Sebagai contoh
gambar dibawah ini:

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

2. Waktu pemrosesan lebih cepat dibandingkan dengan citra hitam-putih


karena banyak operasi pada citra biner yang dilakukan sebagai operasi
logika (AND, OR, NOT,dll).

2.2.1 Konversi Citra Hitam-Putih ke Citra Biner


Pengkonverensikan citra hitam-putih (grayscale) menjadi citra biner
dilakukan untuk alasan-alasan sebagai berikut:
1. Untuk mengidentifikasi keberadaan objek, yang dipresentasikan sebagai
daerah (region) dalam citra. Misalnya kita ingin memisahkan (segmentasi)
objek dari gambar latar belakangnya.
2. Untuk lebh memfokuskan pada analisis bentuk morfologi, yang dalam hal
ini intensitas pixel tidak terlalu penting dibandingkan bentuknya.
3. Untuk menamplkan citra dalam piranti keluaran yang hanya mempunyai
resulusi intensitas satu bit,

yaitu piranti peampil dua-aras atau biner

seperti pencetak atau (printer)


4. Mengkonversi citra yang telah ditingkatkan kualitas tepinya (edge
enhancement) ke pengambaran garis-garis tepi. Ini perlu digunakan untuk
membedakan tepi yang kuat yang berkoresponden dengan batas-batas
objek dengan tepi lemah yang berkoresponden dengan perubahan
illumination, bayangan, dll.
Konversi dari citra hitam putih ke citra biner dilakukkan dengan operasi
pengambangan (tresholding).

Operasi pengambangan mengelompokan nilai

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

Yang dalam hal

ini

hitam

putih,

fB(i,j) adalah citra

biner, dan T adalah

nilai ambang yang

citra

fB(i,j)

adalh

dipersifikasikan. Dengan opersi pengambangan tersebut, objek dibuat berwarna


gelap (1 atau hitam) sedangkan latar belakang berwarna terang (0 atau putih).
Nilai ambang T dipilih sedemikian sehingga galat yang diperoleh sekecil
mungkin. Cara yang umum menentukan nilai T adalah dengan membuat
histogram citra. Jika citra mengandug satu buah objek dan latar belakang
mempunyai nilai intensitas yang homogen, maka citra tersebut umumnya
mempunyai histogram bimodal (mempunyai dua puncak atau dua buah
maksimum local) seperti pada gambar 11.3. :
Nilai T dipilih ada nilai minimum local yang terdapat diantara dua puncak.
Dengan cara seperti ini, kita tidak hanya mengkonversi citra hitam-putih ke citra
biner, sekaligus melakukan segmentasi objek dari latar belakangnya.
2. Pengambangan
thresholding)

secara

local

adaptif

(locally

adaptive

image

Pengambangan secara global tidak selalu tepat untuk seluruh mcam


gambar. Beberapa informasi penting dalam gambar mungkin hilang karena
pengambangan global ini. Pengambangan secara local dilakukan terhadap daeradaerah di dalam citra. Dalam hal ini citra dipecah bagian-bagian kecil, kemudian
proses pengambangan dilakukkan secara loka. Nilai ambang untuk setiap bagan
belum temtu sama dengan bagian lain.

2.2.2 Penapis Luas


Proses pengambangan menghasilkan citra biner. Sering kali citra biner
yang dihasilkan mengandung beberapa daerah yang sering dianggap gangguan.
Biasanya daerah gangguan ini berukuran kecil. Penapis luas dapat digunakan
untuk menghilangkan gagnguan tersebut. Misalkan objek yang dianalisis
diketahui mempunyai luas lebih dari T. Maka, pixel-pixel dari daerah luas

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

dalam menganalisis objek didalam citra


biner

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

2.2.4 Representasi Wilayah


Wilayah (region) di dalam citra biner dapat dipresentasikan dalam
beberapa cara. Salah satu cara yang populeh adalah representasi wilayah dengan
pohon-empatan (quadtree). Setiap simpul didalam pohon-empatan diperoleh
dengan membagi citra secara rekrusif. Wilayah didalam citra dibagi menjadi
empat buah upa-wilayah yang berukuran sama. Untuk setiap upa-wilayah, bila
pixel-pixel di dalam wilayah semuanya hitam atau semunya putih, maka proses
pembagian dihentikan. Sebaliknya jika pixel-pixel di dalam upa-wilayah
mengandung baik pixel hitan dan pixel putih (kategori abu-abu), maka upawilayah dibagi menjadi empat bagian. Demikian seterusnya sampai diperoleh upawilayah yang semua pixel-nya hitam atau semua pixel-nya putih. Dinamakan
pohon-empatan karena setiap simpul mempunyai tepat empat anak. Kecuali
simpul daun. Gambar 11.10. memperlihatkan representasi dengan pohon empatan.
2.2.5 Penipisan Pola
Penipisan (thinning) adalah operasi pemrosesan citra bier yang dalam hal
ini objek (region) direduksi menjadi rangka yang menghampiri garis sumbu objek.
Tujuan penipisan adalah mengurangi bagian yang tidak perlu (redundant)
sehingga hanya dihasilkan informasi yang esensial saja. Pola hasil penipisan harus
tetap mempunyai bentuk yang menyerupai pola asalnya. Sebagai contoh, gambar
11.11. adalah huruf R dan hasil penipisanya menjadi rangka R.
Penipisan pola merupakan proses interatif yang menghilangkan pixel-pixel
hitam (mengubahnya menjadi pixel putih) pada tpi-tepi pola. Jadi, alogaritma
penipisan mengelupas pixel-pixel pinggir objek, yaitu pixel-pixel yang terdapat
pada peralihan 0-1.
2.3. Representasi Bentuk
Fitur suatu objek merupakan karakteristik yang melekat pada objek. Fitur
bentuk merupakan suatu fitur yang diperoleh melalui bentuk objek dan dapat
dinyatakan melalui kontur, area, dan transformasi, sebagaimana ditunjukkan pada
Gambar 8.1. Fitur bentuk biasa digunakan untuk kepentingan identifikasi objek.
Sebagai contoh, rasio kebulatan dipakai sebagai salah satu fitur pada identifikasi
15

tanaman (Wu, dkk., 2007) dan Polar Fourier Transform (PFT) dapat dipakai
untuk identifikasi daun (Kadir, dkk., 2011).

Gambar 2.3.1 Representasi bentuk


2.4. Ekstraksi Tepi Objek
Tepi objek pada citra biner dapat diperoleh melalui algoritma yang dibahas
oleh Davis (1990). Pemrosesan dilakukan dengan menggunakan 8-ketetanggaan.
Sebagai penjelas, lihatlah Gambar 8.2. Piksel P mempuyai 8 tetangga yang
dinyatakan dengan P0 hingga P7. Adapun algoritma tertuang pada Algoritma 8.1.

Gambar 2.4.1 Piksel dan 8 piksel tetangga


ALGORITMA 8.1 Memperoleh tepi objek
Masukan:

f (m,n): Citra masukan berupa citra biner berukuran m baris


dan n kolom

Keluaran:

g (m, n): Hasil citra yang berisi tepi objek

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

Gambar 2.5.1 Kontur eksternal dan kontur internal


Algoritma untuk mendapatkan hasil seperti yang telah dibahas dapat dilihat
di bawah ini (Costa & Cesar, 2001).
ALGORITMA 8.2 Mengikuti kontur
Masukan:

f (m,n): Citra masukan berukuran m baris dan n kolom berisi kontur


Keluaran:

e (n): kontur dengan n piksel

Cari piksel pertama yang akan dijadikan sebagai kontur melalui


pemindaian dan disimpan di e[1].

n 2 // Indeks kedua pada kontur e

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

dcn arah dari e[1] ke piksel kedua.


cari_piksel_berikutnya(pc , dpc, pb, dcn)
WHILE
(piksel_berikutnya
e[1]
// pc = piksel
sekarang

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

XP [1, 1, 0, -1, -1, -1, 0, 1];


YP [0, -1, -1, -1, 0, 1, 1, 1];
cx bagian x dari pc + XP(d+1);
cy bagian y dari pc + YP(d+1);

2.6. Kontur Internal


Salah satu cara untuk mendapatkan kontur internal yang telah diurutkan
menurut letak piksel, yaitu dengan memanfaatkan algoritma pelacakan kontur
Moore. Algoritma ini antara lain digunakan pada peta topografik digital (Pradha,
dkk., 2010).

ALGORITMA 8.5 Memperoleh kontur internal dengan pelacakan


kontur Moore
Masukan:

f (m,n): Citra masukan berukuran m baris dan n kolom

Keluaran:

kontur (s): Larik yang berisi piksel-piksel kontur sebanyak s

Dapatkan piksel terkiri dan teratas yang bernilai 1.


Selanjutnya, posisi piksel dicatat pada b0 dan posisi untuk
memperoleh piksel berikutnya dicatat pada c0, yang mulamula diisi dengan 4 (arah barat pada Gambar 8.8(d)).

Periksa 8 tetangga b0 searah jarum jam dimulai dari c0.


Piksel pertama yang bernilai 1 dicatat pada b1. Adapun
posisi yang mendahului b1 dicatat pada c1.

kontur(1) b0, kontur(2) b1, jum 2

b b1 dan c c1

WHILE true
a

Cari piksel pada 8 tetangga yang pertama kali

19

bernilai 1 dengan pencarian dimulai dari arah c


dengan menggunakan pola arah jarum jam.
b

Catat posisi piksel tersebut ke b.

Catat posisi yang mendahului piksel tersebut ke


c.

Tambahkan b sebagai bagian kontur:


jum jum + 1
kontur(jum) b

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

Gambar 2.7.1 Arah rantai kode beserta kodenya


2.8. Perimeter
Perimeter atau keliling menyatakan panjang tepi suatu objek. Ilustrasinya
dapat dilihat pada Gambar 8.10. Perimeter dapat diperoleh dengan menggunakan
algoritma berikut.
ALGORITMA 8.6 Estimasi perimeter
Masukan:

f (M,N): Citra masukan berukuran M baris dan N kolom


20

Keluaran:

perimeter

Peroleh citra biner.

Kenakan algoritma deteksi tepi.

Perimeter jumlah piksel pada tepi objek hasil langkah 2.

Gambar 2.8.1 Perimeter dan luas daun

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:

f (m,n): Citra masukan berukuran M baris dan N kolom

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:

f (m,n): Citra masukan berukuran m baris dan n kolom

Keluaran:

diameter

U tepi objek (misalnya melalui morfologi)

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)

Hasilnya berupa nilai < 1. Nilai 1 menyatakan bahwa objek R berbentuk


lingkaran. Kadang fitur ini dinamakan kekompakan (Lee dan Chen, 2003).
Contoh dapat dilihat pada Gambar 18.16.
Fitur alternatif yang menggunakan perbandingan antara luas dan perimeter
dapat dilihat berikut ini (Rangayyan, 2005).

cf =1

4 A
2
P

(8.6)

Berdasarkan rumus di atas, nilai kekompakan berkisar antara 0 sampai


dengan 1. Nilainya berupa nol kalau objek berbentuk lingkaran.
Kerampingan bentuk adalah perbandingan antara lebar dengan panjang,
yang dinyatakan dengan rumus seperti berikut:

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

atau sentroid (centroid) lazim ditemukan dengan

menggunakan nilai rerata koordinat setiap piksel yang menyusun objek.


Algoritmanya sebagai berikut.
ALGORITMA 8.9 Estimasi diameter bentuk
Masukan:

f (m,n): Citra masukan berukuran m baris dan n kolom

Keluaran:

pusat_x dan pusat_y

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

pusat_x pusat_x / luas

pusat_y pusat_y / luas

2.13. Fitur Dispersi


Untuk bentuk yang tidak teratur (atau biasa disebut bentuk tidak kompak),
Nixon dan Aguado (2002) menyarankan penggunaan fitur dispersi. Sebagai
contoh, terdapat tiga bentuk seperti terlihat pada Gambar 8.19. Penggunaan
kekompakan bentuk untuk objek pada Gambar 8.19(c) sebagai diskriminator tidak
tepat. Mereka menyarankan penggunaan dispersi pada bentuk yang tidak teratur,
karena dispersi sangat tepat untuk bentuk seperti itu.
Berdasarkan definisi Chen di tahun 1995 (Nixon dan Aguado, 2002),
dispersi (atau juga disebut ketidakteraturan) diukur sebagai perbandingan panjang
chord utama terhadap area objek. Bila dinyatakan dalam rumus berupa seperti
berikut:

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)

Fungsi bernama dispersi berikut dapat digunakan untuk memperoleh fitur


kedua dispersi di depan.

25

2.14. Pelabelan Objek


Pelabelan
memberikan

terhadap

label

yang

objek
berbeda

sesungguhnya
(berupa

berupa

nomor)

tindakan

untuk

setiap

objek.

pada

Pemrosesannya dapat dilaksanakan pada citra biner. Ketentuan yang dilakukan


sebagai berikut:

B ( y , x )=

0 piksel latarbelakang
1 piksel latardepan
2,3, label objek

(8.10)

Cara yang umum digunakan untuk melakukan pelabelan adalah melalui


metode pembanjiran (flood filling). Tiga cara untuk melakukan pembanjiran
dibahas oleh Burger & Burge (2008), yaitu sebagai berikut.
Pembanjiran secara rekursif: Pendekatan ini dapat diterapkan dengan
bahasa pemrograman yang mendukung proses rekursif.
Pembanjiran melalui Depth-first: Teknik ini memerlukan struktur data
tumpukan untuk melaksanakan pembanjiran.
Pembanjiran melalui Breadth-first: Teknik ini memerlukan struktur data
antrian untuk melaksanakan pembanjiran.
Secara umum, proses pelabelan dilakukan melalui algoritma berikut.
ALGORITMA 8.10 Melakukan pelabelan area pada citra biner
Masukan:

f (M,N): Citra masukan berukuran M baris dan N kolom

Keluaran:

g (M, N): Hasil citra yang telah diberi label

gf

26

label 2

FOR baris 1 TO M
FOR kolom 1 TO N

4
5

IF g(baris, kolom) = 1

banjiri(g, baris, kolom, label)

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:

f (M,N): Citra masukan berukuran M baris dan N kolom

i dan j menyatakan baris dan kolom sebagai biji pembanjiran


terhadap area

label menyatakan label untuk area

Keluaran:

f (M, N): Hasil citra yang telah diberi label

IF koordinat (i, j) berada dalam citra dan f(i, j) = 1

f(i, j) label

banjiri( f, i-1, j, label)

banjiri( f, i+1, j, label)

27

banjiri( f, i, j-1, label)

banjiri( f, i, j+1, label)

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:

f (M,N): Citra masukan berukuran M baris dan N kolom

i dan j menyatakan baris dan kolom sebagai biji pembanjiran


terhadap area

label menyatakan label untuk area

Keluaran:

f (M, N): Hasil citra yang telah diberi label

Menciptakan tumpukan kosong T

Menaruh koordinat (i,j) ke tumpukan sebagai biji (push(T, (i,j))

WHILE tumpukan T tidak kosong

Mengambil sebuah elemen dari tumpukan T ( (y,x) pop(T))

IF koordinat (y, x) berada dalam citra dan f(i, j) = 1

f(y, x) label

push(S, (y-1, x))

push(S, (y+1, x))

push(S, (y, x-1))

10

push(S, (y, x+1))


28

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:

f (M,N): Citra masukan berukuran M baris dan N kolom

i dan j menyatakan baris dan kolom sebagai biji pembanjiran


terhadap area

label menyatakan label untuk area

Keluaran:

f (M, N): Hasil citra yang telah diberi label

Menciptakan antrean kosong A

Menaruh koordinat (i,j) ke antrean sebagai biji (insert(A, (i,j))

WHILE antrean A tidak kosong


Mengambil sebuah elemen dari antrean A ( (y,x) remove(A))
IF koordinat (y, x) berada dalam citra dan f(i, j) = 1
f(y, x) label
insert(A, (y-1, x))
insert(A, (y+1, x))
insert(A, (y, x-1))
insert(A, (y, x+1))
END-IF
END-WHILE
29

RETURN f(M,N)

Untuk mewujudkan Algoritma 8.13, dibutuhkan struktur data bernama antrean


(queue). Di dalam struktur data antrean, insert berguna untuk memasukkan data ke
dalam antrean, sedangkan remove digunakan untuk mengambil data dari antrean.
Perlu diketahui, tumpukan adalah struktur data yang mempunyai sifat FIFO
(First-In First-Out). Artinya, data yang dimasukkan pertama kali akan diambil
pertama kali.

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

Gambar 3.1.1 Hasil Program Tepi Objek Biner

31

3.1.2 Program Mencari Luas Objek tanpa Fungsi


x = imread('c:\image\daun_bin.tif');
[tinggi, lebar] = size(x);
hasil = 0;
for p = 1 : tinggi
for q = 1 : lebar
if x(p,q) == 1
hasil = hasil + 1;
end
end
end
luas_citra_daun_bin=hasil

Gambar 3.1.2 Hasil Program Mencari Luas Objek tanpa Fungsi


3.1.3 Program Pusat Massa tanpa fungsi
objek = imread('c:\image\daun_bin.tif');
[tinggi, lebar] = size(objek);
pusat_x = 0;
pusat_y = 0;
luas = 0;
for q = 1 : tinggi

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

Gambar 3.1.3 Hasil Program Pusat Massa tanpa Fungsi

33

3.1.4 Program Perimeter atau Keliling


img = imread('c:\image\garpu.png');
perimeter=length(img) - 1

Gambar 3.1.4 Hasil Program Perimeter atau Keliling


BAB IV
PENUTUP
4.1. KESIMPULAN
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai
derajat keabuan yaitu hitam dan putih. Meskipun saat ini citra berwarna lebih
disukai karena member kesanyang lebih kaya daripada citra biner, namun tidak
membuat citra biner mati.
Jadi pada citra biner, latar belakang berwarna putih sedangkan objek
berwarna hitam. Sebagai contoh gambar dibawah ini:

(b) Citra lukisan kuda

(a) Citra logo

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

Semoga makalah ini bermanfaat bagi pembaca khususnya bagi penyusun


pemakalah, sebagai dasar atau landasan guna menyambut kehidupan di masa
depa. Amien.

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