Chapter II PDF
Chapter II PDF
Chapter II PDF
LANDASAN TEORI
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 2 dimensi. Citra yang terlihat merupakan cahaya yang
direfleksikan dari sebuah objek. Sumber cahaya menerangi objek, objek memantulkan
kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alat-
alat optik, misal mata manusia, kamera, scanner, sensor satelit, dsb, kemudian direkam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat :
1. Optik berupa foto
2. Analog berupa sinyal video seperti gambar pada monitor televise
3. digital yang dapat langsung disimpan pada suatu pita magnetic
Citra juga dapat dikelompokkan menjadi 2 yaitu :
1. Citra tampak, misalnya foto, gambar, lukisan, apa yang nampak di layer
monitor/televisi, hologram,dll.
2. Citra tidak tampak, misalnya data foto / gambar dalam file, citra yang
direppresentasikan dalam fungsi matematis (Munir,2004).
Citra digital adalah suatu citra f(x,y) yang memiliki koordinat spatial, dan tingkat
kecerahan yang diskrit. Citra yang terlihat merupakan cahaya yang direfleksikan dari
sebuah objek. Fungsi f(x,y) dapat dilihat sebagai fungsi dengan dua unsur. Unsur yang
pertama adalah kekuatan sumber cahaya yang melingkupi pandangan kita terhadap objek
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 disebut image elemen, atau picture elemen (pixel). Maka dapat
dikatakan citra yang mempunyai ukuran N x M mempunyai NM pixel. Misalkan suatu
citra mempunyai ukuran 256 x 256 pixel, maka apabila direpresentasikan secara numerik
melalui suatu matriks yang terdiri dari 256 baris ( indeks 0 sampai 255) dan 256 kolom
(indeks dari 0 sampai 255), maka matriksnya dapat diperlihatkan sebagai berikut :
Pixel pertama pada koordinat (0,0) mempunyai nilai intensitas 0, maka warna
pixel tersebut adalah hitam, sedangkan pixel kedua pada koordinat (0,1) mempunyai nilai
intensitas 124 berarti warnanya antara hitam dan putih.
Penyimpanan citra digital yang diterok menjadi NxM pixel dan dikuantisasi
menjadi G=2m memerlukan memori sebanyak B = N x M x m. Contoh 512x512x8 =
2048.000 bit (Hestiningsih, 2005).
Gambar 2.1. Pembentukan citra digital (a) Tingkat kecerahan yang kontinu, (b)
tingkat kecerahan setelah mengalami kuantisasi 16 tingkatan diskrit.Sumbu f
merupakan ukuran frekuensi, dan sumbu t merupakan waktu
Citra digital mengandung sejumlah elemen- elemen dasar. Elemen – elemen dasar
tersebut dimanipulasi dalam pengolahan citra dan dieksploitasi lebih lanjut dalam
computer vision. Elemen – elemen dasar yang penting antaranya adalah :
1. Kecerahan (brightness)
2. Kontras (contras)
3. Kontur (contour)
4. Warna (color)
5. Bentuk (shape)
6. Tekstur (textur)
Citra disimpan di dalam berkas (file) dengan format tertentu. Format citra yang baku di
lingkungan sistem operasi Microsoft Windows dan IBM OS/2 adalah berkas bitmap
(BMP). Saat ini format BMP memang ”kalah” populer dibaningkan format JPG atau GIF.
Meskipun format BMP tidak mangkus dari segi ukuran berkas, namun format
BMP mempunyai kelebihan dari segi kualitas gambar. Citra dalam format BMP lebih
bagus daripada citra dalam format yang lainnya, karena citra dalam format BMP
umumnya tidak dimampatkan sehingga tidak ada informasi yang hilang. Terjemahan
bebas bitmap adalah pemetaan bit. Artinya, nilai intensitas pixel di dalam citra dipetakan
ke sejumlah bit tertentu. Peta bit yang umum adalah 8, artinya setiap pixel panjangnya 8
bit. Delapan bit ini merepresentasikan nilai intensitas pixel. Dengan demikian ada
sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255.
Citra dalam format BMP ada 3 macam diantaranya citra biner, citra berwarna, dan
citra hitam-putih (grayscale).
Citra skala keabuan memberi kemungkinan warna yang lebih banyak daripada
citra biner, karena ada nilai-nilai lain di antara nilai minimum (biasanya = 0) dan nilai
Pada citra warna, setiap titik mempuyai warna yang paling spesifik yang
merupakan kombinasi dari 3 warna dasar, yaitu: merah, hijau, dan biru. Ada perbedaan
warna dasar untuk cahaya (misalnya display di monitor komputer) dan untuk cat
(misalnya cetakan di atas kertas). Untuk cahaya, warna dasarnya adalah merah-hijau-biru
(red-green-blue,RGB), sedangkan untuk untuk cat, warna dasarnya adalah sian-magenta-
kuning (cyan-magenta-yellow, CMY). Keduanya saling berkomplemen. Format citra ini
sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai
intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna kuning merupakan
kombinasi warna merah dan hijau sehingga nilai RGB-nya adalah 255 255 0; sedangkan
warna ungu muda nilai RGB-nya adalah 150 0 150, dengan demikian setiap titik pada
citra warna membutuhkan data 3 byte. Jumlah kombinasi warna yang mungkin untuk
format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap
mencakup semua warna yang ada, inilah sebabnya format ini dinamakan true color
(Bono, 2008).
Saat ini beredar tiga versi berkas bitmap, (i) berkas bitmap versi lama dari
Microsoft Windows atau IBM OS/2, (ii) berkas bitmap versi baru dari Microsoft
Windows, dan (iii) berkas bitmap versi baru dari IBM OS/2. Yang membedakan ketiga
versi berkas tersebut adalah panjang header-nya. Header adalah data yang terdapat pada
bagian awal berkas citra. Data di dalam header berguna untuk mengetahui bagaimana
citra dalam format bitmap dikodekan dan disimpan. Data di dalam header misalnya
ukuran citra, kedalaman pixel, ofset ke data bitmap, dan sebagainya.
Setiap berkas bitmap terdiri atas header berkas, header bitmap, informasi palet,
dan data bitmap.
Ukuran header berkas sama untuk semua versi, yaitu 14 byte. Tabel 2.3
memperlihatkan field-field penyusun header berkas. Ukuran header bitmap berbeda –
beda untuk setiap versi. Untuk berkas bitmap versi lama, header bitmap berukuran 12
byte (Tabel 2.4), untuk berkas bitmap versi baru dari Microsoft Windows, header bitmap
berukuran 40 (Tabel 2.5), dan untuk berkas bitmap versi baru dari IBM OS/2, header
bitmap berukuran 64 byte (Tabel 2.6).
PT = Pointer
3–6 4 BmpSize Ukuran berkas bitmap
7–8 2 XotSpot X hotspot untuk kursor
9 – 10 2 YhotSpot Y hotspot untuk kursor
11 – 14 4 OffBits Ofset ke awal data bitmap (dalam byte)
Tabel 2.4 Header bitmap versi lama dari Microsoft Windows (12 byte)
Tabel 2.6 Header bitmap versi baru dari IBM OS/2 (64 byte)
Informasi palet warna terletak sesudah header bitmap. Informasi palet warna
dinyatakan dalam suatu tabel RGB. Setiap entry pada tabel terdiri atas tiga buah field,
yaitu R (red), G (green), dan B (blue).
Contoh format citra 8-bit kira kira seperti Gambar 2.2. Format citra 4-bit (16
warna) serupa dengan format citra 8-bit. Pada citra 4-bit dan citra 8-bit, warna suatu pixel
diacu dari tabel informasi palet pada entry ke-k (k merupakan nilai dengan rentang 0 – 15
untuk citra 16 warna dan 0 – 255 untuk citra 256 warna). Sebagai contoh pada Gambar
2.2, pixel pertama bernilai 2; warna pixel pertama ini ditentukan oleh komponen RGB
pada tabel palet warna entry ke-2, yaitu R = 14, G = 13, B = 16. Pixel kedua serupa denga
pixel pertama. Pixel ketiga bernilai 1, warnanya ditentukan oleh komponen RGB pada
tabel warna entry ke-1, yaitu R = 20, G = 45, dan B = 24. Dengan demikian setersnya
untuk pixel – pixel lainnya. Khusus untuk citra hitam – putih (8bit), komponen R, G, dan
B suatu pixel bernuilai sama dengan data bitmap pixel tersebut. Jadi, pixel dengan nilai
data bitmap 129, memiliki R = 129, G = 129, dan B = 129.
R G B
1 20 45 24
2 14 13 16
3 12 17 15
Berkas citra 24-bit (16,7 juta warna) tidak mempunyai palet RGB, karena nilai
RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3
byte, masing – masing byte menyatakan komponen R, G, dan B. Contoh format citra 24-
bit (16 juta warna) kira – kira seperti pada Gambar 2.2. Pada contoh format citra 24-bit
tersebut pixel pertama mempunyai R = 20, G = 19, B = 21, pixel kedua mempunyaiR =
24, G = 24, B = 23. Demikian seterusnya.
<headr berkas>
<header berkas>
<data bitmap>
20 19 21 24 24 23 24 …
Tabel 2.7 memperlihatkan panjang informasi palet untuk setiap vesi bitmap
masing –masing untuk citra 16 warna, 256 warna, dan 16,7 juta warna.
Tabel 2.7 Panjang informasi palet untuk setiap versi berkas bitmap
Struktur bitmap terdiri dari Header, Info Header dan Color Tabel. Header adalah bagian
dari file bitmap yang berisi informasi header dari file gambar bitmap. Ukuran dari header
ini 14 byte, masing-masing terdiri dari signature 2 bytes (sebagai tanda gambar
mempunyai format bmp), FileSize 4 bytes (besarnya ukuran gambar mempunyai satuan
bytes), Reserved 4 bytes (tidak digunakan atau sama diisi dengan nilai nol) dan
DataOffset 4 bytes (file offset untuk raster data).Info header adalah bagian dari header
yang berisi informasi lebih detail dari file gambar bitmap. Letaknya setelah bagian
header.
Info header mempunyai besar 40 bytes, terdiri dari size 4 bytes (ukuran
infoheader dan isinya adalah nilai 40), width 4 bytes (lebar gambar bitmap dalam satu
pixel), Height 4 bytes (tinggi gambar bitmap dalam satuan pixel), planes 2 bytes (jumlah
warna dalam plane, isinya selalu sama dengan satu), BitCount 2 bytes (Bits per pixel, jika
bernilai 1= monochome palete, banyaknya warna =2, jika bernilai 4= 4 bit pallete,
banyaknya warna = 16, jika bernilai 8 = 8 bit pallete, banyaknya warna = 256, jika
bernilai 16 = 16 bit RGB, banyaknya warna = 65536, jika bernilai 24 = 24 bit RGB,
banyaknya warna = 16M), Compression 4 bytes (jenis kompresi yang digunakan, jika
bernilai 0, gambar tidak terkompresi, jika bernilai 1 gambar terkompresi 8 bit RLE-run
length encoding, jika bernilai 2, gambar terkompresi 4 bit RLE encoding), ImageSize 4
bytes (ukuran gambar dalam bytes atas perkalian dari width dikalikan dengan height),
XpixelPerM 4 bytes (resolusi horizontal dalam satuan pixel), YpixelxPerM 4 bytes
(resolusi vertikal dalam satuan pixel), ColorUsed 4 bytes (banyaknya warna dalam color
table), ColorImportant 4 bytes (banyaknya warna utama).
1. Line Art
Merupakan gambar yang hanya terdiri dari dua warna, biasanya hitam dan
putih.Biasanya gambar jenis ini dijadikan gambar bitmap karena komputer hanya
menggunakan 1 bit (warna hitam yang membentuk gambar, warna putih sebagai latar)
untuk mendefinisikan masing-masing pixel-nya.
2. Grayscale Images
Yang terdiri dari bermacam warna abu-abu dalam menghasilkan warna hitam dan
putih.
3. Multitones
Merupakan gambar yang memiliki warna yang tampak realistis. Informasi warna
dijelaskan menggunakan jenis-jenis standar warna seperti RGB, CMYK atau Lab.
Gambar yang menggunakan data bitmap akan menghasilkan bobot file yang besar.
Sebagai contoh, sebuah gambar dengan standar warna CMYK berukuran A4 yang
memiliki kualitas cetak menengah (medium) menghasilkan bobot file sebesar 40 MB.
Dengan menggunakan kompresi dapat memperkecil bobot sebuah file. Perbesaran
dimensi gambar merupakan salah satu kekurangan jenis gambar bitmap ini. Begitu
sebuah gambar diperbesar terlalu banyak, akan terlihat tidak natural dan pecah. Begitu
juga dengan memperkecil sebuah gambar, akan memberikan dampak buruk seperti
berkurangnya ketajaman gambar tersebut.
Gambar yang bertipe bitmap tersusun dari pixel-pixel. Pixel disebut juga dengan dot.
Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan
penyusun/pembentuk gambar bitmap.
Banyaknya pixel tiap satuan luas tergantung pada resolusi yang digunakan.
Keanekaragaman warna pixel tergantung pada bit depth yang dipakai. Semakin banyak
jumlah pixel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan
ukuran file akan semakin besar.
Pixel adalah representasi sebuah titik terkecil dalam citra grafis. Monitor atau layar
datar yang sering kita temui terdiri dari ribuan pixel yang terbagi dalam baris-baris dan
kolom-kolom. Jumlah pixel yang terdapat dalam sebuah monitor dapat kita ketahui dari
resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah 1024x768, maka
jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 pixel. Semakin tinggi
jumlah pixel yang tersedia dalam monitor, semakin tajam gambar yang mampu
ditampilkan oleh monitor tersebut. Jika suatu gambar mempunyai resolusi 20x30, maka
jumlah pixel yang terdapat dalam file tersebut adalah 600 pixel.
Sampai saat ini, belum ada persetujuan atas lambang resmi yang dapat digunakan untuk
bit dan byte. Patokan yang sering dikutip, IEC 60027 oleh International Electrotechnical
Commission, menetapkan bahwa "bit" adalah lambang untuk satuan bit, sebagai contoh
Patokan lain yang juga sering dikutip, IEEE 1541 oleh Institute of Electrical and
Electronics Engineers menetapkan "b" sebagai lambang untuk bit, dan "B" untuk byte.
Konvensi ini banyak dipakai dalam ilmu komputer, tetapi belum diterima secara
internasional, karena beberapa halangan berikut:
a. kedua simbol ini sudah dipakai untuk satuan lain: "b" untuk barn dan "B" untuk
bel
b. "bit" adalah singkatan dari "binary digit", jadi tidak ada alasan untuk
menyingkatnya lagi
c. biasanya lambang untuk sebuah satuan hanya menggunakan huruf besar jika
satuan tersebut dinamakan untuk menghormati seseorang
d. istilah byte tidak digunakan di negara-negara berbahasa Perancis, negara-negara
ini menggunakan istilah octet (lambang: "o"), sehingga sulit untuk membuat
persetujuan secara internasional.
e. "b" kadang-kadang digunakan sebagai lambang untuk byte, dan "bit" untuk bit.
Claude E. Shannon pertama kali menggunakan kata bit dalam sebuah karya ilmiah
pada tahun 1948. Beliau menjelaskan bahwa kata tersebut berasal dari John W. Tukey,
yang pada tanggal 9 Januari 1947 menulis sebuah memo kepada Bell Labs. Di dalam
memo tersebut, beliau memendekkan kata "binary digit" (digit biner) menjadi "bit".
Byte adalah sebuah kumpulan bit. Saat pertama kali digunakan, byte mempunyai
panjang yang tidak tetap. Sekarang, byte umumnya mempunyai panjang sebesar delapan
bit. Byte yang mempunyai panjang delapan bit juga dikenal sebagai octet. Sebuah byte
bisa mempunyai 256 nilai yang berbeda (28 nilai, 0–255).
Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal dalam
pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan karena seringkali
citra yang diuji mempunyai kualitas yang buruk, misalnya citra mengalami derau (noise)
pada saat pengiriman melalui saluran transmisi, citra terlalu terang/gelap, citra kurang
tajam, kabur, dan sebagainya. Melalui operasi pemrosesan awal inilah kualitas citra
diperbaiki sehingga citra dapat digunakan untuk aplikasi lebih lanjut, misalnya untuk
aplikasi pengenalan (recognition) objek di dalam citra.
Yang dimaksud dengan perbaikan kualitas citra adalah proses memperjelas dan
mempertajam ciri/fitur tertentu dari citra agar citra lebih mudah dipersepsi maupun
dianalisis secara lebih teliti. Secara matematis, image enhancement dapat diartikan
sebagai proses mengubah citra f(x, y) menjadi f ’(x, y) sehingga ciri-ciri yang dilihat pada
f(x, y) lebih ditonjolkan. Image enhancement tidak meningkatkan kandungan informasi,
melainkan jangkauan dinamis dari ciri agar bisa dideteksi lebih mudah dan tepat.
Operasi-operasi yang digolongkan sebagai perbaikan kualitas citra cukup beragam
antara lain, pengubahan kecerahan gambar (image brightness), peregangan kontras
(contrast stretching), perataan histogram (histogram equalization), pelembutan citra
(image smoothing), penajaman (sharpening) tepi (edge), pewarnaan semu
(pseudocolouring), pengubahan geometrik, dan sebagainya. (Munir, 2004)
Metode – metode perbaikan citra dapat dikategorikan menjadi dua bagian, yakni
metode – metode yang bekerja pada domain spatial dan metode – metode yang bekerja
pada domain frekuensi.
Metode ini bekerja pada keseluruhan pixel dan dapat dituliskan dalam bentuk :
g ( x, y ) = T [ f ( x, y )] (1)
Dimana :
Metode ini berbasis pada teori konvolusi. Andaikan g(x,y) adalah image yang diperoleh
dari konvolusi image f(x,y) dengan position – invariant operator h(x,y) yaitu :
g ( x, y ) = h ( x, y ) * f ( x, y ) (2)
Maka dari teori konvolusi didapat:
Dimana G,H,F adalah transformasi Fourier dari g,h,f. Tujuan dari pengolahan
adalah untuk memilih H(u,v) sedemikian sehingga image yang diinginkan
g(x,y) = F-1[H(u,v) F(u,v)], menunjukkan feature f(x,y). ( Murinto, 2004)
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah
gambar. Citra dikelompokkan ke dalam tiga kategori kontras : citra kontras-rendah (low
contrast), citra kontras-bagus (good contrast atau normal contrast), dan kontras-tinggi
(high contrast). Ketiga kategori ini umumnya dibedakan secara intuitif.
Citra dengan kontras rendah ditandai dengan sebagian besar komposisi citranya
terang atau sebagian besar gelap. Histogramnya memperlihatkan sebagian derajat
Contrast stretching ini adalah teknik yang digunakan untuk mendapatkan citra
baru dengan kontras yang lebih baik daripada kontras dari citra asalnya. Ide dari contrast
stretching adalah untuk meningkatkan dynamic range dari grey level dalam gambar yang
sedang diproses. (Amarnath, 2009)
255
d2
Output Image
d1
c
0 c1 c2 255
Input Image
Informasi penting mengenai isi citra digital dapat diketahui dengan membuat histogram
citra. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai
intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram
dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut.
Histogram juga dapat menunjukkan banyak hal tentang kecerahan ( brightness) dan
kontras (contrast) dari sebuah gambar. Karena itu, histogram adalah alat bantu yang
berharga dalam pengerjaan pengolahan citra baik secara kualitatif maupun kuantitatif.
(Suhendra, 2004)
Agar kita memperoleh citra yang baik, maka penyebaran nilai intensitas harus
diubah. Teknik yang lazim dipakai adalah perataan histogram (histogram equalization).
Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang
merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relative
sama.
Karena histogram menyatakan peluang pixel dengan derajat keabuan tertentu,
maka rumus menghitung histogram ditulis kembali sebagai fungsi peluang.
nk
Pr (rk) =
n
yang dalam hal ini,
k (5)
, 0 ≤k ≤ L – 1
rk =
L–1
Yang artinya, derajat keabuan (k) dinormalkan terhadap derajat keabuan terbesar
( L - 1). Nilai r k = 0 menyatakan hitam, dan rk = 1 menyatakan putih dalam skala
keabuan yang didefenisikan.(‘Uyun, 2008)
Dari gambar diatas terlihat jika citra gelap gray level terkonsentrasi di bagian kiri
atau bagian gelap dari range gray scale. Dan sebaliknya jika citra terang gray level
terkonsentrasi di bagian kanan atau bagian terang dari range gray scale.Jika citra
berkontras rendah histogram memiliki bentuk yang sempit yang menunjukkan bahwa
citra memiliki dynamic range rendah yang berarti berkontras rendah. .Citra berkontras
tinggi menunjukkan bahwa histogram gray level tersebar luas yang menunjukkan bahwa
citra berkontras tinggi.
Meskipun histogram hanya menunjukkan sifat-sifat umum dari citra dan tidak
memberikan informasi apa-apa tentang isi citra, namun bentuk dari histogram dapat
memberikan informasi mengenai kemungkinan untuk melakukan perbaikan kontras citra
tersebut.
Dari gambar diatas terlihat, pada gambar (a) sebelum dilakukannya proses
contrast stretching, gambar terlihat gelap atau berkontras rendah dan histogramnya
terlihat sebagian besar derajat keabuannya terkelompok (clustered) bersama atau hanya
menempati sebagian kecil dari rentang nilai – nilai keabuan yang mungkin. Dan pada
gambar (b) terlihat citra berkontras bagus dan histogram citranya memperlihatkan
sebaran nilai keabuannya yang relatif seragam.
Dari penjelasan diatas, jika dihubungkan antara histogram dengan contrast
stretching yaitu dalam melakukan proses contrast stretching histogram sangat berperan
penting sebagai alat bantu untuk menentukan langkah perbaikan kualitas citra
selanjutnya.
Tampilan Delphi secara umum berbeda dengan tampilan bahasa pemprograman lain.
Delphi tidak memiliki form utama atau form induk. Sehingga pembuatan program dengan
software ini, wallpaper desktop akan terlihat lebih jelas.
Semua fasilitas toolbox dan tool window pada Delphi terpisah dari menu utama.
Tampilan software ini hampir sama dengan beberapa software yang ada di Linux. Hal ini
dapat dilihat dari tampilan program The Gimp yang ada di Linux.
Sejak pertama komputer diketemukan hingga sekarang, telah terjadi evaluasi bahasa
pemrograman. Penggerak evolusinya adalah keinginan untuk mendapatkan sebanyak
mungkin dengan usaha dan sumber daya sedikit mungkin. Dengan demikian program
dipecah menjadi objek yang berkembang dan disebut dengan konsep Object Oriented
Programming (OOP).
Keuntungan bahasa pemrograman OOP dibandingkan bahasa pendahulunya yaitu:
1. Lebih terstruktur.
2. Lebih modular, serta mudah digunakan kembali.
3. Lebih tahan terhadap perubahan.
4. Lebih mudah dikembangkan.
5. Lebih alami.