Implementasi Metode Median Filtering Dan Kompresi Jpeg Untuk Citra BMP
BAB 2
LANDASAN TEORI
2.1 Pengenalan Citra
Citra merupakan representasi (gambaran) dari sebuah objek nyata yang dihasilkan
oleh alat digital. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat
optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada
monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media
penyimpan [9]. Karakteristik dari citra yang tidak dimiliki oleh data teks adalah citra
kaya akan informasi karena dapat menyampaikan informasi yang imajinatif (dapat
dihayalkan).
2.1.1 Citra Analog
Citra analog merupakan citra yang bersifat kontinu. Citra analog ini tidak dapat
langsung diproses dalam komputer, sehingga citra analog perlu proses konversi analog
ke digital terlebih dahulu. Hal ini disebabkan karena citra analog yang terdiri dari
sinyal – sinyal elektromagnetik yang tidak dapat dibedakan sehingga citra ini sulit
ditentukan ukurannya. Contoh dari citra analog ini seperti citra tampilan pada televisi
atau monitor, gambar – gambar atau lukisan, foto yang dicetak dikertas, dan lain
sebagainya.
2.1.2 Citra Digital
Citra digital merupakan sebuah larik (array) yang berisi nilai – nilai real maupun
kompleks yang direpresentasikan dengan deretan bit – bit tertentu [6]. Sebuah citra
digital dihasilkan melalui proses digitalisasi pada citra kontinu. Digitalisasi citra
Universitas Sumatera Utara
8
merupakan representasi dari fungsi – fungsi kontinu menjadi nilai – nilai diskrit,
sehingga disebut sebagai citra digital.
Citra kontinu dinyatakan dengan presisi angka tak terhingga, sedangkan citra
diskrit dinyatakan dengan presisi angka terhingga. Karena komputer bekerja dengan
angka-angka presisi terhingga, maka hanya citra dari kelas diskrit (citra digital) saja
yang dapat diolah dengan komputer.
Suatu citra dapat didefinisikan sebagai fungsi f(x) berukuran MxN dimana M
adalah baris dan N adalah kolom, dengan x dan y adalah koordinat spasial, dan
amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari
citra pada titik tersebut. Citra digital ditulis dalam bentuk matrik sebagai berikut.
Contoh dari sebuah citra digital dapat dilihat pada gambar 2.1
Gambar 2.1 Contoh Citra Digital dan Matrik penyusunnya
Universitas Sumatera Utara
9
Citra digital terbagi atas 2 jenis, yaitu:
1.
Tipe Raster
Citra raster merupakan citra yang terdiri atas persegi – persegi kecil yang memiliki
warna tersendiri. Citra raster sering disebut sebagai bitmap. Tampilan raster mampu
menunjukkan kehalusan gradasi warna dan bayangan dari sebuah gambar, oleh sebab
itu tipe raster merupakan media elektronik yang paling tepat untuk gambar-gambar
dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.
Gambar raster sangat tergantung dengan resolusinya, karena setiap gambar
mempunyai jumlah piksel yang pasti. Artinya sebuah gambar akan sangat tergantung
dari jumlah piksel yang membentuknya. Apabila dilakukan pembesaran ukuran
gambar dengan resolusi kecil, maka gambar akan kehilangan detil dan akan terlihat
kotak-kotak piksel yang berundak (jagged). Beberapa format raster antara lain adalah
JPEG, GIF, BMP, PNG dan ICO. Contoh tipe raster dilihat pada gambar 2.2 berikut.
Gambar 2.2 Contoh Citra Raster
2.
Tipe Vektor
Citra vektor merupakan citra yang terbentuk dari bangun – bangun geometri
sederhana seperti titik, garis lurus, garis lengkung, polygon (segi banyak). Gambar
vektor menggabungkan titik dan garis untuk menjadi sebuah objek, sehingga gambar
tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar Bitmap.
Universitas Sumatera Utara
10
Beberapa format gambar vektor antara lain adalah CGM, SVG, SWF. Contoh tipe
vektor dilihat pada gambar 2.3 berikut.
Gambar 2.3 Contoh Citra Vektor
2.1.3 J enis Citra
Sebuah citra terdiri atas piksel – piksel penyusunnya, dimana nilai suatu piksel sebuah
citra memiliki nilai dalam suatu rentang tertentu. Yaitu mulai dari nilai rentang
minimum hingga rentang nilai maksimum. Tetapi secara umum rentang nilai piksel
sebuah citra adalah 0 – 255. Berikut adalah jenis – jenis citra berdasarkan nilai
pikselnya[6].
2.1.3.1 Citra Biner
Citra biner merupakan citra digital yang hanya memiliki dua kemungkinan nilai piksel
yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white)
atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari
citra biner. Pada gambar 2.4 berikut adalah contoh dari citra biner.
Gambar 2.4 Citra Biner
Universitas Sumatera Utara
11
2.1.3.2 Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada
setiap piksel-nya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai
tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah
warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna
abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale
berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan). Contoh dari
citra grayscale dapat dilihat pada gambar 2.5 berikut.
Gambar 2.5 Citra Grayscale
2.1.3.3 Citra Warna (8 bit)
Setiap piksel dari citra warna (8 bit) hanya di wakili oleh 8 bit dengan jumlah warna
maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit.
Pertama, citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap
paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering
digunakan. Kedua, setiap piksel memiliki format 8 bit seperti tabel 2.1 berikut.
Tabel 2.1 Format bit citra 8 bit
Bit-7
Bit-6
Bit-5
Bit-4
Bit-3
Bit-2
Bit-1
Bit-0
R
R
R
G
G
G
B
B
Universitas Sumatera Utara
12
Contoh dari citra warna 8 bit dapat dilihat pada gambar 2.6 berikut.
Gambar 2.6 Citra 8 bit
2.1.3.4 Citra Warna (16 bit)
Citra warna 16 bit (biasanya disebut sebagai citra highcolor ) dengan setiap piksel-nya
diwakili dengan 2 byte memory (16 bit).Warna 16 Bit memiliki 65.536 warna. Dalam
formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri.
Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau
dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif terhadap warna
hijau. Berikut pada tabel 2.2 formasi bit citra 16 bit.
Tabel 2.2 Formasi bit citra 16 bit
Bit Bit Bit Bit Bit Bit Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
15
14
13
12
11
10
R
R
R
R
R
G
G
G
G
G
G
B
B
B
B
B
Universitas Sumatera Utara
13
Pada gambar 2.7 berikut adalah contoh dari citra warna 16 bit.
Gambar 2.7 Citra 16 bit
2.1.3.5 Citra Warna (24 bit)
Setiap piksel dari citra warna 24 bit diwakili dengan 24 bit sehingga total 16.777.216
variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh
warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya
dapat membedakan hingga 10 juta warna saja. Setiap poin informasi piksel (RGB)
disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti
dengan nilai Hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.
Contoh dari citra warna 24 bit dapat kita lihat pada gambar 2.8 berikut.
Gambar 2.8 Citra 24 bit
2.1.4 For mat File Citra
Secara umum format file citra yang standar digunakan terdiri atas beberapa jenis.
Format – format ini digunakan dalam menyimpan citra dalam sebuah file, dan setiap
Universitas Sumatera Utara
14
format memiliki karakteristik masing – masing. Beberapa format yang umum
digunakan adalah bitmap, tagged image format(.tif), portable network graphics(.png),
jpeg, mpeg, graphics interchange format(.gif), dan lain sebagainya. Dalam penelitian
ini jenis file yang akan dibahas adalah bitmap(BMP).
2.1.4.1 Format File Citra Bitmap (BMP)
Format file BMP merupakan format penyimpanan standar tanpa kompresi yang umum
dapat digunakan untuk menyimpan citra biner hingga citra warna [6]. Pada format
BMP, citra disimpan sebagai matrik yang tiap elemennya digunakan untuk
menyimpan informasi warna untuk setiap piksel. Susunan bit – bit warna pada citra
BMP membentuk pola tertentu yang menyajikan informasi yang dapat dipahami
sesuai dengan persepsi penglihatan manusia. Citra BMP mampu menyimpan
informasi dengan kualitas mulai dari 1 bit hingga 24 bit. Citra dalam format BMP
lebih bagus dari pada citra dalam format JPG, karena pada umumnya citra BMP tidak
dimampatkan sehingga tidak ada informasi yang hilang. Citra BMP cocok digunakan
untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya
maupun warnanya, seperti foto, lukisan, dan frame video.
Citra dalam format BMP mudah untuk dibuka dan disimpan, tetapi ada
beberapa hal yang harus dicermati yaitu :
1
Format file BMP menyimpan datanya secara terbalik, yaitu dari bawah keatas.
2
Citra dengan ukuran warna 8 bit, lebar citra harus kelipatan dari 4 bila tidak
maka pada saat penyimpanan akan ditambahkan beberapa byte pada data
hingga merupakan kelipatan dari 4.
3
Citra dengan ukuran warna 24 bit, urutan penyimpanan 3 wrna dasar adalah
red, green, blue (RGB).
4
Ukuran file BMP bisa sangat besar hingga Megabytes.
Universitas Sumatera Utara
15
2.2 Noise
Noise merupakan gangguan yang disebabkan oleh menyimpangnya data digital yang
diterima oleh alat penerima gambar yang dapat mengganggu kualitas citra. Gangguan
pada citra umumnya berupa variasi intensitas suatu piksel yang tidak berkorelasi
dengan piksel – piksel tetangganya [12]. Jenis noise yang dibahas pada penelitian ini
adalah salt and pepper noise dan speckle noise.
2.2.1 Salt and Pepper Noise
Salt and pepper noise merupakan noise yang terlihat seperti titik – titik hitam dan
putih pada sebuah citra menyerupai tebaran garam dan merica. Salt and pepper noise
disebabkan karena terjadinya error bit dalam pengiriman data, piksel – piksel yang
tidak berfungsi dan kerusakan pada lokasi memori [8]. Untuk menguji sebuah metode
agar dapat mereduksi noise, maka noise dapat dihasilkan dengan cara membangkitkan
noise tersebut, hal ini sering disebut dengan noise generator.
Gambar 2.9 Citra sebelum
terkena salt and pepper noise
Gambar 2.10 Citra setelah terkena salt
and pepper noise
Adapun cara untuk membangkitkan salt and pepper noise adalah dengan cara
membangkitkan bilangan 255 (warna putih) pada titik –titik yang secara probabilitas
noise, dan dirumuskan dengan:
Universitas Sumatera Utara
16
f (x,y) = 0 jika p (x,y) 1 – Prob.Noise/2
Dimana :
f(x,y) : adalah nilai piksel citra pada titik (x,y)
p(x,y) : adalah probabilitas acak
2.2.2 Speckle Noise
Speckle noise merupakan jenis noise yang memberikan warna hitam pada titik yang
terkena noise.
Gambar 2.11 Citra sebelum
terkena speckle noise
Gambar 2.12 Citra setelah
terkena speckle noise
Noise ini dibangkitkan dengan cara membangkitkan bilangan 0(warna hitam)
pada titik – titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan
dirumuskan dengan :
f (x,y) = 0 jika p (x,y) > n2 , maka CR
∞ dan R
D
>1, berarti cukup banyak redundansi dalam
gambar asli.
3. Jika n1 0 dan RD
∞ menunjukkan bahwa citra dikompresi
mengandung data berlebihan sangat tinggi.
Universitas Sumatera Utara
22
2.4.4 Kompresi J PEG (Joint Photographic Experts Group)
Algoritma kompresi yang telah dikembangkan dan diterapkan pada teknologi
informasi dan komunikasi multimedia saat ini adalah algoritma JPEG untuk kompresi
citra [7]. Kompresi JPEG termasuk jenis kompresi yang bersifat lossy. Tujuan dari
kompresi gambar JPEG sederhana yaitu untuk menyimpan data yang diperlukan guna
merekonstruksi citra digital menggunakan ruang sesekecil mungkin dengan tetap
menjaga detail visual sehingga menyimpan gambar mendekati sebenarnya [5].
Adapun kelebihan yang dimiliki oleh JPEG antara lain:
1. JPEG mampu memampatkan citra hingga kedalaman 24 bit (16,7 juta warna)
dengan kecepatan yang standar sehingga hasil yang maksimal dari sebuah
gambar dapat diperoleh.
2. JPEG memanfaatkan pola pada citra untuk mereduksi informasi pada citra
yang tidak memberikan dampak yang mempengaruhi kualitas citra.
3. JPEG mampu memampatkan citra grayscale hingga warna seperti RGB,
CMYK.
Tahapan kompresi JPEG [1]:
1. Encoding JPEG, Pada proses penyandian terdapat beberapa langkah seperti
berikut.
a. Konversi warna RGB
YCbCr
b. Downsampling, merupakan proses pengurangan pada komponen Cb dan Cr.
c. Block Splitting, pada proses ini citra dibagi menjadi 8x8 blok setelah proses
downsampling.
d. Proses DCT, merupakan proses transformasi citra dari domain spasial ke
domain frekuensi yang mampu memisahkan informasi mulai pada frekuensi
rendah hingga frekuensi tinggi, sehingga hal ini memungkinkan untuk
Universitas Sumatera Utara
23
memampatkan jumlah bit dalam setiap piksel melalui pengurangan atau
penghilangan detil informasi (frekuensi tinggi).
e. Kuantisasi, merupakan proses pembagian setiap nilai piksel hasil DCT
dengan setiap nilai konstanta elemen matrik kuantisasi, dimana nilai-nilai
setiap elemen matrik tersebut menentukan kualitas hasil kompresi. Pada
proses ini dilakukan pembersihan koefisien DCT yang tidak penting untuk
pembentukan image baru. Hal ini yang menyebabkan JPEG bersifat lossy.
f. Entropy Coding, merupakan proses penggunaan algoritma entropy seperti
Huffman Coding untuk mengkodekan koefisien hasil proses DCT yang akan
mengeliminasi nilai – nilai matrik yang bernilai nol secara zig – zag order.
2. Decoding JPEG, proses menguraikan kode untuk menampilkan citra yang
dilakukan dengan invers dari proses encoding JPEG yaitu Huffman decoding,
dekuantisasi, invers DCT, konversi YCbCr
RGB.
Diagram kompresi dari metode JPEG dapat dilihat pada gambar 2.13 .
Quant izer
Ent ropi Encoder
Quant izer
Table
Gambar 2.13 JPEG Encoder Block Diagram
Dalam proses penyandian JPEG pada Gambar 2.14, citra masukan dibentuk ke
dalam blok 8×8, dan tiap-tiap blok diubah dengan DCT maju (FDCT) menjadi satu set
64 nilai yang disebut koefisien DCT. Satu dari nilai-nilai ini adalah koefisien DC dan
selebihnya adalah koefisien AC. Tiap-tiap nilai koefisien DCT kemudian dikuantisasi
menggunakan satu dari 64 nilai yang saling berhubungan dari sebuah tabel kuantisasi.
Koefisien-koefisien yang telah dikuantisasi kemudian diproses dengan penyandian
Universitas Sumatera Utara
24
entropi. Salah satu dari dua prosedur pengkodean entropi yang dapat digunakan yaitu
dengan penyandian Huffman atau penyandian Aritmetika.
Sebuah data yang telah mengalami proses kompresi/pemampatan tentunya
harus dapat dikembalikan lagi kebentuk aslinya, walaupun tidak semua citra hasil
kompresi yang didekompresi akan memiliki hasil yang sama persis dengan citra
awal/asli, hal itu bergantung pada jenis kompresi yang digunakan. Gambar 2.14
berikut adalah diagram proses decoder JPEG.
Ent ropi Decoder
Dequant izer
Quant izer
Table
Gambar 2.14 JPEG Decoder Block Diagram
Pada proses rekonstruksi yang ditunjukkan Gambar 2.14, citra yang
terkompresi menggunakan standar JPEG yaitu melalui proses terbalik. Jika pada
proses kompresi menggunakan DCT maju (FDCT), pada proses rekonstruksi
digunakan invers DCT (IDCT) untuk melakukan dekompresi citra sehingga citra dapat
ditampilkan.
2.5 Matlab (Matrix Laboratory)
Matlab merupakan program yang digunakan untuk analisis dan komputasi numerik
dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk
dengan dasar pemikiran menggunkan sifat dan bentuk matriks, Matlab sering
digunakan untuk melakukan teknik komputasi numerik, yang digunakan untuk
menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik,
optimasi, aproksimasi dan lain – lain.
Universitas Sumatera Utara
25
Matlab merupakan software yang dikembangkan oleh Mathworks.Inc. dan
merupakan software yang paling efisien untuk perhitungan numeric berbasis matriks.
Dengan demikian jika di dalam perhitungan kita dapat menformulasikan masalah ke
dalam format matriks maka Matlab merupakan software terbaik untuk penyelesaian
numericnya. Pada penelitian ini, topik yang diangkat berhubungan dengan pengolahan
citra, dimana citra tersusun dari matrik yang terdiri dari piksel – piksel penyusunnya.
Matlab menyediakan beberapa fungsi yang dapat membantu penulis dalam melakukan
pengoperasian pada citra yang perhitungannya sulit diterjemahkan ke dalam bahasa
pemrograman.
2.6 Pengukuran Kualitas Citra
Terdapat beberapa parameter yang dapat digunakan untuk mengukur kualitas sebuah
citra. Antara lain adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio
(PSNR).
2.6.1 MSE (Mean Square Error)
MSE merupakan rata-rata kuadrat nilai kesalahan antara citra asli dengan citra hasil
pengolahan [10]. Semakin besar tingkat penurunan MSE kualitas citra menjadi
semakin baik. MSE dirumuskan sebagai berikut:
------------------- 2.7
Dimana :
m,n
: adalah ukuran matrik citra mxn
B1, B2 : adalah matrik citra
Universitas Sumatera Utara
26
2.6.2 PSNR (Peak Signal to Noise Ratio)
PSNR merupakan nilai perbandingan antara harga maksimum warna pada citra hasil
filtering dengan kuantitas gangguan (noise) [10], semakin tinggi peningkatan PSNR
yang dihasilkan kualitas citra menjadi semakin baik. PSNR dinyatakan dalam satuan
desibel (dB). PSNR dirumuskan sebagai berikut :
------------------- 2.8
Universitas Sumatera Utara
LANDASAN TEORI
2.1 Pengenalan Citra
Citra merupakan representasi (gambaran) dari sebuah objek nyata yang dihasilkan
oleh alat digital. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat
optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada
monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media
penyimpan [9]. Karakteristik dari citra yang tidak dimiliki oleh data teks adalah citra
kaya akan informasi karena dapat menyampaikan informasi yang imajinatif (dapat
dihayalkan).
2.1.1 Citra Analog
Citra analog merupakan citra yang bersifat kontinu. Citra analog ini tidak dapat
langsung diproses dalam komputer, sehingga citra analog perlu proses konversi analog
ke digital terlebih dahulu. Hal ini disebabkan karena citra analog yang terdiri dari
sinyal – sinyal elektromagnetik yang tidak dapat dibedakan sehingga citra ini sulit
ditentukan ukurannya. Contoh dari citra analog ini seperti citra tampilan pada televisi
atau monitor, gambar – gambar atau lukisan, foto yang dicetak dikertas, dan lain
sebagainya.
2.1.2 Citra Digital
Citra digital merupakan sebuah larik (array) yang berisi nilai – nilai real maupun
kompleks yang direpresentasikan dengan deretan bit – bit tertentu [6]. Sebuah citra
digital dihasilkan melalui proses digitalisasi pada citra kontinu. Digitalisasi citra
Universitas Sumatera Utara
8
merupakan representasi dari fungsi – fungsi kontinu menjadi nilai – nilai diskrit,
sehingga disebut sebagai citra digital.
Citra kontinu dinyatakan dengan presisi angka tak terhingga, sedangkan citra
diskrit dinyatakan dengan presisi angka terhingga. Karena komputer bekerja dengan
angka-angka presisi terhingga, maka hanya citra dari kelas diskrit (citra digital) saja
yang dapat diolah dengan komputer.
Suatu citra dapat didefinisikan sebagai fungsi f(x) berukuran MxN dimana M
adalah baris dan N adalah kolom, dengan x dan y adalah koordinat spasial, dan
amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari
citra pada titik tersebut. Citra digital ditulis dalam bentuk matrik sebagai berikut.
Contoh dari sebuah citra digital dapat dilihat pada gambar 2.1
Gambar 2.1 Contoh Citra Digital dan Matrik penyusunnya
Universitas Sumatera Utara
9
Citra digital terbagi atas 2 jenis, yaitu:
1.
Tipe Raster
Citra raster merupakan citra yang terdiri atas persegi – persegi kecil yang memiliki
warna tersendiri. Citra raster sering disebut sebagai bitmap. Tampilan raster mampu
menunjukkan kehalusan gradasi warna dan bayangan dari sebuah gambar, oleh sebab
itu tipe raster merupakan media elektronik yang paling tepat untuk gambar-gambar
dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.
Gambar raster sangat tergantung dengan resolusinya, karena setiap gambar
mempunyai jumlah piksel yang pasti. Artinya sebuah gambar akan sangat tergantung
dari jumlah piksel yang membentuknya. Apabila dilakukan pembesaran ukuran
gambar dengan resolusi kecil, maka gambar akan kehilangan detil dan akan terlihat
kotak-kotak piksel yang berundak (jagged). Beberapa format raster antara lain adalah
JPEG, GIF, BMP, PNG dan ICO. Contoh tipe raster dilihat pada gambar 2.2 berikut.
Gambar 2.2 Contoh Citra Raster
2.
Tipe Vektor
Citra vektor merupakan citra yang terbentuk dari bangun – bangun geometri
sederhana seperti titik, garis lurus, garis lengkung, polygon (segi banyak). Gambar
vektor menggabungkan titik dan garis untuk menjadi sebuah objek, sehingga gambar
tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar Bitmap.
Universitas Sumatera Utara
10
Beberapa format gambar vektor antara lain adalah CGM, SVG, SWF. Contoh tipe
vektor dilihat pada gambar 2.3 berikut.
Gambar 2.3 Contoh Citra Vektor
2.1.3 J enis Citra
Sebuah citra terdiri atas piksel – piksel penyusunnya, dimana nilai suatu piksel sebuah
citra memiliki nilai dalam suatu rentang tertentu. Yaitu mulai dari nilai rentang
minimum hingga rentang nilai maksimum. Tetapi secara umum rentang nilai piksel
sebuah citra adalah 0 – 255. Berikut adalah jenis – jenis citra berdasarkan nilai
pikselnya[6].
2.1.3.1 Citra Biner
Citra biner merupakan citra digital yang hanya memiliki dua kemungkinan nilai piksel
yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white)
atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari
citra biner. Pada gambar 2.4 berikut adalah contoh dari citra biner.
Gambar 2.4 Citra Biner
Universitas Sumatera Utara
11
2.1.3.2 Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada
setiap piksel-nya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai
tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah
warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna
abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale
berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan). Contoh dari
citra grayscale dapat dilihat pada gambar 2.5 berikut.
Gambar 2.5 Citra Grayscale
2.1.3.3 Citra Warna (8 bit)
Setiap piksel dari citra warna (8 bit) hanya di wakili oleh 8 bit dengan jumlah warna
maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit.
Pertama, citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap
paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering
digunakan. Kedua, setiap piksel memiliki format 8 bit seperti tabel 2.1 berikut.
Tabel 2.1 Format bit citra 8 bit
Bit-7
Bit-6
Bit-5
Bit-4
Bit-3
Bit-2
Bit-1
Bit-0
R
R
R
G
G
G
B
B
Universitas Sumatera Utara
12
Contoh dari citra warna 8 bit dapat dilihat pada gambar 2.6 berikut.
Gambar 2.6 Citra 8 bit
2.1.3.4 Citra Warna (16 bit)
Citra warna 16 bit (biasanya disebut sebagai citra highcolor ) dengan setiap piksel-nya
diwakili dengan 2 byte memory (16 bit).Warna 16 Bit memiliki 65.536 warna. Dalam
formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri.
Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau
dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif terhadap warna
hijau. Berikut pada tabel 2.2 formasi bit citra 16 bit.
Tabel 2.2 Formasi bit citra 16 bit
Bit Bit Bit Bit Bit Bit Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
15
14
13
12
11
10
R
R
R
R
R
G
G
G
G
G
G
B
B
B
B
B
Universitas Sumatera Utara
13
Pada gambar 2.7 berikut adalah contoh dari citra warna 16 bit.
Gambar 2.7 Citra 16 bit
2.1.3.5 Citra Warna (24 bit)
Setiap piksel dari citra warna 24 bit diwakili dengan 24 bit sehingga total 16.777.216
variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh
warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya
dapat membedakan hingga 10 juta warna saja. Setiap poin informasi piksel (RGB)
disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti
dengan nilai Hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.
Contoh dari citra warna 24 bit dapat kita lihat pada gambar 2.8 berikut.
Gambar 2.8 Citra 24 bit
2.1.4 For mat File Citra
Secara umum format file citra yang standar digunakan terdiri atas beberapa jenis.
Format – format ini digunakan dalam menyimpan citra dalam sebuah file, dan setiap
Universitas Sumatera Utara
14
format memiliki karakteristik masing – masing. Beberapa format yang umum
digunakan adalah bitmap, tagged image format(.tif), portable network graphics(.png),
jpeg, mpeg, graphics interchange format(.gif), dan lain sebagainya. Dalam penelitian
ini jenis file yang akan dibahas adalah bitmap(BMP).
2.1.4.1 Format File Citra Bitmap (BMP)
Format file BMP merupakan format penyimpanan standar tanpa kompresi yang umum
dapat digunakan untuk menyimpan citra biner hingga citra warna [6]. Pada format
BMP, citra disimpan sebagai matrik yang tiap elemennya digunakan untuk
menyimpan informasi warna untuk setiap piksel. Susunan bit – bit warna pada citra
BMP membentuk pola tertentu yang menyajikan informasi yang dapat dipahami
sesuai dengan persepsi penglihatan manusia. Citra BMP mampu menyimpan
informasi dengan kualitas mulai dari 1 bit hingga 24 bit. Citra dalam format BMP
lebih bagus dari pada citra dalam format JPG, karena pada umumnya citra BMP tidak
dimampatkan sehingga tidak ada informasi yang hilang. Citra BMP cocok digunakan
untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya
maupun warnanya, seperti foto, lukisan, dan frame video.
Citra dalam format BMP mudah untuk dibuka dan disimpan, tetapi ada
beberapa hal yang harus dicermati yaitu :
1
Format file BMP menyimpan datanya secara terbalik, yaitu dari bawah keatas.
2
Citra dengan ukuran warna 8 bit, lebar citra harus kelipatan dari 4 bila tidak
maka pada saat penyimpanan akan ditambahkan beberapa byte pada data
hingga merupakan kelipatan dari 4.
3
Citra dengan ukuran warna 24 bit, urutan penyimpanan 3 wrna dasar adalah
red, green, blue (RGB).
4
Ukuran file BMP bisa sangat besar hingga Megabytes.
Universitas Sumatera Utara
15
2.2 Noise
Noise merupakan gangguan yang disebabkan oleh menyimpangnya data digital yang
diterima oleh alat penerima gambar yang dapat mengganggu kualitas citra. Gangguan
pada citra umumnya berupa variasi intensitas suatu piksel yang tidak berkorelasi
dengan piksel – piksel tetangganya [12]. Jenis noise yang dibahas pada penelitian ini
adalah salt and pepper noise dan speckle noise.
2.2.1 Salt and Pepper Noise
Salt and pepper noise merupakan noise yang terlihat seperti titik – titik hitam dan
putih pada sebuah citra menyerupai tebaran garam dan merica. Salt and pepper noise
disebabkan karena terjadinya error bit dalam pengiriman data, piksel – piksel yang
tidak berfungsi dan kerusakan pada lokasi memori [8]. Untuk menguji sebuah metode
agar dapat mereduksi noise, maka noise dapat dihasilkan dengan cara membangkitkan
noise tersebut, hal ini sering disebut dengan noise generator.
Gambar 2.9 Citra sebelum
terkena salt and pepper noise
Gambar 2.10 Citra setelah terkena salt
and pepper noise
Adapun cara untuk membangkitkan salt and pepper noise adalah dengan cara
membangkitkan bilangan 255 (warna putih) pada titik –titik yang secara probabilitas
noise, dan dirumuskan dengan:
Universitas Sumatera Utara
16
f (x,y) = 0 jika p (x,y) 1 – Prob.Noise/2
Dimana :
f(x,y) : adalah nilai piksel citra pada titik (x,y)
p(x,y) : adalah probabilitas acak
2.2.2 Speckle Noise
Speckle noise merupakan jenis noise yang memberikan warna hitam pada titik yang
terkena noise.
Gambar 2.11 Citra sebelum
terkena speckle noise
Gambar 2.12 Citra setelah
terkena speckle noise
Noise ini dibangkitkan dengan cara membangkitkan bilangan 0(warna hitam)
pada titik – titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan
dirumuskan dengan :
f (x,y) = 0 jika p (x,y) > n2 , maka CR
∞ dan R
D
>1, berarti cukup banyak redundansi dalam
gambar asli.
3. Jika n1 0 dan RD
∞ menunjukkan bahwa citra dikompresi
mengandung data berlebihan sangat tinggi.
Universitas Sumatera Utara
22
2.4.4 Kompresi J PEG (Joint Photographic Experts Group)
Algoritma kompresi yang telah dikembangkan dan diterapkan pada teknologi
informasi dan komunikasi multimedia saat ini adalah algoritma JPEG untuk kompresi
citra [7]. Kompresi JPEG termasuk jenis kompresi yang bersifat lossy. Tujuan dari
kompresi gambar JPEG sederhana yaitu untuk menyimpan data yang diperlukan guna
merekonstruksi citra digital menggunakan ruang sesekecil mungkin dengan tetap
menjaga detail visual sehingga menyimpan gambar mendekati sebenarnya [5].
Adapun kelebihan yang dimiliki oleh JPEG antara lain:
1. JPEG mampu memampatkan citra hingga kedalaman 24 bit (16,7 juta warna)
dengan kecepatan yang standar sehingga hasil yang maksimal dari sebuah
gambar dapat diperoleh.
2. JPEG memanfaatkan pola pada citra untuk mereduksi informasi pada citra
yang tidak memberikan dampak yang mempengaruhi kualitas citra.
3. JPEG mampu memampatkan citra grayscale hingga warna seperti RGB,
CMYK.
Tahapan kompresi JPEG [1]:
1. Encoding JPEG, Pada proses penyandian terdapat beberapa langkah seperti
berikut.
a. Konversi warna RGB
YCbCr
b. Downsampling, merupakan proses pengurangan pada komponen Cb dan Cr.
c. Block Splitting, pada proses ini citra dibagi menjadi 8x8 blok setelah proses
downsampling.
d. Proses DCT, merupakan proses transformasi citra dari domain spasial ke
domain frekuensi yang mampu memisahkan informasi mulai pada frekuensi
rendah hingga frekuensi tinggi, sehingga hal ini memungkinkan untuk
Universitas Sumatera Utara
23
memampatkan jumlah bit dalam setiap piksel melalui pengurangan atau
penghilangan detil informasi (frekuensi tinggi).
e. Kuantisasi, merupakan proses pembagian setiap nilai piksel hasil DCT
dengan setiap nilai konstanta elemen matrik kuantisasi, dimana nilai-nilai
setiap elemen matrik tersebut menentukan kualitas hasil kompresi. Pada
proses ini dilakukan pembersihan koefisien DCT yang tidak penting untuk
pembentukan image baru. Hal ini yang menyebabkan JPEG bersifat lossy.
f. Entropy Coding, merupakan proses penggunaan algoritma entropy seperti
Huffman Coding untuk mengkodekan koefisien hasil proses DCT yang akan
mengeliminasi nilai – nilai matrik yang bernilai nol secara zig – zag order.
2. Decoding JPEG, proses menguraikan kode untuk menampilkan citra yang
dilakukan dengan invers dari proses encoding JPEG yaitu Huffman decoding,
dekuantisasi, invers DCT, konversi YCbCr
RGB.
Diagram kompresi dari metode JPEG dapat dilihat pada gambar 2.13 .
Quant izer
Ent ropi Encoder
Quant izer
Table
Gambar 2.13 JPEG Encoder Block Diagram
Dalam proses penyandian JPEG pada Gambar 2.14, citra masukan dibentuk ke
dalam blok 8×8, dan tiap-tiap blok diubah dengan DCT maju (FDCT) menjadi satu set
64 nilai yang disebut koefisien DCT. Satu dari nilai-nilai ini adalah koefisien DC dan
selebihnya adalah koefisien AC. Tiap-tiap nilai koefisien DCT kemudian dikuantisasi
menggunakan satu dari 64 nilai yang saling berhubungan dari sebuah tabel kuantisasi.
Koefisien-koefisien yang telah dikuantisasi kemudian diproses dengan penyandian
Universitas Sumatera Utara
24
entropi. Salah satu dari dua prosedur pengkodean entropi yang dapat digunakan yaitu
dengan penyandian Huffman atau penyandian Aritmetika.
Sebuah data yang telah mengalami proses kompresi/pemampatan tentunya
harus dapat dikembalikan lagi kebentuk aslinya, walaupun tidak semua citra hasil
kompresi yang didekompresi akan memiliki hasil yang sama persis dengan citra
awal/asli, hal itu bergantung pada jenis kompresi yang digunakan. Gambar 2.14
berikut adalah diagram proses decoder JPEG.
Ent ropi Decoder
Dequant izer
Quant izer
Table
Gambar 2.14 JPEG Decoder Block Diagram
Pada proses rekonstruksi yang ditunjukkan Gambar 2.14, citra yang
terkompresi menggunakan standar JPEG yaitu melalui proses terbalik. Jika pada
proses kompresi menggunakan DCT maju (FDCT), pada proses rekonstruksi
digunakan invers DCT (IDCT) untuk melakukan dekompresi citra sehingga citra dapat
ditampilkan.
2.5 Matlab (Matrix Laboratory)
Matlab merupakan program yang digunakan untuk analisis dan komputasi numerik
dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk
dengan dasar pemikiran menggunkan sifat dan bentuk matriks, Matlab sering
digunakan untuk melakukan teknik komputasi numerik, yang digunakan untuk
menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik,
optimasi, aproksimasi dan lain – lain.
Universitas Sumatera Utara
25
Matlab merupakan software yang dikembangkan oleh Mathworks.Inc. dan
merupakan software yang paling efisien untuk perhitungan numeric berbasis matriks.
Dengan demikian jika di dalam perhitungan kita dapat menformulasikan masalah ke
dalam format matriks maka Matlab merupakan software terbaik untuk penyelesaian
numericnya. Pada penelitian ini, topik yang diangkat berhubungan dengan pengolahan
citra, dimana citra tersusun dari matrik yang terdiri dari piksel – piksel penyusunnya.
Matlab menyediakan beberapa fungsi yang dapat membantu penulis dalam melakukan
pengoperasian pada citra yang perhitungannya sulit diterjemahkan ke dalam bahasa
pemrograman.
2.6 Pengukuran Kualitas Citra
Terdapat beberapa parameter yang dapat digunakan untuk mengukur kualitas sebuah
citra. Antara lain adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio
(PSNR).
2.6.1 MSE (Mean Square Error)
MSE merupakan rata-rata kuadrat nilai kesalahan antara citra asli dengan citra hasil
pengolahan [10]. Semakin besar tingkat penurunan MSE kualitas citra menjadi
semakin baik. MSE dirumuskan sebagai berikut:
------------------- 2.7
Dimana :
m,n
: adalah ukuran matrik citra mxn
B1, B2 : adalah matrik citra
Universitas Sumatera Utara
26
2.6.2 PSNR (Peak Signal to Noise Ratio)
PSNR merupakan nilai perbandingan antara harga maksimum warna pada citra hasil
filtering dengan kuantitas gangguan (noise) [10], semakin tinggi peningkatan PSNR
yang dihasilkan kualitas citra menjadi semakin baik. PSNR dinyatakan dalam satuan
desibel (dB). PSNR dirumuskan sebagai berikut :
------------------- 2.8
Universitas Sumatera Utara