Upload
khangminh22
View
2
Download
0
Embed Size (px)
Citation preview
4
Universitas Kristen Petra
2. LANDASAN TEORI
2.1 Digital Image Processing
Gonzales & Woods (2008) mendeskripsikan image processing sebagai
suatu metode yang berguna untuk memproses atau memanipulasi gambar atau
citra digital dalam skala dua dimensi. Konsep dasar pemrosesan gambar digital
menggunakan image processing diambil dari kemampuan indera penglihatan
manusia yang selanjutnya dihubungkan dengan kemampuan otak manusia untuk
melakukan proses atau pengolahan terhadap gambar digital tersebut.
Dalam perkembangannya, konsep image processing ini telah dapat
dikembangkan dan diaplikasikan dalam berbagai bentuk. Berbagai cabang ilmu
pengetahuan lain telah menerapkan konsep image processing ini untuk berbagai
keperluan masing-masing dan tingkat kesuksesannya terbukti cukup tinggi.
Berbagai cabang ilmu pengetahuan itu, diantaranya adalah biometric, matematika,
elektronika, fotografi, dan teknolog komputer.
Adapun tujuan utama dari digital image processing adalah bagaimana
suatu gambar atau citra digital itu dapat diolah dan dianalisa dengan seksama
sehingga dapat memberikan suatu informasi yang baru yang lebih bermanfaat.
Ada empat klasifikasi dasar dalam image processing yaitu point, area,
geometric, dan frame.
a. Point memproses nilai pixel suatu gambar berdasarkan nilai atau posisi dari
pixel tersebut. Sebagai contohnya adalah adding, subtracting, dan stretching.
b. Area memproses nilai pixel suatu gambar berdasarkan nilai pixel tersebut
beserta nilai pixel sekelilingnya. Sebagai contoh adalah convolution, blurring,
dan sharpening.
c. Geometric digunakan untuk mengubah posisi dari pixel. Sebagai contohnya
adalah scaling, rotation, translation, dan mirroring.
d. Frame memproses nilai pixel suatu gambar berdasarkan operasi dari dua buah
gambar atau lebih. Contoh dari proses frame adalah addition, subtractions,
dan and/or.
5
Universitas Kristen Petra
Selain klasifikasi dasar, digital image processing juga masih dapat
dibedakan menjadi tiga macam berdasarkan tingkatannya, yaitu :
a. Low-level process
Merupakan proses-proses yang berhubungan dengan operasi primitive seperti
image pre-processing untuk mengurangi noise, menambah kontras, dan
menajamkan gambar. Pada low-level process, input dan output berupa gambar.
b. Mid-level process
Merupakan proses-proses yang berhubungan dengan tugas-tugas seperti
segmentasi gambar (membagi gambar menjadi objek-objek),
pengenalan(recognition) suatu objek individu. Pada mid-level process, input
pada umumnya berupa gambar tetapi output berupa atribut yang dihasilkan
dari proses yang dilakukan pada gambar tersebut seperti garis, garis contour,
dan objek-objek individu.
c. High-level process
Merupakan proses-proses yang berhubungan dengan hasil dari mid-level
process.
Image Processing mempunyai elemen-elemen antara lain:
a) Pixel (picture element)
Adalah titik terkecil (elemen) yang membentuk suatu gambar, disebut juga
dengan dot.
b) Resolusi
Adalah banyaknya titik (pixel) yang menyusun suatu gambar atau layer.
Ukurannya adalah jumlah pixel horizontal dikalikan jumlah pixel vertical.
Contoh : Ukuran 640 x 480, artinya 640 pixel horizontal dan 480 pixel
vertical.
c) Dots per inch (dpi)
Banyaknya titik atau pixel tiap satuan inci.
Contohnya : 600 dpi, berarti terdapat 600 x 600 pixel tiap 1 inci persegi.
6
Universitas Kristen Petra
d) Warna
Ada 4 model warna dalam digital image processing yang dikenal, yaitu gray-
scale color model, RGB color model, HSV color model, dan YCrCb color
model.
e) Color depth
Adalah besarnya informasi data dari satu satuan sample (dot/pixel). Setiap
bitmap/dot/ pixel , bisa berupa hitam, putih, abu-abu atau warna. Color depth
dinyatakan dalam angka yang digunakan untuk menyatakan beberapa variasi
warna yang mampu ditampilkan oleh suatu bitmap/dot/pixel yang dinyatakan
secara kuantitatif.
Rumusnya adalah 2n
(2 pangkat n)
(dimana n adalah besarnya bit depth).
Contoh:
1 bit = 21 = 2 variasi warna (monochrome)
2 bit = 22 = 4 variasi warna
4 bit = 24 = 16 variasi warna
8 bit = 28 = 256 variasi warna
16 bit = 216
= 65536 variasi warna
32 bit = 232
= 4294967296 variasi warna
f) Perhitungan ukuran gambar
Ukuran dalam byte = width x height x color depth
Keterangan :
Width, merupakan lebar dari gambar, diukur dengan pixel.
Height, merupakan tinggi dari gambar, diukur dengan pixel.
Color depth, merupakan jumlah bit warna yang diukur dalam bit/pixel.
1 byte = 8 bit
1Kb = 1024 byte
1 Mb = 1024 kilobyte
Contoh :
Sebuah gambar berukuran 640 x 480 pixel dengan 24-bit warna akan
memebutuhkan berapa besar disk space pada media penyimpanan?
7
Universitas Kristen Petra
Jawab :
Ukuran dalam byte, dengan rumus : (width x height x color depth)/8
= (640x480x24)/8
= 921600 byte
= 900 kilobyte
2.2 Color Model
Menurut Gonzales & Woods (2008), color model atau color space dapat
digambarkan sebagai suatu model standarisasi secara matematis yang dapat
menjelaskan bagaimana suatu warna dapat diterima dan direpresentasikan sebagai
sekumpulan tuples atau color components. Setiap color model dapat memiliki satu
atau lebih color components. Untuk gambar monochrome atau gray-scale, color
model yang digunakan hanya memiliki satu buah color components. Untuk
gambar yang berwarna, pada umumnya akan menggunakan color model yang
memiliki tiga atau empat buah color components. Sebagai contoh, pada RGB (red,
green, blue) color model memiliki tiga buah color components, sedangkan pada
CMYK (cyan, magenta, yellow, black) color model memiliki empat color
components.
Di dalam dunia digital image processing, pemilihan penggunaan color
model dalam suatu aplikasi seringkali dipengaruhi oleh jenis hardware yang
digunakan. Contoh dari hardware-oriented color model adalah pemakaian RGB
color model untuk tampilan monitor atau video camera, CMYK color model
untuk keperluan mesin printer, dan HSV (hue, saturation, value) color model
yang diyakini memiliki korespondensi paling dekat dengan bagaimana cara
manusia dalam menilai dan mendeskripsikan sebuah warna.
2.2.1 Gray-scale Color Model
Seperti yang diketahui sebelumnya, gray-scale color model hanya
memiliki satu buah color components. Color components yang dimiliki itu
memiliki nilai sebesar 1 byte atau 8 bit. Gray-scale color model digunakan untuk
merepresentasikan tingkat warna abu-abu dari sebuah pixel, dapat juga dikatakan
tingkat cahaya dari sebuah pixel. Maksudnya nilai yang terkandung dalam pixel
8
Universitas Kristen Petra
menunjukan tingkat terangnya pixel tersebut dari hitam ke putih. Biasanya
ditetapkan nilai antara 0 hingga 255 (untuk 256-graylevel), dengan nilai 0 adalah
hitam dan nilai 255 adalah putih. Gray-scale adalah gambar yang memiliki gray-
level sebagai nilai dari tiap pixel-nya.
Pada dasarnya, gray-scale ini dilakukan untuk meratakan nilai pixel dari
tiga nilai RGB menjadi satu nilai yang sama. Untuk memperoleh hasil yang baik
nilai pixel tidak langsung dibagi menjadi tiga, melainkan terdapat presentasi dari
masing-masing nilai tersebut. Salah satu cara untuk melakukan konversi gambar
ke gray-scale adalah dengan menggunakan sistem warna YUV, yaitu dengan
mengkonversi RGB ke YUV lalu mengambil komponen Y (iluminasi). Hal ini
dapat dilakukan dengan sistem persamaan (Gonzales & Woods, 2008) :
Y= 0.299 * R + 0.587 * G + 0.114 * B (2.1)
Di mana :
R = nilai red color component dari RGB color model.
G = nilai green color component dari RGB color model.
B = nilai blue color component dari RGB color model.
Y = nilai gray-scale yang dihasilkan.
2.2.2 RGB Color Model
RGB color model memiliki tiga buah color components yaitu red, green,
dan blue. Untuk setiap color components memiliki batasan nilai sebesar 1 byte
atau 8 bit. Dengan demikian, untuk masing-masing komponen R, G, dan B
mempunyai variasi nilai dari 0 sampai 255 dengan total 256 warna (28 = 256).
Total variasi yang dapat dihasilkan untuk sistem dengan format warna RGB
adalah 256 * 256 * 256 atau 16.777.216 jenis warna. Karena setiap component
warna memiliki batasan sebesar 1 byte atau 8 bit, maka total untuk
merepresentasikan warna RGB adalah 8+8+8 = 24 bit. RGB color model juga
dapat direpresentasikan kedalam 16 bit dan 32 bit. Untuk RGB 16 bit color model
atau HiColor, setiap color component terdiri dari 5 bit dan terdapat 1 ekstra bit
untuk green (G) color component. Sedangkan untuk RGB 32 bit color model,
9
Universitas Kristen Petra
terdapat tambahan 8 bit transparency channel atau alpha channel, yang nantinya
akan membentuk format RGBA color model. (Gonzales & Woods, 2008)
2.2.3 HSV Color Model
HSV color model memiliki tiga buah color components yaitu hue (H),
saturation (S), dan value (V). HSV color model juga dikenal dengan HSB (Hue,
Saturation, Brightness) color model. Untuk karakteristik color components dari
HSV color model dapat dilihat sebagai berikut :
Hue (H) color component, merepresentasikan ukuran komposisi secara
spectral dari sebuah warna, dimana memiliki nilai dalam besaran sudut,
berkisar antara 0° dan 360°.
Saturation (S) color component, merepresentasikan the purity of color atau
kejernihan dari sebuah warna, berkisar antara nilai 0 sampai dengan nilai 1.
Value (V) color component, merepresentasikan tingkat brightness dari suatu
warna. Nilai value (V) ini juga berkisar antara nilai 0 sampai dengan nilai 1.
Untuk memperoleh HSV color model, dapat dilakukan dengan cara
proses transformasi dari RGB color model. Untuk proses konversinya, dapat
dilakukan melalui persamaan matematika berikut ini : (Gonzales & Woods, 2008)
Di mana :
H = nilai hue color component dari HSV color model.
S = nilai saturation color component dari HSV color model.
V = nilai value color component dari HSV color model.
R = nilai red color component dari RGB color model.
(2.2)
(2.3)
(2.4)
(2.5)
10
Universitas Kristen Petra
G = nilai green color component dari RGB color model.
B = nilai red color component dari RGB color model.
2.2.4 YCrCb Color Model
YCrCb color model memiliki tiga buah color components yaitu luma (Y),
red chroma (Cr) dan blue chroma (Cb). Secara umum, luma color component (Y)
dalam YCrCb color model ini dapat dikatakan sebagai component warna gray-
scale dari keseluruhan image. (Gonzales & Woods, 2008)
Untuk memperoleh YCrCb color model, dapat dilakukan proses
transformasi dari RGB color model. Untuk proses konversinya dapat dilakukan
melalui persamaan matematika berikut ini :
Y = 0.299 * R + 0.587 * G + 0.114 * B (2.6)
Cr = (R – Y) * 0.713 + delta (2.7)
Cb = (B – Y) * 0.564 + delta (2.8)
Di mana :
Y = nilai luma color component dari YCrCb color model.
Cr = nilai red chroma color component dari YCrCb color model.
Cb = nilai blue chroma color component dari YCrCb color model.
R = nilai red color component dari RGB color model.
G = nilai green color component dari RGB color model.
B = nilai blue color component dari RGB color model.
Untuk nilai delta akan ditentukan berdasarkan jenis image yang dipakai :
Variable delta akan bernilai 128 untuk 8-bit images.
Variable delta akan bernilai 32768 untuk 16-bit images.
Variable delta akan bernilai 0.5 untuk floating-point images.
11
Universitas Kristen Petra
2.3 Image Resizing
Image resizing adalah salah satu bagian dari bidang ilmu image
processing. Image resizing sendiri adalah proses untuk merubah ukuran gambar
digital menjadi lebih besar atau lebih kecil. Image resizing yang menjadi focus di
sini adalah merubah ukuran gambar menjadi lebih besar namun tetap menjaga
kualitas gambar digital. Banyak sekali algoritma image resizing yang ada
sekarang, seperti bilinear interpolation, cubic interpolation, nearest neighbor
interpolation, dan bicubic interpolation. Algoritma interpolasi secara umum dapat
dibagi menjadi 2 bagian, adaptive algorithm, dan non-adaptive algorithm.
Adaptive algorithm adalah algoritma yang bisa berubah berdasarkan
pada apa yang diinterpolasi (tekstur halus, dll). Maksudnya adaptive
akan membedakan proses pada bagian digital image yang berbeda.
Ada beberapa aplikasi yang menggunakan adaptive algorithm seperti,
Qimage, PhotoZoom Pro, dan Genuine Fractals (Cambridge In
Colour, Sean McHugh).
Gambar 2.1 Adaptive Algorithm
Non-adaptive algorithm adalah algortima yang tidak membedakan
bagian-bagian tertentu pada digital image, atau dengan kata lain
memproses semua pixel dengan cara yang sama. Metode-metode yang
termasuk dalam non-adaptive algorithm adalah nearest neighbor,
bilinear, bicubic, spline, sinc, dan lanczos (Cambridge In Colour,
Sean McHugh).
250%
12
Universitas Kristen Petra
2.4 Nearest Neighbor Interpolation Algorithm
Nearest neighbor interpolation algorithm merupakan algoritma yang
paling sederhana, paling cepat dalam melakukan resizing gambar digital dan pada
dasarnya algoritma ini hanya membuat pixel menjadi lebih besar. Algoritma ini
sangat berguna bagi aplikasi yang sangat membutuhkan kecepatan seperti pada
Windows Explorer untuk melihat file secara thumbnail. Contoh image hasil
resizing menggunakan nearest neighbor interpolation algorithm dapat dilihat
pada Gambar 2.2. (DPreview, Vincent Bockaert)
Gambar 2.2 Nearest Neighbor Interpolation
2.5 Bilinear Interpolation Algorithm
Bilinear interpolation algorithm menggunakan 2 x 2 pixel terdekat untuk
menentukan pixel yang tidak diketahui. Kemudian ke 4 pixel ini dicari nilai rata-
ratanya tanpa mempertimbangkan jarak untuk menjadi nilai yang diinterpolasi.
Bilinear interpolation menghasilkan image resize yang lebih baik dari nearest
neighbor interpolation. Contoh image hasil resizing menggunakan bilinear
interpolation algorithm dapat dilihat pada Gambar 2.3. (DPreview, Vincent
Bockaert)
Gambar 2.3 Bilinear Interpolation
Resizing 450%
Resizing 450%
13
Universitas Kristen Petra
2.6 Bicubic Interpolation Algortihm
Dalam ilmu matematika, bicubic interpolation adalah perluasan dari
cubic interpolation untuk interpolasi titik data pada grid dua dimensi biasa.
Bicubic interpolation menggunakan 4x4 pixel tetangga yang terdekat dengan
bagian yang akan diinterpolasikan. Permukaan yang diinterpolasi dengan
algoritma ini lebih halus daripada permukaan yang diinterpolasi menggunakan
algoritma nearest-neighbor interpolation, bilinear interpolation dan cubic
interpolation (Cambridge In Colour, Sean McHugh). Bicubic interpolation
algorithm dapat diselesaikan menggunakan Lagrange polinomial algorithm,
cubic splines algorithm, atau cubic convolution algorithm. Dalam pengolahan
gambar digital, bicubic interpolation sering dipilih bila dibandingkan dengan
bilinear interpolation atau nearest-neighbor interpolation, bila kecepatan proses
resizing bukanlah target utama (Cambridge In Colour, Sean McHugh). Gambar
hasil pembesaran dengan algoritma bicubic interpolation lebih halus dan memiliki
artefak interpolasi lebih sedikit (Wikipedia the free Encyclopedia). Contoh image
hasil resizing menggunakan bicubic interpolation algorithm dapat dilihat pada
gambar 2.4.
Gambar 2.4 Bicubic Interpolation
Resizing 450%
14
Universitas Kristen Petra
2.6.1 Lagrange Polinomial Algorithm
Menurut Krisnawati(2007), interpolasi Lagrange merupakan teknik yang
popular, karena menggunakan fungsi dalam bentuk polinom. Jika fungsi yang
dicari adalah f(x) dan cacah data n maka :
Dengan:
Qi(x)=(x – x0)(x – x1)(x – x2) … (x – xi – 1)(x – xi + 1) … (x – xn).
Contoh penyelesaian untuk tiga titik diketahui. (Krisnawati, 2007)
Tiga titik tersebut adalah (1,-1),(3,1/2),(4,0)
Penyelesaian akhir didapat sebagai berikut:
(2.9)
(2.10)
(2.11)
(2.12)
(2.13)
(2.14)
(2.15)
(2.16)
(2.17)
(2.18)
(2.19)
15
Universitas Kristen Petra
Contoh penyelesaian untuk empat titik diketahui. (Krisnawati, 2007)
Empat titik tersebut adalah (0,1),(1,2),(3,4),(6,-1)
Penyelesaian akhir didapat sebagai berikut:
2.7 BMP
Format file ini merupakan format grafis yang fleksibel untuk platform
Windows sehingga dapat dibaca oleh program grafis manapun. Meskipun
demikian, sebaliknya selain platform windows akan mengalami kesulitan untuk
membaca file ini. Format ini mampu menyimpan informasi dengan kualitas
tingkat 1,4,8, dan 24 bit di tiap pixel-nya.
Bitmap atau raster merupakan gambar yang tersusun atas titik-titik
elemen gambar, disebut pixel. Masing-masing pixel memiliki informasi warna.
Jumlah kemungkinan warna yang dapat ditampilkan oleh suatu pixel tergantung
pada satuan bit yang dimiliki gambar bitmap tersebut. Gambar bitmap 8 bit berarti
pixel-pixel yang menyusunnya dapat menampilkan kemungkinan warna sebanyak
2 pangkat 8, atau 256 warna. Gambar bitmap dengan resolusi (jumlah pixel setiap
satuan ukur) besar, akan terlihat lebih halus dibandingkan yang memiliki resolusi
(2.20)
(2.21)
(2.21)
(2.22)
(2.23)
(2.24)
(2.25)
(2.26)
16
Universitas Kristen Petra
rendah. Resolusi gambar bitmap dinyatakan dengan satuan dot per inch (dpi) atau
pixel per inch (ppi).
Struktur penyimpanan pada file bitmap terbagi menjadi tiga bagian besar.
Bagian pertama berukuran 54 byte terletak pada bagian awal file yang digunakan
untuk menyimpan header dari file BMP. Bagian kedua berukuran 1024 byte
berada setelah header dan digunakan untuk menyimpan informasi palette yang
disusun dengan susunan RGB (red, green, dan blue). Bagian ketiga adalah sisa
byte dari file BMP yang berisi informasi gambar. (Kay, Levine, 1995)
2.8 JPEG
Joint Photographic Experts (JPEG) adalah satu gambar bitmap yang
dikompres dan bersifat lossy. Tipe gambar ini dirancang untuk kompresi beberapa
full-color atau gray-scale dari suatu gambar. JPEG mendukung 24-bit color depth
atau sama dengan 16,7 juta warna (224
= 16.777.216 warna).
JPEG bekerja dengan merubah gambar spasial dan merepresentasikan
kedalam pemetaan frekuensi. Frekuensi tersebut diolah dengan menggunakan
Discrete Cosine Transform (DCT) untuk memisahkan antara informasi frekuensi
yang rendah dan tinggi dari suatu gambar. Dari proses pemisahan frekuensi
tersebut, nilai yang tinggi akan diseleksi untuk dihilangkan dimana nilai tersebut
tergantung dari pengaturan kualitas yang digunakan. Waktu kompresi dan
dekompresi dilaksanakan dengan simetris. JPEG sebenarnya hanyalah algoritma
kompresi, bukan merupakan nama format file. File yang biasa disebut JPEG pada
jaringan sebenarnya adalah JFIF (JPEG File Interchange Format). (Kay, Levine,
1995)