8
BAB 2 LANDASAN TEORI
2.1.
Pengertian citra Citra (image) menurut Schalkoff (1989, p9) adalah fungsi dua dimensi yang
dihasilkan dari penglihatan (viewing) suatu pemandangan, yang biasanya disebut dengan gambar (picture). Definisi lain dari citra adalah kumpulan piksel-piksel yang disusun dalam larik dua-dimensi, indeks baris dan kolom (x,y) dari sebuah piksel dinyatakan dalam bilangan bulat (Ahmad, 2005, p14). Dari uraian diatas dapat disimpulkan, bahwa membahas tentang citra tidak terlepas dari piksel-piksel yang membentuk grafis tertentu, yang merupakan bagian dari sistem visual buatan.
2.2.
Definisi Komputer grafik Menurut Xiang (2001, p1), komputer grafik adalah ilmu yang mempelajari
tentang dasar-dasar penerapan ilmu penggambaran dalam sebuah komputer. Komputer Grafik melalui pemrograman grafik menghasilkan citra dari bentuk geometri yang primitif seperti titik, garis lurus, garis lengkung, lingkaran dan bentukbentuk dasar geometri lainnya.(Ahmad, 2005, p5).
2.2.1. Definisi Piksel Piksel adalah sampel dari pemandangan yang mengandung intensitas citra yang dinyatakan dalam bilangan bulat (Ahmad, 2005, p14). Pengertian lain
9 dari piksel adalah satuan pemetaan terkecil yang terlihat dalam suatu layar monitor dan masing-masing titik dalam komputer grafik dapat diwakili oleh satu atau lebih piksel yang digambarkan ke bidang layar monitor (Xiang, 2001, p6).
2.2.2. Resolusi layar monitor Resolusi layar monitor yang berbeda-beda memiliki arti tertentu dan mempengaruhi tampilan gambar yang dihasilkan (Xiang, 2001, p9). Untuk resolusi layar 1024 x 768 berarti resolusi layar itu memiliki lebar 1024 dan tinggi 768, nilai dari lebar satu pixelnya adalah lebar monitor dibagi dengan 1024 dan nilai dari tinggi satu pixelnya adalah tinggi monitor dibagi dengan 768. Didalam sebuah pixel sebuah monitor terdapat : 1. Dua buah bilangan bulat (integer) yang menunjukkan koordinat suatu pixel. Koordinat (0,0) digunakan untuk menunjukkan posisi kiri dari monitor dan koordinat (m-1,n-1) digunakan untuk menunjukkan posisi kanan bawah dari monitor. 2. Sebuah nilai bilangan bulat bulat (integer) untuk menunjukkan cahaya atau keadaan terang-gelap suatu piksel. Nilai 0 untuk menunjukkan warna hitam dan nilai 255 untuk menunjukkan warna putih, tingkat intensitas abu-abu berada diantara 0-255.
10 2.2.3. Model warna Model warna RGB (red,green,blue) adalah model formal untuk menampilkan warna-warna pada monitor komputer, kartu grafik komputer, televisi, dan sistem display lainnya (Ahmad, 2005, p265). Model warna RGB mengandung warna merah, hijau, dan biru (warna pokok) dan dikenal dengan sistem pewarnaan additif, yaitu warna yang dihasilkan dengan menggabungkan intensitas warna dasar. Sebagai contoh yang ekstrim: warna hitam pada monitor dihasilkan oleh pencampuran intensitas minimum semua warna dasar, dan warna putih adalah pencampuran maksimum intensitas seluruh warna dasar RGB. Model warna CMY(K) mengandung warna Cyan, Magenta, dan Yellow. Model warna CMY(K) adalah sebuah model warna subtraktif yang digunakan pada mesin printer. Sebagai contoh ekstrim: warna hitam yang akan ditampilkan ke dalam kertas dengan printer adalah campuran maksimum dari cyan, magenta dan yellow, sedangkan warna putih pada kertas adalah pengurangan ke tiga campuran warna tersebut, atau dengan tidak mencetaknya sama sekali (pada kertas berwarna putih). Model warna HSI (Hue,Saturation,Intensity) adalah model yang berdasarkan atas jumlah efek abu-abu yang dihasilkan kombinasi warna RGB maupun CMY(K). HSI memiliki intensitas warna dari 0-240 dimana nilai 240 adalah nilai dimana sama sekali tidak ada unsur abu-abu dalam warna (warna tersaturasi penuh) (Ahmad, 2005, p265). Hue mewakili kemerahan, kehijauan, kebiruan warna dari suatu obyek. Saturation intensitas dari hue yang berhubungan dengan kecerahan maupun kesuraman. Nilai gelap atau terang dari suatu warna tergantung dari banyak maupun
11 sedikit unsur kelabu. Semakin banyak unsur kelabu maka warna tersebut akan semakin suram dan semakin sedikit unsur kelabu maka warna tersebut akan semakin terang. Intensty adalah banyaknya warna putih yang ditambahkan ke dalam warna. Semakin tinggi intensity, maka warna tersebut akan mendekati warna putih sedangkan apabila intesitynya rendah maka warna tersebut akan mendekati warna hitam. Ketiga model warna diatas sangat sering disinggung dalam model warna, tetapi dari ketiga warna diatas ternyata masih ada model warna YCbCr. Model warna YCbCr mengandung satu buah Luminasi(Y) dan dua komponen kromasiti(Cb dan Cr). Model warna ini digunakan dalam siaran gelombang televisi (Ahmad, 2005, p265).
2.3.
Definisi Sistem visual buatan Sistem visual buatan atau vision system (computer vision) adalah suatu sistem
yang mempunyai kemampuan untuk menganalisis obyek secara visual, setelah data obyek yang bersangkutan dimasukkan dalam bentuk citra (image) (Ahmad, 2005, p2). Dari uraian diatas, dapat disimpulkan bahwa sistem visual buatan mengerjakan hal kebalikan dari komputer grafik. Dimana dalam sistem visual buatan menduga bentuk geometri primitif dan ciri lainnya yang merupakan penyederhanaan dari citra asal yang sifatnya lebih komplek.
12 2.4.
Definisi Pemandangan dan Digital Image Pemandangan adalah kumpulan objek tiga dimensi dengan beberapa pengaturan
geometris. (Schalkoff, 1989, p9). Digital image adalah kumpulan dari bilangan-bilangan real dan kompleks yang diwakilkan dalam jumlah bit yang terbatas. (Jain, 1989, p1).
2.5.
Definisi JPEG, PPM (Portable Pixmap) dan RGBA JPEG, adalah ukuran kompresi untuk citra dengan tingkat intensitas berwarna
maupun citra dengan tingkat intensitas keabu-abuan (Andleigh dan Thakrar, 1995, p41). Dari uraian diatas dapat disimpulkan bahwa JPEG merupakan file yang tergolong Lossy. Umumnya file-file hasil keluaran dari kamera disimpan dalam tipe JPEG, karena file hasil kompresan JPEG ini memberikan hasil citra yang berkualitas cukup baik disamping dapat menyimpannya dalam ukuran yang relatif kecil untuk citra berwarna maupun citra dengan intensitas keabu-abuan. Metoda kompresi data lossy adalah metoda mengkompres data dan kemudian mengdekompresnya yang mengakibatkan perubahan dari aslinya, tetapi memiliki ukuran yang kecil dari yang aslinya. Kompresi data lossless digunakan ketika ingin mengkompress sebuah data yang identik dengan data aslinya. PPM (Portable Pixmap) adalah tipe file untuk citra berwarna. Struktur dari PPM adalah sebagai berikut: 1. Sebuah “magic number” untuk menunjukkan tipe file. Magic number untuk sebuah file ppm adalah dua karakter. Sebagai contoh “P6”.
13 2. Area putih (biasa diisi dengan kosong, TAB, Enter, Spasi ). 3. Sebuah lebar , bentuk karakter ASCII dalam desimal. 4. Area putih. 5. Sebuah tinggi, dalam desimal ASCII. 6. Nilai maksimum dari komponen warna, dalam desimal ASCII. 7. Area putih. 8. Data citra (Image data). Banyaknya nilai pixel dari lebar * tinggi suatu yang dinyatakan dalam RGB. RGBA ruang warna untuk warna merah, hijau, dan biru (Red, Green, Blue). Dimana Alpha adalah channel transparansi. Dari definisi diatas, dapat disimpulkan bahwa file RGBA meliputi empat buah saluran (channel).
2.6.
Definisi Image processing atau pengolahan citra Segala proses yang digunakan untuk mengolah citra dikenal dengan image
processing. Adapun istilah pengolahan citra menurut Ahmad (2005, p4), image processing atau pengolahan citra adalah bidang tersendiri yang sudah cukup berkembang sejak orang mengerti bahwa komputer tidak hanya dapat menangani data teks, tetapi juga data citra. Bidang-bidang yang termasuk didalam image processing meliputi penajaman citra, penonjolan fitur tertentu dari suatu citra, kompresi citra dan koreksi citra yang tidak fokus atau kabur.
14 Digital image processing adalah istilah untuk memproses gambar (picture) dua dimensi oleh komputer digital (Jain,1989,p1).
2.6.1. Macam-macam noise Noise adalah gangguan pada citra sehingga citra tidak dapat langsung diproses, atau setidaknya akan menimbulkan masalah akurasi bila langsung diproses dan diekstrak fitur-fitur pentingnya (Ahmad, p59). Menurut Ahmad (2005, p59), beberapa jenis noise yang umum dijumpai adalah salt and papper, impulse, dan Gaussian. 1. Salt and papper noise mengandung piksel-piksel intensitas gelap dan terang yang bersifat acak sehingga dapat mengotori obyek maupun latar belakang. 2. Impulse noise hanya mengandung piksel-piksel intensitas terang yang juga bersifat acak sehingga akan mengotori obyek saja atau latar belakang saja, tergantung pada bagian mana dari keduanya yang berintensitas lebih terang. 3. Gaussian noise sangat baik digunakan sebagai model untuk banyak jenis noise yang disebabkan keterbatasan sensor seperti noise yang muncul dari penggunaan kamera elektronik, karena mempunyai sifat sebaran noise yang unik dan dikenal dengan sebaran Gaussian.
15 2.6.2. Perbaikan citra (Image restoration) Pada saat sebuah citra ditangkap oleh kamera, umumnya belum dapat langsung digunakan sebagaimana diinginkan karena kualitasnya belum memenuhi standar. Citra yang dihasilkan umumnya memiliki variasi intensitas yang kurang seragam akibat pencahayaan yang tidak merata, atau lemah dalam kontras sehingga obyek tidak dapat dibedakan dengan latar belakangnya melalui operasi binerisasi karena terlalu banyak noise (gangguan atau distorsi dari citra), dan lain sebagainya. Dapat dikatakan bahwa citra yang demikian memiliki kualitas yang masih rendah, baik oleh karena adanya noise, maupun oleh sebab lainnya seperti tingginya rendahnya intensitas yang tidak sesuai dengan obyek aslinya.
2.6.2.1. Definisi Thresholding atau binerisasi Thresholding atau binerisasi yaitu pengelompokkan piksel-piksel dalam citra berdasarkan batas nilai intensitas tertentu adalah salah satu dari operasi tingkat titik (Ahmad, p16). Dari uraian diatas dapat disimpulkan bahwa operasi binerisasi tidak tergantung pada piksel-piksel tetangganya.
2.6.2.2. Definisi tetangga Obyek terdiri dari beberapa, bahkan banyak sekali piksel yang saling bersambungan/terkoneksi. Dalam citra digital, sebuah piksel mempunyai empat piksel tetangga yang bersentuhan sisi dan empat piksel
16 tetangga lainnya yang bersentuhan sudut. Jadi suatu piksel, asalkan ia tidak terletak di tepi bingkai citra, dapat dikatakan mempunyai empat piksel tetangga atau delapan piksel tetangga, tergantung pada definisi piksel tetangga yang kita gunakan. Dengan demikian dua buah piksel dikatakan terkoneksi 4-tetangga bila salah satu sisinya bersentuhan atau dikatakan terkoneksi 8-tetangga bila salah satu sudutnya bersentuhan (Ahmad, p115).
2.6.2.3. Karakteristik tepi Sebuah titik yang merupakan milik tepi suatu obyek dalam sebuah citra adalah sebuah titik dimana terdapat perubahan lokal yang jelas dalam intensitas citra, biasanya berhubungan dengan diskontinuitas intensitas citra atau fungsi turunan pertama dari intensitas citra,dalam lingkungan dimana titik tersebut berada (Ahmad, p190). Diskontinuitas intensitas citra dapat merupakan: 1. Diskontinuitas langkah, dimana intensitas citra berubah secara tiba-tiba dari satu nilai pada satu sisi ke nilai yang berbeda pada sisi lainnya. 2. Diskontinuitas garis, dimana intensitas citra berubah secara tibatiba tetapi kembali ke nilai semula dalam jarak yang relatif pendek. Tetapi kedua diskontinuitas baik langkah maupun garis jarang ditemukan. Itu dikarenakan kebanyakan peralatan sensor (termasuk kamera dan alat-alat pemindai) menerapkan filter frekuensi rendah atau
17 metoda penghalusan dalam pengambilan citra, sehingga perbedaan yang tajam dalam intensitas jarang muncul dalam citra yang direkam karena intensitas yang direkam sudah mengalami proses pengolahan awal oleh perangkat keras. Proses pengolahan awal ini mengubah intensitas sebagian piksel-piksel penyusun citra, akibatnya diskontinuitas langkah berubah menjadi diskontinuitas landai (karena membentuk kemiringan yang landai), dan diskontinuitas garis berubah menjadi diskontinuitas atap (karena bentuknya mirip atap rumah), dimana perubahan intensitas tidak lagi secara mendadak, tetapi muncul dalam jarak tertentu atau berdegradasi. Sebuah titik tepi adalah sebuah titik dengan koordinat (x,y) pada lokasi yang intensitasnya berubah secara lokal dan berbeda nyata (Ahmad, p192). Sebuah potongan garis tepi berkorespondensi dengan koordinat x dan y dari sebuah tepi dengan arah sudut ө yang merupakan sudut gradien. Detektor tepi adalah sebuah algoritma yang menghasilkan sebuah set dari tepi (titik tepi atau potongan garis tepi) dari sebuah obyek di dalam citra (Ahmad, p193).
2.6.2.4. Gradien Menurut Ahmad (2005, p194), gradien adalah hasil pengukuran perubahan dalam sebuah fungsi intensitas, dan sebuah citra dapat
18 dipandang sebagai kumpulan beberapa fungsi intensitas kontinyu dari citra. Dari definisi diatas dapat disimpulkan bahwa gradien berfungsi untuk melacak tepi pada perubahan intensitas lokal yang berbeda nyata dalam sebuah bidang citra. 1. Operator Robert Pada operator Robert digunakan jendela 2x2 untuk perhitungan gradien.
Gx=
1
0
0
-1
0
-1
1
0
Gy=
G[ f ( x, y )] = f (x, y ) − f ( x + 1, y + 1) + f ( x, y + 1) − f ( x + 1, y
Dengan
f(x,y),f(x+1,y),f(x,y+1),f(x+1,y+1)
menunjukkan
piksel dari citra (Ahmad, p200-201). 2. Operator Sobel Pada operator Sobel digunakan jendela 3x3 untuk perhitungan gradien, sehingga perkiraan gradien tepat di tengah jendela.
19 P1
P2
P3
P8
(x,y)
P4
P7
P6
P5
P1 sampai dengan P8 menunjukkan nilai dari piksel citra. Rumusan yang digunakan pada operator Sobel adalah: s x = ( p 3 + cp 4 + p 5 ) − ( p1 + cp8 + p 7 )
s y = ( p1 + cp 2 + p 3 ) − ( p 7 + cp 6 + p 5 ) Dengan c suatu konstanta bernilai 2(Usman Ahmad, p202203). Dari uraian diatas berarti pada operator Sobel melibatkan 8 tetangga untuk perhitungan gradiennya. 3. Operator Prewitt Operator Prewitt menggunakan persamaan yang sama dengan operator Sobel, hanya berbeda konstantanya. Pada operator Prewitt, digunakan konstanta c yang bernilai 1.
Sx=
Sy=
-1
0
1
-1
0
1
-1
0
1
1
1
1
0
0
0
-1
-1
-1
20 S [ f ( x, y )] = Sx + Sy
2.6.2.5. Metoda Interpolasi Linear
Gambar 2.1. analisa titik-titik pada metoda interpolasi linear
Persamaan untuk gambar diatas adalah:
y − y0 x − x0 = y1 − y 0 x1 − x 0 Gradien dari gambar diatas adalah: m=
y1 − y 0 x1 − x0
Metoda interpolasi menerapkan persamaan diatas untuk mencari nilai interpolasinya. Rumus interpolasi adalah:
y = y 0 + m( x − x0)
y = y0 +
( y1 − y 0) (x − x0) x1 − x0
21 2.7.
Langkah-langkah yang digunakan dalam Penghalusan
1. Bentuklah citra mask (bayangan) yang memiliki warna RGB yang diperoleh dari perkalian penjumlahan gradient Sobel. Gradient Sobel diperoleh dari RGB citra yang akan diperbaiki sebagai inputan. Citra baru yang akan terbentuk memiliki rumusan: 2 ⎛k π G ( x, y, k baru ) = ∑ cos⎜ baru 0 ⎝ 180 k =0
•
− 1)π ⎞ ⎛ (k ⎟ sx( x, y, k ) 2 + cos⎜ baru 0 180 ⎠ ⎝
− 2)π ⎞ ⎛ (k ⎟ sx( x, y, k ) sy ( x, y, k ) + cos⎜ baru 0 180 ⎠ ⎝
⎞ ⎟ sy ( x, y, k ) 2 ⎠
Untuk warna merah ( kbaru =0) 2
G ( x, y,0) = ∑ sx( x, y, k ) 2 k =0
•
Untuk warna hijau ( kbaru =1) 2
G ( x, y,1) = ∑ sx( x, y, k ) * sy ( x, y, k ) k =0
•
Untuk warna biru ( kbaru =2) 2
G ( x, y,2) = ∑ sy ( x, y, k ) 2 k =0
2. Dari citra mask (bayangan) hasil proses pertama, dilakukan penghalusan dengan Canny-Deriche secara sumbu x maupun sumbu y dengan rumusan: •
Untuk sumbu x:
Proses forward: Y0 = A0 * img (0, y, k ) Y1 = g 0 * img (1, y, k ) + A1 * img (0, y, k )
Y2 = a1 * img (2, y, k ) + a 2 * img (0, y, k ) + b1 * Y1 + b 2 * Y0 Untuk nilai Y dari n=3 sampai dengan lebar-1 dari pixel img
22 Yn = a1 * img (n, y, k ) + a 2 * img (n − 1, y, k ) + b1 * Yn−1 + b2 * Yn−2 Setelah semua nilai Yn didapatkan, maka lakukan proses backward: Untuk nilai n=lebar-1 Z n = A1 * img (n, y, k ) img (n, y, k ) = Yn + Z n Untuk nilai n=lebar-2 Z n = A1 * img (n + 1, y, k ) img (n, y, k ) = Yn + Z n Untuk nilai n=lebar-3 sampai dengan nilai n=0 Z n = a3 * img (n + 1, y, k ) + a 4 * img (n + 2, y, k ) + b1 * Z n+1 + b2 * Z n+ 2 img ( x, y, k ) = Yn + Z n Lakukan proses diatas untuk y=0 sampai dengan lebar-1 dan k=0 sampai dengan 3. •
Untuk sumbu y :
Proses forward: Y0 = A0 * img ( x,0, k ) Y1 = g 0 * img ( x,1, k ) + A1 * img ( x,0, k )
Y2 = a1 * img ( x,2, k ) + a 2 * img ( x,0, k ) + b1 * Y1 + b2 * Y0 Untuk nilai Y dari n=3 sampai dengan tinggi-1 dari pixel im Yn = a1 * img ( x, n, k ) + a 2 * img ( x, n − 1, k ) + b1 * Yn−1 + b2 * Yn−2 Setelah semua nilai Yn didapatkan, maka lakukan proses backward: Untuk nilai n=tinggi-1
23 Z n = A1 * img ( x, n, k ) img (n, y, k ) = Yn + Z n Untuk nilai n=tinggi-2 Z n = A1 * img ( x, n + 1, k ) img (n, y, k ) = Yn + Z n Untuk nilai n=tinggi-3 sampai dengan nilai n=0 Z n = a3 * img ( x, n + 1, k ) + a 4 * img ( x, n + 2, k ) + b1 * Z n+1 + b2 * Z n+ 2 img ( x, y, k ) = Yn + Z n Lakukan proses diatas untuk x=0 sampai dengan tinggi-1 dan k=0 sampai dengan3. Dengan a1 =
(1 − e −α ) 2 , 1 + 2αe −α − e −2α
A1 =
a1 * (α * e −α + e −α − 1) , g 0 = a1 , A0 = go + A1 (e −α − 1) 2
a 2 = a1 * e −α * (α − 1) ,
a3 = a1 * e −α * (α + 1) ,
a 4 = a1 * e −2α ,
Dengan nilai: α = 3.39 3. Dari citra mask (bayangan) hasil proses kedua, bentuklah citra baru dengan menggunakan rumus: •
Untuk warna merah:
T ( x, y,0) = l1 * (ux) 2 + l 2 * (uy ) 2 •
Untuk warna hijau:
T ( x, y,1) = l1 * ux * uy − l 2 * ux * uy •
Untuk warna biru:
T ( x, y,2) = l1 * (uy ) 2 + l 2 * (ux) 2
24 Dimana : l1 =
1 (1 + val 0 + val1) 0.5
l2 =
1 (1 + val 0 + val1) 0.9
ux = cos θ 2
uy = sin θ 2
θ 2 = arctan(
val1 − R ) G
⎛ R G⎞ ⎟⎟ Matrix A= ⎜⎜ ⎝G B ⎠ R=nilai piksel merah data citra mask (bayangan) hasil proses kedua G=nilai piksel hijau data citra mask (bayangan) hasil proses kedua B=nilai piksel biru data citra mask (bayangan) hasil proses kedua val 0 = nilai karakteristik eigen dari MatrixA
(
= 0.5 * ( R + B) + ( R + B) 2 − 4( RB − G 2 )
)
val1 = nilai karakteristik eigen dari MatrixA
(
= 0.5 * ( R + B) − ( R + B) 2 − 4( RB − G 2 )
)
4. Dari citra mask (bayangan) hasil proses ketiga, bentuklah citra baru dengan menggunakan rumus: F ( x, y, k ) = a * Ixx + 2b * Ixy + c * Iyy Dimana: a=nilai piksel merah citra bayangan hasil proses ketiga b=nilai piksel hijau citra bayangan hasil proses ketiga c=nilai piksel biru citra bayangan hasil proses ketiga
25 P1
P2
P3
P8
(x,y,k)
P4
P7
P6
P5
P1 sampai dengan P8 menunjukkan nilai dari pixel
Ixx = P 4 + P8 − 2 * ( x, y, k ) Iyy = P 2 + P6 − 2 * ( x, y, k ) Ixy =
1 ( P1 + P5 − P7 − P3) 4
k merupakan saluran RGB dari citra. Warna merah bernilai 0, warna hijau bernilai 1, warna biru bernilai 2. 5. Piksel baru yang akan terbentuk ditentukan dengan rumus: img ( x, y, k ) = img ( x, y, k ) + F ( x, y, k ) *
20 maks(abs ( F ( x, y, k )))
maks(F(x,y,k))= adalah nilai piksel maksimum dari citra mask(bayangan) hasil proses keempat. 6. Nilai dari maksimum dari img(x,y,k) yang baru tidak boleh lebih dari nilai maksimum img(x,y,k) mula-mula dan nilai minimum dari img(x,y,k) yang baru tidak boleh kurang dari nilai minimum img(x,y,k) mula-mula. 7. Ulangi langkah tersebut sampai mencapai hasil yang diinginkan.