Rangkuman BAB III CITRA DIGITAL
1. Akuisisi Citra
Suatu objek mendapatkan pencahayaan dari sumber cahaya tertentu. Posisi sumber cahaya menentukan juga hasil citra yang didapat. Pantulan cahaya dari objek di luar kamera akan diproyeksikan menjadi terbalik oleh lensa pada sensor didalam kamera.
A. Sampling
Citra natural sesungguhnya adalah gambaran nyata dari objek yang kita rekam. Misalkan suatu citra pegunungan yang menggambarkan gunung-gunung yang benar-benar ada di dunia nyata. Citra nyata tersebut bisa direpresentasikan kedalam bentuk fungsi kontinu f(x,y). Proses untuk mendigitalisasi suatu fungsi kontinu menjadi fungsi diskrit disebut sebagai sampling. Pada umumnya perangkat akuisisi citra, seperti kamera digital, piksel diwakili oleh rata-rata dari sinyal di area tertentu dari sebuah pemandangan dihadapan kamera. Hasil sampling ditentunkan oleh geometri dari elemen sensor dari perangkat akuisisi, jumlah piksel atau resolusi yang digunakan. Semakin bagus resolusinya maka semakin presisi suatu citra didigitalisasikan.
B. Kuantisasi
Dalam rangka untuk menyimpan dan memproses nilai-nilai gambar di komputer mereka umumnya dikonversi ke rentang nilai bilangan bulat (misalnya, 256 28 atau 4096212). Namun kadang kala skala bilangan desimal pun digunakan seperti dalam aplikasi pencitraan medis. Konversi dilakukan dengan menggunakan pengubah sinyal analog ke digital, yang biasanya tertanam didalam sensor elektronik. Pada umumnya proses kuantisasi dilakukan dengan menurunkan jumlah variasi tingkat keabuan.
2. Jenis Citra
A. Citra Berwarna
Citra berwarna adalah citra yang memiliki 3 buah kanal warna di dalamnya. Pada umumnya jenis citra ini terbentuk dari komponen merah/red (R), hijau/green (G), dan biru/blue (B) yang dimodelkan kedalam ruang warna RGB. RGB adalah standar yang digunakan untuk menampilkan citra berwarna pada layar televisi maupun layar komputer. Namun terdapat juga citra berwarna yang menggunakan ruang warna yang berbeda, seperti CMYK (Cyan, Magenta, Yellow, Black), HSV (Hue, Saturation, Value), YCbCr (Luma, Chroma blue, Chroma red), dan Lab (L*a*b*). Berikut ini contoh dari citra berwarna.
Citra berwarna atau true color image sering juga disebut dengan 24-bit color image karena untuk setiap nilai pikselnya memerlukan penyimpanan sebesar 24-bit. Masing-masing piksel dalam setiap kanal memiliki kemungkinan nilai sebanyak 256 kemungkinan, yakni dengan nilai diantara 0255. Hal tersebut membuktikan bahwa untuk setiap piksel pada satu kanal memerlukan 8-bit data. Karena citra berwarna memiliki 3 buah kanal, maka untuk satu piksel pada citra berwarna memerlukan 3 x 8-bit 24-bit. Maka dari itu citra berwarna disebut sebagai 24-bit color image. Dengan kombinasi warna yang ada, maka citra berwarna memiliki kemungkinan sebanyak 256 x 256 x 256 224 16.777.216 variasi warna.
B. Citra Berwarna dengan Transparansi
Seiring dengan berkembangnya dunia desain grafis, maka semakin diperlukannya sebuah fitur baru dalam citra berwarna yaitu citra berwarna dengan transparansi. Citra berwarna dengan transparansi biasanya digunakan untuk menghilangkan bagian background dari objek dalam sebuah citra. Pada umumnya jenis citra ini terbentuk dari komponen RGB dan Alpha (A) yang dimodelkan kedalam ruang warna RGBA. Alpha atau transparansi akan disimpan kedalam satu kanal tambahan pada citra berwarna, sehingga total kanal yang digunakan sebanyak 4 kanal, yakni 3 kanal warna dan 1 kanal transparansi. Oleh karena itu, citra berwarna dengan transparansi biasanya memiliki ukuran file yang lebih besar. Citra berwarna dengan transparansi disebut juga sebagai 32-bit color image karena untuk setiap nilai pikselnya memerlukan penyimpanan sebesar 32-bit
C. Citra Grayscale
Citra grayscale adalah citra yang hanya memiliki 1 buah kanal sehingga yang ditampilkan hanyalah nilai intensitas atau dikenal juga dengan istilah derajat keabuan. Karena jenis citra ini hanya memiliki 1 kanal saja, maka citra grayscale memiliki tempat penyimpanan yang lebih hemat. Jenis citra ini disebut juga sebagai 8-bit image karena untuk setiap nilai pikselnya memerlukan penyimpanan sebesar 8-bit. Foto hitam putih maupun gambar yang ditampilkan oleh televisi hitam putih sebenarnya menggunakan citra grayscale, bukan dalam warna hitam dan warna putih. Namun dikalangan masyarakat istilah foto hitam putih maupun televisi hitam putih sudah terbiasa digunakan dalam kehidupan sehari-hari. Gambar menunjukan perbedaan antara citra berwarna dengan citra grayscale.
Secara teori ada beberapa cara dalam mengonvensi citra berwarna RGB ke dalaam citra grayscale. Cara yang paling mudah adalah dengan merata-ratakan semua nilai piksel RGB sesuai dengan persamaan (3-1) berikut.
Namun hasil konversi yang diberikan dengan menggunakan persamaan (3-1) tidak terlalu bagus. Untuk mendapatkan hasil konversi yang lebih baik, persamaan (3-2) berikut dapat digunakan.
D. Citra Biner
Citra biner atau citra hitam putih (black and white image) adalah citra yang hanya memiliki 2 kemungkinan nilai untuk setiap pikselnya, yaitu o atau 1. Nilai o akan tampil sebagai warna hitam sedangkan nilai 1 akan tampil sebagai warna putih. Maka dari itu, jenis citra ini hanya membutuhkan 1-bit untuk menyimpan nilai pada setiap pikselnya. Jenis citra ini sering digunakan untuk proses masking ataupun proses segmentasi citra. Gambar menunjukan perbedaan antara citra berwarna dengan citra grayscale.
Untuk mendapatkan suatu citra biner maka kita membutuhkan citra grayscale yang dilakukan thresholding terhadapnya berdasarkan nilai ambang batas (threshold) yang ditentukan. Jika nilai piksel pada citra grayscale melebihi atau menyamai nilai threshold, maka nilai piksel tersebut dikonversi menjadi 1. Namun jika nilai piksel kurang dari nilai threshold, maka nilai piksel tersebut dikonversi menjadi o. Proses konversi ini secara sederhana dapat ditulis menggunakan persamaan (3-3) berikut.
5. Citra Terindeks
Citra terindeks (indexed image) adalah citra berwarna yang mana dalam penyimpanannya dilakukan mekanisme yang berbeda. Jika citra berwarna biasa yang disimpan dalam setiap pikselnya adalah nilai piksel dengan rentang o 255 untuk ketiga kanalnya, di dalam indexed image yang disimpan untuk setiap piksel hanyalah satu nilai yang merupakan indeks dari piksel tersebut. Pada saat indexed image tersebut dibuka, maka indeks itu akan dicocokan dengan sebuah Look Up Table (LUT) dan akan mengeluarkan 3 nilai (R, G, dan B) yang kemudian akan ditampilkan ke layar. Intinya, dengan mekanisme ini dari yang seharusnya ada 3 nilai yang harus disimpan untuk masing-masing pikselnya, sekarang cukup satu nilai saja yang disimpan yaitu nilai indeksnya. Berikut ini adalah ilustrasi dari mekanisme indexed image.
Mekanisme ini cukup baik untuk citra-citra natural dengan karakteristik yang berfrekuensi tinggi. Sedangkan untuk citra-citra artifisial yang memiliki gradasi tinggi, mekanisme ini memberikan hasil yang kurang baik karena akan menghasilkan efek anak tangga
3. Format File Citra
A. Perbandingan Citra Bitmap dan Citra Vektor
Dalam citra digital, citra dibagi menjadi dua jenis yaitu citra bitmap dan citra vektor. Citra bitmap disebut juga dengan raster adalah sekumpulan kotak-kotak kecil yang pada citra digital disebut piksel. Setiap kotak-kotak kecil ini memiliki lokasi serta warna tersendiri yang jika disatukan akan membentuk sebuah gambar.
Citra vektor merupakan gambar yang terbentuk dari unsur garis dan kurva secara matematis dari berbagai titik. Karena bukan terdiri dari titik maka apabila gambar vektor diperbesar tetap tidak akan kehilangan detailnya. Berikut adalah perbedaan antara citra bitmap dan citra vektor:
Untuk lebih jelasnya perbedaaan citar bitmap dan citra vektor ketika diperbesar yaitu pada Gambar disamping.
B. Struktur Data File Citra
Secara umum, struktur data dari file citra dibagi menjadi 3 bagian, yakni header, colormap, dan data. Pada bagian header terdapat berbagai informasi sebagai berikut :
Tipe citra
Dimensi citra
Dimensi fisik citra (dalam cm atau mm)
Model sample
Model warna
Tabel warna (opsional)
Link ke nilai-nilai piksel yang ada pada bagian data
Infromasi tambahan seperti :
Kondisi pengambilan citra
Tanggal pengambilan citra
Informasi mengenai indeks
Komentar tentang citra
Nama author
C. Ekstensi File Citra
Untuk menyimpan citra dalam file, maka ada beberapa format file yang bisa digunakan. Berikut ini beberapa format file yang umum digunakan.
PNG (Portable Network Graphics)
JPEG (Joint Photographic Expert Group)
TIFF (Tagged Image File Format)
SVG (Scalable Vector Graphics)
GIF (Graphics Interchange Format)
BMP (Bitmap File Format)
Masing-masing file format memiliki karakteristik yang berbeda, yakni sebagai berikut:
PNG (diucapkan "ping") pada awalnya dikembangkan sebagai pengganti format file GIF karena paten LZW telah berakhir. Format PNG lebih baik dibandingkan GIF dibanyak hal, kecuali kemampuan GIF membuat animasi sederhana.
JPEG digunakan untuk citra dengan ukuran file kecil namun tetap memberikan kualitas yang cukup bagus.
JPEG-2000 dirancangan untuk menutupi kekurangan dari format JPEG, yaitu dengan menggunakan blok yang lebih besar (64 X 64 piksel) dan penggantian discrete cosine transform dengan wavelet transform.
TIFF sering digunakan untuk menyimpan data tanpa kompresi. Ukurannya menjadi relatif besar namun memberikan kualitas yang maksimal.
SVG sering digunakan untuk menyimpan citra dalam bentuk vektor dua dimensi yang disimpan menggunakan format XML, sehingga
memudahkan untuk dicari maupun diindeks. Gambar dengan format SVG bersifat scalable dan zoomable, sedangkan teks yang berada dalam format SVG bersifat selectable dan searchable.
Graphics Interchange Format (GIF) pada awalnya dirancang oleh CompuServe pada tahun 1986.
Windows Bitmap (BMP) adalah format yang sederhana yang mendukung citra grayscale, citra terindeks, dan citra true color. Biasanya didapatkan sebagai file mentah hasil akuisisi citra menggunakan kamera digital. Ukuran file BMP biasanya sangat besar.
D. Penanda pada Header File Citra
E. Kanal Citra
Pada citra berwarna maka citra memiliki kanal sesuai dengan ruang warna yang digunakan. Jika kita menggunakan citra dengan ruang warna СМУК, maka kanal pada citra tersebut memiliki 4 buah kanal, yakni cyan (C), magenta (M), yellow (Y), dan black (K). Ruang warna yang sering
digunakan adalah RGB, CMYK, HSV, YCbCr, dan Lab. Berikut ini penjelasan setiap kanal pada masing-masing ruang warna yang digunakan.a. Grayscal
Citra grayscale hanya memiliki satu kanal warna, sehingga sering kali juga disebut citra monochrome. Masing-masing piksel memerlukan 8-bit data dengan rentang nilai 0255. Citra ini juga sering disebut citra 8-bit.
b. RGB (Red, Green, Blue)
Ruang warna RGB memiliki 3 buah kanal, yakni kanal red, kanal green, dan kanal blue. Kanal red merepresentasikan intensitas warna merah pada citra, kanal green merepresentasikan intensitas warna hijau pada citra, sedangkan kanal blue merepresentasikan intensitas warna biru pada citra. Rentang nilai pada masing-masing kanal dari o 255
c. CMYK (Cyan, Magenta, Yellow, Black)
Ruang warna CMYK memiliki 4 buah kanal, yakni kanal cyan, kanal magenta, kanal yellow, dan kanal black. Kanal cyan merepresentasikan intensitas warna cyan pada citra, kanal magenta merepresentasikan intensitas warna magenta pada citra, kanal yellow merepresentasikan intensitas warna kuning pada citra, sedangkan kanal blue merepresentasikan intensitas warna biru pada citra. Rentang nilai pada masing-masing kanal dari o 100%.
d. HSV (Hue, Saturation, Value)
Ruang warna HSV memiliki 3 buah kanal, yakni kanal hue, kanal saturation, dan kanal value. Kanal hue merepresentasikan jenis warna, kanal saturation merepresentasikan tingkat kepucatan warna, sedangkan kanal value merepresentasikan tingkat kecerahan warna. Rentang kanal hue dari o 360°, sedangkan rentang kanal saturation dan value dari o 100%.
e. YCbCr (Luma, Chroma blue, Chroma red)
Ruang warna YCbCr memiliki 3 buah kanal, yakni kanal luma, kanal chroma blue, dan kanal chroma red. Kanal luma (luminance) merepresentasikan intensitas cahaya, kanal chroma blue merepresentasikan komponen selisih kroma biru, sedangkan kanal chorma red merepresentasikan komponen selisih kroma merah. Rentang nilai pada masing-masing kanal dari o 255.
f. Lab (L*a*b*)
Ruang warna Lab (L*a*b*) memiliki 3 buah kanal, yakni kanal lightness, kanal a, dan kanal b. Kanal lightness (L*) merepresentasikan intensitas cahaya, kanal a (a*) merepresentasikan warna antara merah dan hijau, sedangkan kanal b (b*) merepresentasikan warna antara kuning dan biru. Rentang kanal lightness dari o 100%, sedangkan rentang kanal a dan b dari (-128)-(+127).
g. Citra berwarna dengan transparansi
Citra berwarna true color terdiri dari 3 kanal, sedangkan citra berwarna dengan transparansi terdiri dari 4 kanal. Kanal yang ke-empat adalah kanal yang menyimpan nilai transparansi tersebut.
F. Ukuran/Dimensi dan Resolusi Citra
Ukuran/dimensi citra akan didefinisikan dengan format lebar (width) x tinggi (height) dengan satuan piksel (px). Apabila lebar citra dikalikan dengan tinggi citra, maka jumlah hasil perkalian merupakan banyak piksel yang terdapat pada citra tersebut. Berikut ini contoh sebuah citra dengan resolusi yang berbeda.
Resolusi citra menunjukan dimensi spasial citra di dunia nyata. Contohnya pada dunia percetakan kita menemukan satuan resolusi dots per inch (dpi) atau lines per inch (lpi). Pada citra satelit kita menemukan satuan resolusi piksel per kilometer. Dibawah ini adalah ilustrasi dimana sebuah citra dengan dimensi sama namun resolusi berbeda. Terlihat bahwa gambar original (Gambar 3-19 (a)) terlihat begitu tajam. Namun ketika resolusi rendah maka gambar akan terlihat kabur (Gambar 3-19(c)).
G. Ukuran File Citra
Ukuran file citra akan tergantung dengan jenis citra yang digunakan. Jenis citra grayscale akan memiliki ukuran file lebih kecil bila dibandingkan dengan citra berwarna. Sedangkan jenis citra berwarna akan memiliki ukuran file lebih kecil bila dibandingkan dengan citra berwarna dengan transparansi. Berikut ini contoh perbandingan ukuran file pada setiap jenis, citra yang setiap pikselnya bernilai dengan rentang 0255 (8 bit). Perlu diingat juga bahwa 8 bit = 1 byte.
a. Sebuah citra grayscale dengan resolusi 320 x 240 piksel akan memiliki ukuran file sebesar 320 x 240 x 1 kanal x 8 bit = 614.400 bit = 76.800 byte.
b. Sebuah citra berwarna RGB dengan resolusi 320 x 240 piksel akan memiliki ukuran file sebesar 320 x 240 x 3 kanal x 1 byte = 230.400 byte.
c. Sebuah citra berwarna dengan transparansi dengan resolusi 320 x 240 piksel akan memiliki ukuran file sebesar 320 x 240 x 4 kanal x 1 byte = 307.200 byte.
Ukuran tersebut adalah ukuran file citra mentah (raw). Besar ukurannya pun bisa sedikit berbeda dengan ukuran file faktual karena faktualnya file citra juga menyimpan header, colormap, tag, dll. Sesuai dengen jenis atasnya.
H. Membaca Citra dari File
Untuk membaca citra dari suatu file, maka fungsi MATLAB yang bisa digunakan adalah fungsi imread. Untuk menggunakan fungsi imread maka parameter yang dimasukan adalah nama file dari citra diikuti dengan ekstensi file. File dari citra yang akan dibaca biasanya disimpan pada directory default yakni C:\Users\[nama komputer]\Documents\MATLAB. Apabila file citra yang akan dibaca tidak disimpan pada directory default, maka parameter yang dimasukan adalah directory dari file citra diikuti dengan nama file beserta ekstensi file-nya.
I. Menampilkan Citra ke Layar
Untuk dapat menampilkan citra ke layar, maka fungsi MATLAB yang bisa diguanakan adalah fungsi imshow. Berikut ini adalah contoh untuk menampilkan sebuah citra ke layar.
J. Menyimpan Citra ke dalam File
Untuk dapat menyimpan citra kedalam file, maka fungsi MATLAB yang bisa digunakan adalah fungsi imwrite. Untuk menggunakan fungsi imwrite maka parameter yang dimasukan adalah nama file dari citra diikuti dengan ekstensi file. Secara defaut citra akan tersimpan pada directory C:\Users\[nama komputer]\Documents\MATLAB. Apabila kita ingin menyimpan citra di luar dari directory default, maka kita harus menyertakan lokasinya. Parameter masukan untuk fungsi imwrite menjadi: directory file citra yang akan disimpan diikuti dengan nama file beserta ekstensi file-nya.
4. Hubungan Antarpiksel pada Citra
A. Ketetanggaan
Ketetanggaan antarpiksel pada citra terdiri dari 2 jenis, yakni 4-ketetanggaan dan 8-ketetanggaan. Pada 4-ketetanggaan, tetangga yang berhubungan adalah piksel tetangga secara horizontal dan vertikal, sedangkan pada 8-ketetanggaan, tetangga yang berhubungan adalah piksel tetangga secara horizontal, vertikal, dan diagonal, atau dengan kata lain tetangga di sekeliling piksel. Gambar 3-6 menunjukan ilustrasi dari 4-ketetanggaan dan 8-ketetanggaan.
B. Jarak Antarpiksel
Dalam mengetahui jarak antarpiksel, terdapat 3 cara untuk mengetahuinya, yakni dengan menggunakan jarak Euclidean, jarak d_{4} city-block), dan jarak da (checkboard). Berikut contohnya