|
BAB 2
LANDASAN TEORI
2.1 Definisi Pengolahan Citra
Digital image processing adalah istilah untuk
memproses
gambar (picture) dua
dimensi oleh komputer digital (Jain, 1989, p1).
Segala
proses
yang
digunakan untuk
mengolah
suatu
gambar
dikenal
dengan
image
processing.
Ada
pun
istilah
pengolahan
gambar
menurut
Ahmad
(2005,
p4),
image
processing atau
pengolahan
gambar adalah
bidang
tersendiri
yang
sudah
cukup
berkembang sejak orang
mengerti bahwa komputer
tidak
hanya dapat
menangani data
teks,
tetapi juga
data
gambar.
Bidang-bidang
yang
termasuk
dalam image
processing
meliputi
penajaman
gambar,
penonjolan fitur
tertentu
dari
suatu
gambar,
komponen
gambar
dan
koneksi
gambar
yang
tidak
fokus
atau
kabur,
pewarnaan pada
gambar
grayscale, dan sebagainya.
2.2 Konsep Dasar Rekayasa Piranti Lunak
Menurut Pressman
(1992,
p24),
rekayasa
piranti
lunak
mencakup tiga elemen
yang mampu mengontrol proses pengembagan piranti lunak, yaitu sebagai berikut.
a. Methods
Menyediakan cara-cara teknis untuk membangun piranti lunak.
b. Tools
Menyatakan
dukungan
otomatis
atau
semi
otomatis
yang
mengkombinasikan
software, hardware, dan software engineering database.
5
|
|
6
c. Procedures
Merupakan pengembangan metode dan alat bantu.
Dalam
skripsi
ini
digunakan
perancangan
software
dengan
model
Classic
Life
Cycle
(Waterfall
Model).
Serangkaian kegiatan
yang
dilakukan
selama
perancangan
software, antara lain sebagai berikut.
a.
Rekayasa
dan
analisis sistem.
Proses
menganalisis kebutuhan
secara
umum
yang
berkaitan dengan hardware, user, dan database.
b. Analisis kebutuhan software. Proses
menganalisis kebutuhan dengan
memfokuskan
pada spesialisasi software.
Semua
kebutuhan baik
sistem
mau
pun software
harus
didokumentasikan dan harus dikaji oleh user.
c. Perancangan. Pada
tahap ini,
ada
tiga
hal
yang
harus
difokuskan
dalam
program,
yaitu
struktur
data,
arsitektur software,
dan
prosedur
detil.
Di
tahap
proses
ini,
kebutuhan dituangkan
menjadi software yang layak dari segi kualitas, sebelum
masuk pada proses pengkodean.
d. Pengkodean.
Difokuskan pada
penterjemahan
hasil
rancangan ke bahasa
mekanik
yang dimengerti oleh mesin dalam bentuk program.
e. Pemeliharaan.
Perubahan-perubahan
yang
dilakukan
pada
software
untuk
mengantisipasi peningkatan kebutuhan user atas fungsi-fungsi baru.
2.3 Algoritma Image Matching
Dalam
skripsi ini, algoritma yang digunakan untuk mewarnai gambar grayscale
adalah Algoritma Image Matching, seperti terlihat pada Gambar 2.1. Mewarnai gambar
grayscale dapat dilakukan dengan berbagai cara, salah satu di antaranya adalah dengan
mentransfer warna dari gambar berwarna ke gambar grayscale.
|
![]() 7
Sumber: http://www.FreeFoto.com/
Gambar 2.1 Contoh Pentransferan Warna dengan Algoritma Image Matching
Pentransferan warna secara keseluruhan dari gambar warna ke gambar grayscale
dapat dilakukan dengan mencocokkan tingkat kecerahan dan
informasi tekstur di antara
kedua gambar. Hal ini dapat dilakukan dengan beberapa langkah sebagai berikut (Welsh,
2002, pp277-280).
2.3.1 Pengkonversian Gambar ke Dalam Bentuk
l
aß
Color Space
Dua gambar
yang
telah diinput
oleh user,
yaitu
sebuah
gambar berwarna dan
sebuah
gambar
grayscale,
harus diubah
ke
l
aß
color
space
terlebih
dahulu. Proses
pengkonversian
ini
diperlukan karena
laß
color
space
memiliki
komponen L
(luminance) yang dapat mempermudah proses pencocokan pixel gambar, dan juga
komponen
a
dan
ß
yang dapat
ditransfer
dari gambar
warna
ke gambar
grayscale
setelah proses pencocokan pixel dilakukan.
Dengan
mengasumsikan bahwa kedua
gambar yang diinputkan adalah gambar
RGB color space, maka proses yang perlu dilakukan adalah mengubah RGB color space
menjadi
l
aß
color space. Proses konversi dari
RGB ke
l
aß
ini dibagi menjadi dua
tahap (Reinhard, 2001, pp34-41), sebagai berikut.
|
![]() 8
3
a. Mengkonversi RGB (Red, Green, Blue) ke LMS (Long Middle Short wavelengths).
Konversi RGB ke l
aß
melalui tahap konversi RGB ke LMS karena RGB merupakan
transformasi dari LMS. LMS yaitu long wavelength (L), middle wavelength (M), dan
short
wavelength
(S),
merupakan
salah
satu
cara
untuk
merepresentasikan warna
dengan tiga buah variabel.
Matriks transformasi yang digunakan adalah:
?
L
?
?
0.3811
0.5783
0.0402
?
?
R
?
?
M
?
=
?
0.1967
0.7244
0.0782
?
?
G
?
(2.1)
?
?
?
?
?
?
?
?
S
?
?
?
?
0.0241
0.1288
0.8444
?
?
?
?
B
?
?
b. Mengkonversi LMS ke l
aß
Matriks transformasi yang digunakan adalah:
?
1
?
0
?
l
?
?
?
0
?
?
?
1
1
1
?
?
L
?
?
a
?
=
?
0
1
0
?
?
1
1
-
2
?
?
M
?
(2.2)
?
?
?
6
?
?
?
?
?
?
?
ß
?
?
?
?
0
0
1
?
?
?
1
-
1
?
0
?
? ?
?
S
?
?
?
2
?
2.3.2. Pembuatan Histogram Gambar
Setiap pixel pada gambar grayscale harus dicocokkan dengan pixel pada gambar
warna, untuk
mentransfer
nilai kromatik (komponen
a
dan
ß
)
dari
gambar
warna ke
gambar grayscale. Pencocokan ini dilakukan dengan membandingkan tingkat kecerahan
dan statistika pixel di sekeliling pixel yang dibandingkan.
Tingkat kecerahan kedua gambar seringkali berbeda jauh. Oleh karena itu, perlu
dilakukan luminance remapping,
yaitu menggeser dan
menskalakan histogram
tingkat
|
|
9
kecerahan gambar warna agar sesuai dengan histogram tingkat kecerahan gambar
grayscale. Beberapa tahap yang harus dilakukan adalah sebagai berikut.
a. Membuat histogram tingkat kecerahan gambar warna
b. Membuat histogram tingkat kecerahan gambar grayscale.
c. Melakukan luminance remapping.
Proses
luminance
remapping
meliputi proses
perataan
histogram
dan
proses
spesifikasi histogram.
2.3.3 Perhitungan Statistika Pixel
Proses
perhitungan statistika
pixel
dilakukan
dengan
cara
mencocokkan
antara
pixel
gambar
warna
dengan
pixel
gambar
grayscale.
Proses
ini
meliputi dua
tahap,
sebagai berikut.
a. Memasukkan jumlah sampel gambar warna serta ukuran panjang dan lebar masing-
masing sampel pixel
yang diinputkan oleh user, untuk diikutkan dalam perhitungan
statistika.
b. Perhitungan statistika gambar grayscale dilakukan terhadap setiap pixel. Perhitungan
ini
dilakukan
dengan
menghitung rata-rata
dan
simpangan baku
di
sekeliling
pixel
sesuai dengan ukuran yang diinputkan oleh user.
2.3.4 Pencocokan Pixel
Proses pencocokan
pixel dilakukan
terhadap
gambar
warna
dan
gambar
grayscale
yang
telah
diinputkan oleh
user. Proses pencocokan pixel dilakukan dengan
cara menghitung rata-rata dan simpangan baku tingkat kecerahan pixel di sekelilingnya.
Dengan menganggap rata-rata (µ) dan simpangan baku (s) tersebut sebagai koordinat,
|
![]() 10
1
2
maka pixel gambar warna yang paling cocok adalah pixel yang memiliki jarak terpendek
(d) dengan pixel pada gambar grayscale. Rumus yang digunakan adalah:
s
(µ2, s2)
d =
(
µ
1
-
µ
2
)
2
+
(
s
-
s
2
)
d
µ
(2.3)
(µ1
,
s1
)
Tahap perhitungan statistika dan pencocokan pixel biasa disebut dengan texture
synthesis
dengan sampling
local
models,
yaitu
mencari tekstur
yang
sama
pada
dua
gambar yang berbeda dengan menghitung selisih (perbedaan distribusi) sekeliling kedua
pixel
yang
dibandingkan. Selisih
ini
bernilai kecil
jika kedua pixel yang dibandingkan
mirip, dan bernilai besar jika keduanya berbeda jauh. Sedangkan yang digunakan dalam
proses pencocokan pixel adalah selisih (perbedaan distribusi) yang bernilai kecil.
2.3.5 Pentransferan Warna
Proses pentransferan warna dilakukan setelah ditemukan pixel yang paling
cocok. Nilai kromatik
a
dan
ß
dipindahkan ke pixel target pada
gambar grayscale,
dengan tetap mempertahankan tingkat kecerahan pixel.
Setelah proses pewarnaan tersebut, maka gambar grayscale yang telah
mempunyai warna dalam
laß
color space harus diubah kembali ke RGB color space
untuk ditampilkan. Tahap
ini
meliputi dua proses (Reinhard, 2001, pp34-41), sebagai
berikut.
|
![]() 11
2
a. Mengkonversi laß ke LMS
Matriks transformasi yang digunakan adalah:
?
3
?
1
1
1
0
?
L
?
?
3
?
0
?
?
?
l
?
?
M
?
=
?
1
1
0
0
6
0
?
?
a
?
(2.4)
?
?
?
6
?
?
?
?
?
S
?
?
?
?
1
-
2
0
0
0
?
?
?
ß
?
?
?
?
?
2
?
?
b. Mengkonversi LMS ke RGB
Matriks transformasi yang digunakan adalah:
?
R
?
?4,4679
-
3,5873
0,1193?
?
L
?
?
G
?
=
?
1,2195
2,0809
0,1624
?
?
M
?
(2.5)
?
?
?
?
?
?
?
?
B
?
?
?
?
0,0497
-
0,2439
1.2045
?
? ?
?
S
?
?
2.4 Teori Warna
Suatu
sistem
standar
yang
diperlukan
untuk
merepresentasikan warna
biasa
disebut
color space. Ada dua
jenis color space
yang sering
digunakan dalam
aplikasi
(Forsyth, 2003, pp53-91).
2.4.1 Linear Color Spaces
Linear Color Spaces menyatakan bahwa suatu warna
itu terdiri dari tiga warna
utama
cahaya
atau tiga
macam panjang gelombang,
yaitu LMS
(Long,
Middle,
Short).
Untuk
memperoleh suatu
warna
tertentu,
diperlukan
pencocokan
warna
dengan
mengubah
komposisi
ketiga
warna
utama
tadi.
Dengan
menggunakan algoritma
ini,
terdapat beberapa standar color spaces
yang menerapkan cara-cara yang berbeda untuk
memperoleh warna yang diinginkan.
|
|
12
a. CIE XYZ Color Space
Diciptakan oleh Commission Internationale de IEclairage (CIE) pada tahun 1931,
CIE
XYZ
merupakan
salah
satu
standar
yang
cukup
terkenal, tetapi
sudah
kuno.
Kelemahan color
space
ini adalah sulitnya
untuk
mengatur brightness (Loy, 2002,
pp1-28).
Untuk
merepresentasikan
warna,
standar
ini
menggunakan kombinasi
penambahan
nilai X, Y, Z. Ketiga nilai ini selalu bernilai positif, dan diubah menjadi nilai RGB
melalui matriks transformasi berikut.
?
X
?
?
0.490
0.310
0.200
?
?
R
?
?
Y
?
=
?
0.177
0.813
0.011
?
?
G
?
(2.6)
?
?
?
?
?
?
?
?
Z
?
?
?
?
0.000
0.010
0.990
?
?
?
?
B
?
?
b. RGB Color Space
Sebagian besar spektrum yang terlihat oleh mata manusia, dapat direpresentasikan
dengan menggabungkan warna cahaya merah, hijau, dan biru (RGB) dalam intensitas
dan perbandingan yang beragam. Namun, tidak semua warna
yang terlihat manusia
dapat direpresentasikan dengan kombinasi ketiga
nilai warna
ini (Loy, 2002, pp1-
28).
Perpotongan ketiga warna tersebut menghasilkan warna cyan,
magenta, kuning, dan
putih.
Karena warna
RGB
dapat
dikombinasikan
untuk
menghasilkan
warna putih,
maka warna ini disebut juga additive colors.
|
![]() 13
Sumber: Adobe Photoshop 7 Help Files
Gambar 2.2 Additive Colors RGB
c. CMYK Color Space
CMYK
Color
Space
dibuat berdasarkan kualitas penyerapan cahaya dari tinta
yang
dicetak
pada
kertas.
Ketika
seberkas
cahaya
putih
mengenai tinta,
beberapa
gelombang tertentu diserap, sementara gelombang yang lainnya dipantulkan ke mata
manusia.
Berdasarkan teori, kombinasi
warna cyan
(C),
magenta (M),
dan
kuning
(Y)
yang
murni, akan menyerap semua cahaya dan menghasilkan warna hitam. Karena itulah,
warna ini seringkali disebut subtractive colors.
Sumber: Adobe Photoshop 7 Help Files
Gambar 2.3 Subtractive Colors CMYK
|
![]() 14
2.4.2 Non-Linear Color Spaces
Metode
non-linear
color
spaces
ini
biasanya
menyajikan warna
dengan
menggunakan suatu
bidang
lingkaran
warna
spektrum.
Dengan
demikian,
untuk
menyajikan warna tertentu, tidak terlalu sulit bagi manusia untuk membayangkannya.
Saat ini, ada beberapa standar yang menggunakan non-linear color spaces untuk
menyajikan suatu warna.
a. HSV color space
HSV color space merupakan bentuk transformasi non
linier dari RGB color space,
yaitu:
RGB (Red, Green, Blue) ke HSV (Hue, Saturation, Value): V
=
(R
+
G
+
B
)
3
?
3
?
S
=
1
-
?
(R + G + B)
?
*
a
, di mana a adalah nilai minimum dari RGB
(2.7)
?
?
?
H
=
cos
-1
?
0,5 *
(R - G
)
+
(
R
-
B
)
0.5
?
?
?
(R
-
G
)
2
+
(
R
-
B
)
*
(G
-
B
)
?
?
?
b. CIE LAB color space
CIE
LAB
terdiri
dari
komponen L
(luminance
atau
tingkat
kecerahan) dan
dua
komponen warna,
yaitu komponen A
(hijau sampai
merah) dan komponen B
(biru
sampai kuning).
Koordinat
dari
warna
CIE
LAB
diperoleh
dari
perhitungan koordinat warna
non-
linear color space CIE XYZ.
|
![]() 15
?
L
* = 116 *
?
Y
1 3
/ 3
?
?
-
16. jika
Y
>
0.008856
?
Yn
?
Yn
Atau jika tidak: L * = 903.3 *
Y
Yn
a* = 500 * (f (
X
) f (
Y
))
Xn
b* = 200 * (f (
Y
) f (
Yn
Yn
Z
))
(2.8)
Zn
di mana:
f
(t ) = t
1
/
3
,
jika t > 0.008856
atau jika tidak:
f
(t ) =
7.787 *
t
+
16
116
Keterangan:
Xn,
Yn, dan
Zn
adalah
nilai
X,
Y,
Z
untuk
tingkat
kecerahan
yang
digunakan untuk contoh X, Y, Z. Nilai (konstanta) dari
X
,
Y
,
Xn
Yn
Z
adalah lebih
Zn
besar dari 0.008856.
2.5 Gambar Bitmap
Gambar Bitmap sering disebut juga dengan gambar raster. Gambar Bitmap
adalah
gambar
yang
terbentuk
dari
pixel, dengan
setiap
pixelnya
mempunyai
warna
tertentu. Jika gambar bitmap ini diperbesar,
misalnya menjadi 4 kalinya,
maka gambar
akan
menjadi kabur karena pixelnya juga bertambah besar
menjadi 4 kalinya (kualitas
gambar menurun). Format gambar bitmap sering dipakai dalam foto dan gambar. Dua
istilah yang perlu dipahami
ketika bekerja dengan gambar bitmap adalah resolusi dan
kedalaman warna.
|
|
16
Setiap kotak kecil (pixel) mempunyai nilai (kecerahan atau warna) dan lokasi
masing-masing (Kay dan Levine, 1995, pp1-5). Setiap pixel yang ditampilkan pada layar
monitor, dipetakan sebagai salah satu atau lebih bit dalam memori komputer. Karena itu,
gambar
yang ditampilkan dengan cara
ini disebut sebagai bitmap yang artinya peta bit.
Cara ini sering digunakan karena lebih mudah digunakan, tanpa batas, dan dapat berlaku
untuk semua gambar.
Gambar bitmap mempunyai keunggulan, yaitu kemudahannya untuk ditampilkan
secara rinci dengan pola-pola yang kompleks atau gambar fotorealistik, yang tidak dapat
dengan mudah direpresentasikan sebagai model matematika (garis, kurva, dan bidang).
2.6 Pixel (Picture Element)
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 (kedalaman warna) yang
dipakai. Semakin banyak jumlah pixel tiap satu satuan luas, semakin baik kualitas
gambar yang dihasilkan dan tentu akan semakin besar ukuran filenya.
2.7 Format File BMP
Struktur file
BMP
terdiri dari empat bagian seperti pada diagram di bawah
ini.
Bagian pertama adalah header, diikuti dengan bagian
informasi, palet warna, dan data
pixel.
|
![]() 17
Header file
Info Header
Optional Pallet
Image Data
Gambar 2.4 Struktur File BMP
Berikut ini akan dibahas secara singkat masing-masing bagian struktur yang
terdapat pada sebuah file BMP (Kay dan Levine, 1995, pp1-5).
2.7.1 Header BMP
Fungsi
utama
dari
header
pada file
BMP
adalah
sebagai
tanda/ciri
yang
mengidentifikasi
format file tersebut. Header pada file BMP
mempunyai beberapa field
yang jarang digunakan. Hal ini dapat dilihat pada Tabel 2.1.
Tabel 2.1 Tabel Header BMP
Offset
Nama Field
Ukuran
Keterangan
0
BfType
2 byte
Berisi Karakter BM
2
BfSize
4 byte
Ukuran file BMP dalam byte
6
BfReserved1
2 byte
Tidak digunakan
8
BfReserved2
2 byte
Tidak digunakan
10
BfOffbits
4 byte
Offset kepada awal data pixel dalam byte
|
![]() 18
2.7.2 Informasi BMP
Informasi BMP yang
mengikuti
header BMP,
mempunyai
ukuran
minimal 40
byte. Beberapa field penting yang terdapat pada informasi BMP, yaitu panjang dan lebar,
jumlah bit per pixel, dan jenis kompresi, seperti terlihat pada Tabel 2.2.
Tabel 2.2 Tabel Informasi BMP
Offset
Nama Field
Ukuran
Keterangan
14
BiSize
4 byte
Ukuran header dalam byte
18
BiWidth
4 byte
Lebar gambar
22
BiHeight
4 byte
Panjang gambar
26
BiPlanes
2 byte
Bernilai 1
28
BiBitCount
2 byte
Bits per pixel 1, 4, 8, 16, 24, atau 32
30
BiCompression
4 byte
Jenis Kompresi . RGB=0, RLE8=1,
RLE4=2, atau BITFIELDS=3
34
BiSizeImage
4 byte
Ukuran gambar kompresi dalam byte
38
BixPelsPerMeter
4 byte
Resolusi horizontal
42
BiyPelsPerMeter
4 byte
Resolusi vertical
46
BiClrUsed
4 byte
Jumlah warna yang digunakan
50
BiClrImportant
4 byte
Jumlah warna yang penting
2.7.3 Palet Warna BMP
Gambar
yang
menggunakan 1, 4, atau
8
bits per pixel pasti
mempunyai
palet
warna. Pada umumnya palet
berisi 2, 16, atau 256 macam warna, tetapi dapat lebih
sedikit jika gambar yang bersangkutan tidak menggunakan semua warna yang tersedia.
Untuk
gambar
24
bit,
tidak
digunakan palet
warna,
melainkan
langsung ditampilkan
nilai
RGB
(Red,
Green,
Blue). Masing-masing
warna
dalam palet
memiliki
ukuran
sebesar 4 byte, seperti terlihat pada Tabel 2.3.
Tabel 2.3. Tabel Palet Warna BMP
Offset
Nama Field
Ukuran
Keterangan
0
RgbBlue
1 byte
Nilai warna biru
1
RgbGreen
1 byte
Nilai warna hijau
2
RgbRed
1 byte
Nilai warna merah
3
RgbReserved
1 byte
Bernilai 0
|
|
19
2.7.4 Data Pixel BMP
Data
pixel
terletak
setelah palet
warna
jika
ada. Jika
tidak,
data pixel terletak
setelah
informasi BMP.
Untuk
mengetahui
awal
(offset) letak data pixel, digunakan
BfOffBits pada Header BMP.
Baris pixel
untuk beberapa file
BMP dengan jumlah bit
per pixel yang berbeda.
1)
File BMP 1 bit per pixel
Setiap pixel berukuran 1 bit, dan dikemas dalam
ukuran 1 byte yang berisi 8 data
pixel yang mengacu pada palet warna yang berisi 2 warna.
2)
File BMP 4 bit per pixel
Dalam gambar yang tidak terkompresi, setiap byte berisi 2 data pixel. Masing-
masing data pixel mengacu pada palet warna yang berisi 16 warna.
3)
File BMP 8 bit per pixel
Setiap pixel dalam baris mempunyai sebuah
nilai sebesar 1 byte,
yaitu indeks pada
palet 256 warna.
4)
File BMP 16 bit per pixel
Setiap
pixel
mempunyai
sebuah
nilai
integer
sebesar
2 byte.
Jika
gambar
tidak
terkompresi,
maka
setiap
warna disajikan
dalam nilai
5
bit, dimana
bit
paling
kiri
tidak digunakan, seperti terlihat pada Gambar 2.5.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Red
Blue
Green
Gambar 2.5 Format Data Pixel 16 Bit Per Pixel
5)
File BMP 24 bit per pixel
Setiap pixel berukuran 3 byte, terdiri dari urutan warna biru, hijau, merah.
6)
File BMP 32 bit per pixel
|
|
20
Setiap pixel mempunyai nilai integer sebesar 4 byte, terdiri dari urutan warna biru,
hijau, merah, dan 1 byte tidak terpakai
2.8 Histogram Citra
Histogram
merupakan alat yang berguna untuk melihat profil intensitas dari
suatu citra. Histogram memberikan gambaran tentang komposisi citra, informasi tentang
kontras, dan distribusi intensitas citra secara keseluruhan.
Sebuah
histogram disajikan
melalui
sebuah
diagram batang,
di
mana
nilai
intensitas
pixel
ditempatkan
pada
sumbu
x,
dan
banyak
setiap
intensitas pixel
ditempatkan pada sumbu y.
Suatu citra yang gelap akan memiliki distribusi pixel di sebelah kiri lebih banyak.
Sedangkan
citra
yang cerah
memiliki
distribusi
pixel
di
sebelah kanan
lebih
banyak.
Pada citra yang ideal, distribusi pixel akan merata pada setiap nilai intensitas histogram.
2.8.1 Perataan Histogram
Perataan histogram ini bertujuan untuk memperoleh histogram yang merata
untuk setiap intensitas pixel-nya (Gose, 1996, pp275-282). Dengan demikian, dihasilkan
citra
baru
yang
memiliki
histogram yang
lebih
terdistribusi,
yaitu
frekuensi
setiap
intensitas pixel yang ditempatkan pada sumbu y, kurang lebih sama.
Perataan histogram tidak benar-benar meratakan histogram. Seperti terlihat pada
Gambar
2.8, proses
ini
hanya akan
mendistribusikan
ulang distribusi
intensitas
pixel
citra
yang bersangkutan. Jika histogram citra
memiliki banyak bukit dan
lembah,
maka
setelah proses perataan histogram, histogram tersebut akan tetap memiliki banyak bukit
|
![]() 21
dan lembah, tetapi bukit dan lembah tersebut akan bergeser. Karena itu, perataan
histogram lebih mengacu kepada istilah penyebaran dibandingkan perataan.
(a)
(b)
Gambar 2.6 (a) Histogram Asal
(b) Histogram Setelah Perataan
Perataan histogram dapat dilakukan melalui
ketiga tahap di bawah ini (Crane,
1997, pp47-49).
a. Membuat histogram
Langkah
pertama
ini
dilakukan
dengan
menghitung jumlah (frekuensi) setiap nilai
pixel dalam
citra. Pembuatan
histogram ini diawali dengan persiapan sebuah array
yang
berisi
nol. Sebuah citra
yang
memiliki
jumlah
warna
sebanyak 8 bit
memerlukan array berukuran 256 (0 sampai 255). Kemudian proses terus
dilanjutkan dengan mengisi array tersebut dengan jumlah masing-masing nilai pixel
pada citra.
b. Menghitung normalisasi histogram
Langkah
kedua
ini
membutuhkan
sebuah array
baru
untuk
menyimpan
jumlah
komulatif dari setiap nilai pixel. Pada array ini, elemen 1 berisi jumlah elemen 0 dan
elemen 1. Elemen 2 berisi jumlah elemen 0, elemen 1, dan elemen 2.
Sedangkan
elemen 255 berisi jumlah elemen 0, elemen 1, dan seterusnya sampai dengan elemen
255. Array
ini
kemudian
dinormalisasi dengan
mengalikan
setiap
elemen
dengan
|
|
22
pixel
maksimal dibagi dengan jumlah keseluruhan pixel.
Hasil
yang diperoleh dari
perhitungan
normalisasi
histogram
ini
adalah
probabilitas
kumulatif
untuk
setiap
nilai
pixel. Misalkan
sebuah
gambar
8
bit dengan
resolusi 512x512, berarti
setiap
pixel harus dikalikan dengan 255/262144.
c. Memperbaharui citra lama
Citra lama diperbaharui dengan mengganti nilai pixel lama dengan hasil pembulatan
nilai yang diperoleh dari proses perhitungan normalisasi histogram.
2.8.2 Penyesuaian Histogram
Perataan histogram kurang lebih menghasilkan histogram yang merata. Kadang-
kadang, histogram yang tidak merata itu tidak sesuai dengan keinginan. Misalnya, ketika
diperlukan citra yang lebih cerah atau pun citra yang lebih gelap, atau ketika diperlukan
citra yang lebih kontras. Semua modifikasi
ini
dapat
dilakukan melalui spesifikasi
histogram.
Penyesuaian histogram adalah sebuah proses untuk menyesuaikan tingkat
kecerahan suatu citra yang diinputkan, sehingga tingkat kecerahan citra tersebut menjadi
sesuai dengan tingkat kecerahan histogram yang juga diinputkan oleh user (Crane, 1997,
pp49-54).
Secara garis besar, proses ini meliputi beberapa tahap, yaitu:
a. Melakukan perataan histogram terhadap citra yang diinput oleh user.
b. Melakukan perataan histogram terhadap histogram yang juga diinput oleh user.
c. Melakukan kebalikan dari transformasi perataan histogram terhadap citra yang telah
diratakan.
Proses
ini
dilakukan
dengan
mengganti
setiap
nilai
hasil
perataan
|
|
23
histogram citra dengan nilai
terdekat
yang diperoleh dari hasil perataan
histogram
yang diinputkan.
2.9 Teori Statistika
Statistika merupakan sekumpulan konsep dan metode yang digunakan untuk
mengumpulkan
dan
menginterpretasi
data tentang
bidang
kegiatan
tertentu
dan
mengambil kesimpulan dalam situasi di mana ada ketidakpastian dan variasi.
Cabang ilmu statistika yang menjelaskan teknik untuk meringkas dan
mendeskripsikan data disebut statistika deskriptif. Sedangkan cabang ilmu statistika
yang bertujuan
untuk membuat kesimpulan
(mengambil kesimpulan, memprediksi, dan
membuat keputusan) tentang karakteristik populasi berdasarkan informasi yang
diperoleh dari sampel, disebut inferensi statistik.
Dalam Statistika, salah satu konsep paling dasar adalah penarikan sampel
(sampling). Sampel diambil dari suatu kelompok yang lebih besar, yang disebut
populasi. Populasi sering disebut sebagai himpunan keseluruhan objek yang diselidiki,
sedangkan sampel
merupakan
himpunan
bagian
populasi. Karakteristik atau konstanta
dari suatu populasi disebut parameter. Sedangkan suatu harga yang dihitung dari sampel
dinamakan statistika.
Operasi statistika yang sering dipakai dalam aplikasi yang melibatkan gambar,
yaitu rata-rata (mean) dan simpangan baku (standard deviation).
|
![]() 24
2.9.1 Rata-rata (µ)
Di
dalam gambar,
rata-rata
nilai
kelabu
pixel
menyatakan
tingkat
kecerahan
gambar tersebut (Gose, 1996, pp271-273). Jika terdapat suatu gambar dengan ukuran M
x
N
pixel dan nilai pixel
g, maka rata-rata
nilai pixel gambar
tersebut dapat diketahui
melalui rumus berikut ini.
M
N
µ
=
1
MN x=¹ y=¹
?
?
g x, y
(
)
(2.9)
2.9.2 Simpangan Baku (s)
Kontras suatu gambar dapat diketahui melalui besarnya variasi nilai kelabu pixel
gambar
tersebut (Gose, 1996, pp271-273). Salah satu cara
untuk
mengetahui besarnya
variasi ini adalah dengan menghitung akar dari jumlah kuadrat selisih nilai kelabu pixel
yang bersangkutan dengan rata-ratanya. Bilangan ini biasa dikenal dengan
istilah
simpangan baku.
1
M N
s
=
?
?
(
g x, y
(x, y
)
-
µ
)
2
MN
-
1
x=1 y=1
(2.10)
Keterangan:
M
=
ukuran lebar pixel
N
=
ukuran panjang pixel
g(x, y) = nilai kelabu pixel
µ
=
rata-rata nilai kelabu pixel
|
|
25
2.10 Prinsip Perancangan Layar
Prinsip
perancangan layar
merupakan panduan
bagi
perancang
yang
berguna
dalam
membuat dan
membandingkan alternatif desain. Ada
tiga
prinsip
yang
terdapat
dalam perancangan layar yaitu:
a. Kenali perbedaan
Dalam
melakukan
perancangan layar,
perancang
harus
mengenali
pengguna
dari
program aplikasi.
Pengguna ini
dapat
berupa
first-time
users
(pemula),
knowledgeable intermittent users (pengguna yang telah mengenal program aplikasi),
dan expert frequent users (ahli).
b. Gunakan delapan aturan emas perancangan user interface:
1)
Berusaha untuk konsisten.
2)
Memungkinkan frequent user menggunakan shortcuts.
3)
Memberikan umpan balik yang inovatif.
4)
Merancang dialog yang memberikan penutupan (keadaan akhir).
5)
Memberikan pencegahan kesalahan dan penangan kesalahan yang sederhana.
6)
Memungkinkan pembalikan aksi yang mudah.
7)
Mendukung pusat kendali internal.
8)
Mengurangi beban ingatan jangka pendek.
2.11 DFD (Data Flow Diagram)
DFD adalah alat bantu dalam melakukan analisis sistem. DFD terdiri dari
simbol-simbol
yang
menggambarkan
komponen-komponen, yang
antara
lain
sebagai
berikut.
|
![]() 26
a. Proses
Proses menunjukkan
apa yang sistem
kerjakan.
Setiap proses
memiliki satu atau
lebih data
masukan dan memiliki satu atau
lebih
data keluaran.
b. Data store
Data store adalah tempat
menyimpan data, di mana berisi data yang
akan
dipakai oleh
sistem. Proses
dapat
memasukkan data
ke
dalam
data
share
atau
mendapatkan kembali
datanya.
Setiap
data
store
memiliki nama yang unik.
c
Eksternal entitas
Eksternal entitas berada di
luar sistem,
tetapi dapat mensuplai data
ke
sistem
atau
menerima
keluaran
dari
sistem.
Eksternal
entitas
yang mensuplai data ke sistem disebut source.
d. Aliran data (Data flow)
Menggambarkan arah ke aliran data.
Diagram aliran data dapat dibagi menjadi tiga tingkatan, sebagai berikut.
1)
Diagram
konteks,
merupakan
level
tertinggi
yang
menggambarkan
batas-batas
dari sistem informasi secara global.
2)
Diagram nol, merupakan diagram yang
memaparkan proses-proses penting
dalam sistem.
3) Diagram rinci,
merupakan penjelasan
dari setiap
proses secara
mendetil,
yang
terdapat
dalam
diagram
nol,
yang
tidak
dapat
dipecah
lagi
ke
dalam
proses-
proses yang lebih rinci.
|