13
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.

2. LANDASAN TEORI 2.1 Digital Image Processing

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)