Bab I 1.1. Latar Belakang Bidang pengolahan citra dimulai pada awal tahun 1921 ditandai dengan keberhasilan sebuah foto ditransmisikan secara digital melalui kabel laut dari kota New York ke kota London. (Bartlane Cable Picture Transmission System). Keuntungan utama yang dirasakan pada waktu itu adalah pengurangan waktu pengiriman foto dari sekitar 1 minggu menjadi kurang dari 3 jam. Foto tersebut dikirim dalam bentuk kode digital, selanjutnya diubah kembali oleh suatu printer telegraph pada sisi penerimanya. Masalah yang muncul pada saat itu berkisar pada teknik transmisi data secara digital serta teknik reproduksi pada sisi penerima untuk mendapatkan satu resolusi gambar yang baik. Walaupun minat dalam bidang ini telah dimulai sejak tahun 1921, perkembangan secara pesat baru tercatat pada sekitar tahun 1960, pada saat teknologi komputer telah sanggup memenuhi suatu kecepatan proses serta kapasitas memori yang dibutuhkan oleh berbagai algoritma pengolahan citra. Sejak itulah berbagai jenis aplikasi mulai dikembangkan, sehingga tujuan dari pengolahan citra adalah : 1. Memperbaiki kualitas citra, sehingga dapat lebih mudah diinterpretasi oleh mata manusia. Gambar 1.2(a) memperlihatkan citra burung nuri yang agak gelap sedang gambar 1.2(b) memperlihatkan citra yang sama tetapi dengan kontras yang telah diperbaiki.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Bab I
1.1. Latar Belakang
Bidang pengolahan citra dimulai pada awal tahun 1921 ditandai dengan keberhasilan sebuah foto ditransmisikan secara digital melalui kabel laut darikota New York ke kota London. (Bartlane Cable Picture Transmission System).
Keuntungan utama yang dirasakan pada waktu itu adalah pengurangan waktu pengiriman foto dari sekitar 1 minggu menjadi kurang dari 3 jam. Foto tersebutdikirim dalam bentuk kode digital, selanjutnya diubah kembali oleh suatu printer telegraph pada sisi penerimanya. Masalah yang muncul pada saat itu berkisar pada teknik transmisi data secara digital serta teknik reproduksipada sisi penerima untuk mendapatkan satu resolusi gambar yang baik.
Walaupun minat dalam bidang ini telah dimulai sejak tahun 1921, perkembangan secara pesat baru tercatat pada sekitar tahun 1960, pada saat teknologi komputer telah sanggup memenuhi suatu kecepatan proses serta kapasitas memori yang dibutuhkan oleh berbagai algoritma pengolahan citra.
Sejak itulah berbagai jenis aplikasi mulai dikembangkan, sehingga tujuan dari pengolahan citra adalah :
1. Memperbaiki kualitas citra, sehingga dapat lebih mudah diinterpretasi oleh mata manusia. Gambar 1.2(a) memperlihatkan citra burung nuri yang agak gelap sedang gambar 1.2(b) memperlihatkan citra yang sama tetapi dengan kontras yang telah diperbaiki.
(a) (b)
Gambar 1.2. (a) Citra burung nuri yang agak gelap. (b) Citra burung yang telahdiperbaiki kontrasnya sehingga terlihat jelas dan tajam.
1. Mengolah informasi yang terdapat pada suatu citra untuk keperluan pengenalan objek secara otomatis oleh suatu mesin. Bidang aplikasi ini sangat erat hubungannya dengan ilmu pengenalan pola yang umumnya bertujuan mengenali suatu objek dengan cara mengekstraksi informasi penting yang terdapat dalam suatu citra. Gambar 1.3. memperlihatkan citra karakter ‘A’ yang digunakan sebagai masukan untuk pengenalan pola huruf A.
Gambar 1.3. Citra karakter ‘A’ yang digunakan sebagai masukan untuk pengenalanhuruf.
Dari contoh-contoh seperti pada Gambar 1.1, Gambar 1.2 dan Gambar 1.3 terlihatbahwa teknik pengolahan citra dapat dimanfaatkan dalam berbagai bidang. Berikut ini akan dikemukakan beberapa contoh aplikasi bidang ini di berbagai disiplin ilmu.
1. Bidang perdagangan
Sistem untuk pembacaan kode batang (bar code) yang tertera pada barang (umumnyadigunakan di pasar swalayan) dan sistem untuk mengenali huruf/angka pada suatuformulir secara otomatis.
1. Bidang militer
Sistem untuk mengenali sasaran peluru kendali melalui sensor visual dan sistemuntuk mengidentifikasi jenis pesawat musuh.
1. Bidang kedokteran
Sistem untuk mendeteksi diagnose kelainan dalam tubuh manusia melalui citra yang dihasilkan oleh suatu scanner.
1. Bidang biologi
Sistem untuk pengenalan jenis kromosom melalui gambar mikroskopik
1. Bidang agrikultur
Sistem untuk mengenal jenis lahan pertanian melalui citra LANDSAT atau foto udara.
1. Bidang lingkungan hidup
Sistem untuk mendeteksi tingkat polusi udara melalui gambar LANDSAT.
1. Bidang komunikasi data Sistem untuk mereduksi data.
1. Bidang hiburan
Sistem untuk pemampatan video (MPEG)
1. Bidang robotika
Sistem untuk navigasi pergerakan robot secara visual (visually-guided autonomous navigation)
1. Bidang pemetaan
Sistem klasifikasi penggunaan tanah melalui foto udara atau radar.
1. Bidang geologi
Sistem pengenalan jenis batu-batuan melalui foto udara/LANDSAT.
1. Bidang hukum
Sistem pengenalan sidik jari melalui sensor visual dan sistem pengenalan foto narapidana.
Masih banyak lagi jenis aplikasi lainnya yang tidak mungkin semuanya disebutkan disini. Keikutsertaan berbagai disiplin ilmu dalam kegiatan pengolahan citra dimulai dari pembentukan model matematik suatu objek sampai dengan teknik analisis dan teknik klasifikasi berbagai jenis objek.
1.2. Pengolahan Citra
Citra (image) sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra memiliki karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi
“sebuah gambar bermakna lebih dari seribu kata” (a picture is more than a thousand
words). Maksudnya tentu sebuah gambar dapat memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam bentuk kata-kata (tekstual).
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan
sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang.
Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing).
Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik.
Umumnya,operasi-operasi padapengolahan
citra
diterapkan
pada citra bila:
1. perbaikan atau memodifikasi citra
perlu
dilakukan
untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra,
1. elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
1. sebagian citra perlu digabung dengan bagian citra yang lain.
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data citra, namun tujuan ketiganya berbeda, yaitu :
1. Grafika Komputer (computer graphics)
1. Pengolahan Citra (image processing)
1. Pengenalan Pola (pattern recognition/image interpretationGrafika Komputer bertujuan menghasilkan citra (lebih tepat disebut grafik atau picture) dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya. Primitif-primitif geometri tersebut memerlukan data deskriptifuntuk melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dan sebagainya.Grafika komputer memainkan peranan penting dalam visualisasi dan virtual reality.
Contoh grafika komputer misalnya menggambar sebuah ‘rumah’ yang dibentuk oleh garis-garis lurus, dengan data masukan berupa koordinat awal dan koordinat ujung garis
Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknikpengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannyaadalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image compression).
Pengubahan kontras citra seperti pada Gambar 1.2 adalah contoh operasi pengolahan citra. Contoh operasi pengolahan citra lainnya adalah penghilangan derau (noise) pada citra Lena (Gambar 1.6). Citra Lena yang di sebelah kiri mengandung derau berupa bintik-bintik putih (derau). Dengan operasi penapisan (filtering), derau pada citra masukan ini dapat dikurangi sehingga dihasilkan citra Lena yang kualitasnya lebih baik.
Pengenalan Pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra.
Contoh pengenalan pola misalnya citra pada Gambar 1.3 adalah tulisan tangan yang digunakan sebagai data masukan untuk mengenali karakter ‘A’. Dengan menggunakan suatu algoritma pengenalan pola, diharapkan komputer dapat mengenali bahwa karakter tersebut adalah ‘A’.
1.3. Computer Vision dan Hubungannya dengan Pengolahan Citra
Terminologi lain yang berkaitan erat dengan pengolahan citra adalah computer vision atau machine vision. Pada hakikatnya, computer vision mencoba meniru cara kerja sistem visual manusia (human vision). Human vision sesungguhnya sangat kompleks. Manusia melihat objek dengan indera penglihatan (mata), lalu citra objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam pandangan matanya. Hasil interpretasi ini mungkin digunakan untuk pengambilan keputusan (misalnya menghindar kalau melihat mobilmelaju di depan).
Computer vision merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, klasifikasi, pengenalan (recognition), dan membuat keputusan.
Computer vision terdiri dari teknik-teknik untuk mengest imasi ciri-ciri objek di dalam citra, pengukuran ciri yang berkaitan dengan geometri objek, dan menginterpretasi informasi geometri tersebut. Mungkin berguna bagi anda untuk mengingat persamaan berikut:
Vision = Geometry + Measurement + Interpretation
Proses-proses di dalam computer vision dapat dibagi menjadi tiga aktivitas:
1. Memperoleh atau mengakuisisi citra digital
1. Melakukan teknik komputasi untuk memproses atau memodifikasi data citra (operasi-operasi pengolahan citra)
1. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesanuntuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan, memantau proses manufaktur, dan lain-lain.
Gambar 1.7 memperlihatkan klasifikasi proses-proses di dalam computer vision. Dari G a m b a r 1 . 7 dapat d i lihat bahwa pengolahan citra dan pengenalan pola merupakan bagian dari computer vision. Pengolahan citra merupakan proses awal (preprocessing) pada computer vision, sedangkan pengenalan pola merupakan proses untuk menginterpretasi citra. Teknik-teknik di dalam pengenalan pola memainkan peranan penting dalam computer vision untuk mengenali objek.
Jika dihubungkan dengan grafika komputer, maka computer vision merupakan kebalikannya. Grafika komputer membentuk (sintesis) citra, sedangkan computer visionmengoraknya (analisis). Pada masa awal kedua bidang ini, tidak ada hubungan antara keduanya, tetapi beberapa tahun belakangan kedua bidang tersebut berkembang semakin dekat. Computer vision menggunakan representasi kurva dan permukaan dan beberapa teknik lain dari grafika komputer, sedangkan grafika komputer menggunakan teknik -teknik di dalam computer vision untuk memuat citra realistik (virtual reality).
Bab 2
Pendahuluan
Citra ada dua macam: citra kontinu dan citra diskrit. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat :
1. Optik berupa foto.
1. Analog berupa sinyal video seperti gambar pada monitor televisi.
1. Digital yang dapat langsung disimpan pada suatu pita magnetik.
Sifat (1) dan (2) adalah citra kontinu, sifat (3) adalah citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga ia mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.Komputer digital yang umum dipakai saat ini hanya dapat mengolah citra digital.
2.2. Model Citra
Secara harafiah,citra (image) adalah gambar pada bidang dua dimensi, merupakanfungsi kontinu dari intensitas cahaya. Secara matematis fungsi intensitas cahaya pada bidang dua dimensi disimbolkan dengan f(x,y), yang dalam hal ini:
(x,y) : koordinat pada bidang dua dimensi
f(x,y) : intensitas cahaya (brightness) pada titik (x,y)
Gambar 2.1. Cara menentukan koordinat titik di dalam citra
Gambar 2.1 memperlihatkan posisi koordinat pada bidang citra. Sistem koordinatyang diacu adalah sistem koordinat kartesian, yang dalam hal ini sumbu mendatar menyatakan sumbu-X, dan sumbu tegak menyatakan sumbu-Y.
12
Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0 sampai tidak berhingga,
0 £ f(x,y) < ¥
Nilai f(x,y) sebenarnya adalah hasil kali dari :
1. i(x,y)= jumlah cahaya yang berasal dari sumbernya (illumination), nilainya antara 0 sampai tidak berhingga, dan
1. r(x,y)= derajat kemampuan objek memantulkan cahaya (reflection) nilainya antara 0 dan 1.
Gambar 2.2. Pembentukan Citra
Gambar 2.2 memperlihatkan proses pembentukan intensitas cahaya. Sumber cahaya menyinari permukaan objek. Jumlah pancaran (illuminasi) cahaya yang diterima objek pada koordinat (x,y) adalah i(x,y). Objek memantulkan cahaya yang diterimanyadengan derajat pantulan r(x,y). Hasil kali antara i(x,y) dan r(x,y) menyatakan intensitas cahaya pada koordinat (x,y) yang ditangkap oleh sensor visual pada sistem optik.
Jadi,
f(x,y) = i(x,y) . r(x,y)
yang dalam hal ini,
0 £ i(x, y) < ¥ 0 £ r(x, y) £ 1
sehingga
13
0 £ f(x,y) < ¥
Nilai i(x, y) ditentukan oleh sumber cahaya, sedangkan r(x, y) ditentukan oleh karakteristik objek di dalam gambar. Nilai r(x,y) = 0 mengindikasikan penerapan total, sedangkan r(x,y) = 1 menyatakan pemantulan total. Jika permukaan mempunyai derajat pemantulan nol, maka fungsi intensitas cahaya, f(x, y), juga nol. Sebaliknya, jika permukaan mempunyai derajat pemantulan 1, maka fungsi intensitas cahaya sama dengan iluminasi yang diterima oleh permukaan tersebut.
Contoh-contoh nilai i(x, y):
1.
pada hari cerah, matahari menghasilkan iluminasi i(x,y) sekitar 9000 foot
candles,
2.
pada
hari mendung (berawan), matahari menghasilkan iluminasi i(x,y) sekitar
1000 foot candles,
3.
pada
malam bulan purnama, sinar bulan menghasilkan iluminasi i(x,y)
sekitar 0.01 foot candle.
Contoh nilai r(x, y)
1. benda hitam mempunyai r(x, y) = 0.01,
1. dinding putih mempunyai r(x, y) = 0.8,
1. benda logam dari stainlessteel mempunyai r(x, y) = 0.65,
1. salju mempunyai r(x, y) = 0.93.
Intensitas
f dari gambar hitam
putih pada titik
(x,y) disebut
derajat keabuan
(grey level), yang dalam hal
ini
derajat keabuannya bergerak darihitam ke putih,
sedangkan
citranya disebut
citra hitam-putih (greyscale
image) atau citra
monokrom (monochrome image).
Derajat keabuan memiliki rentang nilai dari lmin sampai lmax, atau lmin < f < lmax
Selang (lmin, lmax) disebut skala keabuan.
Biasanya selang (lmin, lmax) sering digeser untuk alasan-alasan praktis menjadi selang [0, L], yang dalam hal ini nilai intensitas 0 menyatakan hitam, nilai intensitas Lmenyatakan putih, sedangkan nilai intensitas antara 0 sampai L bergeser dari hitam ke putih.
Sebagai contoh, citra hitam-putih dengan 256 level artinya mempunyai skala abu dari 0 sampai 255 atau [0, 255], yang dalam hal ini nilai intensitas 0
menyatakan hitam, nilai intensitas 255 menyatakan putih, dan nilai antara 0 sampai 255
14
menyatakan warna keabuan yang terletak antara hitam dan putih.
Citra hitam-
-putih disebut juga citra satu kanal, karena warnanya hanya ditentukan oleh satu fungsi intensitas saja. Citra berwarna (color images) dikenal dengan nama citra spektral, karena warna pada citra disusun oleh tiga komponen warna yang disebut komponen RGB, yaitu merah (red), hijau (green), dan biru (blue). Intensitas suatu titik pada citra berwarna merupakan kombinasi dari tiga intensitas: derajat keabuan merah (fmerah(x,y)), hijau (fhijau(x,y)), dan biru (fbiru(x,y)).
2.3. Digitalisasi Citra
Agar dapat diolah dengan dengan komputer digital, maka suatu citra harus direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi malar (kontinu) menjadi nilai-nilai diskrit disebut digitalisasi . Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk empat persegipanjang, dan dimensi ukurannya dinyatakan sebagai tinggi ´ lebar (atau lebar ´ panjang).
Citra digital yang tingginya N, lebarnya M, dan memiliki L derajat keabuan dapat dianggap sebagai fungsi :
ì0 £ x £ (M -1)
f (x, y) ïí0 £ y £ (N -1)
ï 0 £ f £ L
ï
î
Citra digital yang berukuran N ´ M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom sebagai berikut:
éf (0,0)
f (0,1)
f (0, M -1) ù
êêf (1,0)
f (1,1)
f (1, M -1)
ú
ú
f (x, y) » ê
ú
ê ú
ê f (N -1,0)f (N -1,1)
f (N -1, M -1)ú
ë û
Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i, j) merupakan intensitas (derajat keabuan) pada titik (i, j).
Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image element, picture element atau pixel atau pel. Jadi, citra yang berukuran N ´ Mmempunyai NM buah pixel. Sebagai contoh, misalkan sebuah berukuran 256 ´ 256 pixel dan direpresentasikan secara numerik dengan matriks yang terdiri dari 256 buah baris (di-indeks dari 0 sampai 255) dan 256 buah kolom (di-indeks dari 0
15
sampai 255) seperti contoh berikut:
é 0134
145
231ù
ê
ú
ê 0167
201
197ú
êê220187
189
120úú
ê
ú
ê ú
ê
ú
ê ú
ê221
219
210 156ú
ë û
Pixel pertama pada koordinat (0, 0) mempunyai nilai intensitas 0 yang berarti warna pixel tersebut hitam, pixel kedua pada koordinat (0, 1) mempunyai intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya.
Proses digitalisasi citra ada dua macam:
1. Digitalisasi spasial (x, y), sering disebut sebagai penerokan (sampling).
1. Digitalisasi intensitas f(x, y), sering disebut sebagai kuantisasi .
Penerokan
Citra kontinu diterok pada grid-grid yang berbentuk bujursangkar (kisi-kisi dalam arah horizontal dan vertikal). Perhatikan Gambar 2.3.
Terdapat perbedaan antara koordinat gambar (yang diterok) dengan koordinat matriks (hasil digitalisasi). Titik asal (0, 0) pada gambar dan elemen (0, 0) pada matriks tidak sama. Koordinat x dan y pada gambar dimulai dari sudut kiribawah, sedangkan penomoran pixel pada matriks dimulai dari sudut kiri atas (Gambar 2.4).
Dalam hal ini,
i = x , 0 £ i £ N – 1
16
j = (M – y) , 0 £ j £ M – 1
x = Dx/N i ncrement
y = Dy/M increment
N = jumlah maksimum pixel dalam satu baris
M = jumlah maksimum pixel dalam satu kolom
Dx = lebar gambar (dalam inchi)
Dy = tinggi gambar (dalam inchi)
Gambar 2.4. Hubungan antara elemen gambar dan elemen matriks
Catatan: beberapa referensi menggunakan (1,1) – ketimbang (0,0) – sebagai koordinat elemen pertama di dalam matriks.
Kuantisasi
Elemen (i, j) di dalam matriks menyatakan rata-rata intensitas cahaya pada areacitra yang direpresentasikan oleh pixel. Sebagai contoh, tinjau citra biner yang hanya mempunyai 2 derajat keabuan, 0 (hitam) dan 1 (putih). Sebuah gambaryang berukuran 10 ´ 10 inchi dinyatakan dalam matriks yang berukuran 5 ´ 4, yaitu lima baris dan 4 kolom. Tiap elemen gambar lebarnya 2.5 inchi dan tingginya 2 inci akan diis i dengan sebuah nilai bergantung pada rata-rata intensitas cahaya pada area tersebut (Gambar 2.5).
Area 2.5 ´ 2.0 inchi pada sudut kiri atas gambar dinyatakan dengan lokasi (0, 0) pada matriks 5 ´ 4 yang mengandung nilai 0 (yang berarti tidak ada intensitas cahaya). Area 2.5 ´ 2.0 inchi pada sudut kanan bawah gambar dinyatakan dengan lokasi (4, 3) pada matriks 5 ´ 4 yang mengandung nilai 1 (yang berarti iluminasi maksimum).
Untuk memudahkan implementasi, jumlah terokan biasanya diasumsikan
17
perpangkatan dari dua,
N = 2n
yang dalam hal ini,
N = jumlah penerokan pada suatu baris/kolom n = bilangan bulat positif
Gambar 2.5.(a)Gambar yang diterok,(b)Matriks yang merepresentasikan gambar
Pembagian gambar menjadi ukuran tertentu menentukan resolusi (yaitu derajat rincian yang dapat dilihat) spasial yang diperoleh. Semakin tinggi resolusinya, yang berarti semakin kecil ukuran pixel (atau semakin banyak jumlah pixel-nya), semakin halus gambar yang diperoleh karena informasi yang hilang akibat pengelompokan derajat keabuan pada penerokan semakin kecil.
Gambar 2.6 mempelihatkan efek perbedaan penerokan pada citra Lena, masing-masing 256 ´ 256, 128 ´ 128, 64 ´ 64, dan 32 ´ 32 pixel, seluruh citra mempunyai jumlah derajat keabuan sama, yaitu 256 buah. Karena area tampilan untuk keempat citra Lena pada Gambar 2.6 sama, (yaitu 256 ´ 256 pixel), maka pixel-pixel citra yang beresolusi rendah diduplikasi untuk mengisi seluruh bidang tampilan. Hal ini menghasilkan efek blok-blok yang sering diamati pada gambar beresolusi rendah pada umumnya.
Langkah
selanjutnya
setelah
proses penerokan adalah kuantisasi. Proses
kuantisasi membagi skala keabuan (0, L) menjadi G buahlevel yang dinyatakan
dengan
suatu harga
bilangan
bulat (integer), biasanya G diambil perpangkatan
dari 2,
G = 2m
18
yang dalam hal ini,
G = derajat keabuan
m = bilangan bulat positif
Skala KeabuanRentang Nilai Keabuan
Pixel Depth
2
1 (2 nilai) 0, 1 1 bit
2
2 (4 nilai) 0 sampai 3 2 bit
23 (8 nilai) 0 sampai 7 3 bit
28 (256 nilai) 0 sampai 255 8 bit
Hitam dinyatakan dengan nilai derajat keabuan terendah, yaitu 0, sedangkan putih dinyatakan dengan nilai derajat keabuan tertinggi, misalnya 15 untuk 16 level. Jumlah bit yang dibutuhkan untuk mereprentasikan nilai keabuan pixel disebut kedalaman pixel (pixel depth). Citra sering diasosiasikan dengan kedalaman pixel-nya. Jadi,
19
citra dengan kedalaman 8 bit disebut juga citra 8-bit (atau citra 256 warna)
Pada kebanyakan aplikasi, citra hitam-putih dikuantisasi pada 256 level dan membutuhkan 1 byte (8 bit) untuk representasi setiap pixel-nya (G = 256 = 28 ).
Citra biner (binary image) hanya dikuantisasi pada dua level: 0 dan 1. Tiap pixel pada citra biner cukup direpresentasikan dengan 1 bit, yang mana bit0 berarti htam dan bit 1 berarti putih.
Besarnya daerah derajat keabuan yang digunakan menentukan resolusi kecerahan dari gambar yang diperoleh. Sebagai contoh, jika digunakan 3 bit untuk menyimpan harga bilangan bulat, maka jumlah derajat keabuan yang diperoleh hanya 8, jika digunakan 4 bit, maka derajat keabuan yang diperoleh adalah 16 buah. Semakin banyak jumlah derajat keabuan (berarti jumlah bit kuantisasinya makin banyak), semakin bagus gambar yang diperoleh karena kemenerusan derajat keabuan akan semakin tinggi sehingga mendekati citra aslinya.
Gambar 2.7 mempelihatkan efek perbedaan kuantisasi citra Lena yang berukuran 256 ´ 256 pixel, masing-masing 256 level dan 128 level keabuan.
Penyimpanan citra digital yang diterok menjadi N ´ M buah pixel dan dikuantisasi menjadi G = 2m level derajat keabuan membutuhkan memori sebanyak
b = N ´ M ´ m
bit. Sebagai contoh, menyimpan citra Lena yang berukuran dengan 512 ´
512
pixel dengan 256 derajat keabuan membutuhkan memori sebesar 512 ´ 512
´8
bit = 2048.000 bit.
20
Secara keseluruhan, resolusi gambar ditentukan oleh N dan m. Makin tinggi nilai N
(atau M) dan m, maka citra yang dihasilkan
semakin bagus kualitasnya
(mendekati citra menerus). Untuk citra dengan
jumlah objek yang sedikit,
kualitas citra ditentukan oleh nilai m. Sedangkan untuk citra dengan jumlah objek yang banyak, kualitasnya ditentukan oleh N (atau M).
Seluruh tahapan proses digitalisasi (penerokan dan kuantisasi) di atas dikenalsebagai konversi analog-ke-digital, yang biasanya menyimpan hasil proses di dalam media penyimpanan.
Resolusi
Ada dua jenis resolusi yang perlu diketahui, yaitu resolusi spasial dan resolusi kecemerlangan. Resolusi spasial adalah ukuran halus atau kasarnya pembagian kisi-kisi baris dan kolom pada saat dilakukan sampling. Resolusi spasial dipakai untuk menentukan jumlah piksel per satuan panjang. Biasanya satuan resolusi ini adalah dpi (dot per inch). Resolusi ini sangat berpengaruh pada detail dan perhitungan gambarnya. Sebagai contoh, citra dengan resolusi 50 dpi, artinya 1 inch mempunyai 50 piksel dan bila luas citra 1 inch2 berarticitra tersebut mempunyai jumlah piksel 50´50 piksel. Bila ukuran citra diperbesar menjadi 10´10 inch2 maka jumlah pikselnya tetap 50´50, tetapi resolusinya berubah menjadi 50:10 = 5 dpi. Artinya 1 inch hanya diisi 5 piksel. Hal ini mengakibatkan gambar menjadi kabur, pecah -pecah, dan kasar.
Resolusi kecermelangan (intensitas/brightness) atau biasanya disebut sebagai kedalaman bit/kedalaman warna (Bit Depth) adalah ukuran halus atau kasarnya pembagian tingkat gradasi warna saat dilakukan kuantisasi. Bit Depth menentukan berapa banyak informasi warna yang tersedia untuk ditampilkan dalam setiap piksel. Semakin besar nilainya, semakin bagus kualitas gambar yang dihasilkan.Tentu ukurannya juga semakin besar. Misalkan suatu gambar mempunyai bit depth = 1, berarti hanya ada 2 kemungkinan warna (21=2) yang ada pada gambar tersebut, yaitu hitam dan putih. Bit depth = 8 berarti mempunyai kemungkinan warna 28 = 256 warna. Kedua jenis resolusi tersebut dihasilkan dari peralatan
digital (scanner, printer, VGA card, Webcam, foto kamera digital dan peralatan-peralatan digital yang lain) karena umumnya peralatan digital dilengkapi dengan sistem sampling dan sistem kuantisasi.
Setiap citra digital mempunyai karakteristik dasar, yaitu ukuran citra, resolusi, dan format lainnya. Ukuran citra dinyatakan dalam banyaknya piksel atau panjang kali lebar dari sebuah citra sehingga ukuran citra selalu bernilai bulat. Besar kecilnya ukuran citra digital tergantung pada besar kecilnya resolusi peralatan digital yang digunakan.
2.4. Jenis-jenis Citra Digital
Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayscale, dan citra warna.
2.4.1. Citra Biner (Monokrom)
Banyaknya warna : 2, yaitu hitam dan putih.
Dibutuhkan 1 bit memori untuk menyimpan kedua warna ini.
Gradasi warna:
0 1
bit0
= warna hitam
bit1
= warna putih
Gambar 2.8 merupakan contoh citra Lena dalam bentuk citra biner.
Gambar 2.8 Citra Lena dalam bentuk citra biner
2.4.2. Citra Grayscale (Skala Keabuan)
Banyaknya warna: tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna ini.
Citra 2 bit mewakili 4 warna dengan gradasi warna berikut :
0
1
2
3
Citra 3 bit mewakili 8 warna dengan gradasi warna berikut:
0 1 2 3 4 5 6 7
Semakin besar jumlah bit warna yang disediakan di memori, semakin halus gradasi warna yang terbentuk.
22
2.4.3. Citra Warna (True Color)
Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi 255 warna. Berarti setiap piksel mempunyai kombinasi warna sebanyak 28. 28. 28 =
224 = 16 juta warna lebih. Itu sebabnya format ini dinamakan true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam.
Penyimpanan true color di dalam memori berbeda dengan citra grayscale. Setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 byte. Sedangkan 1 piksel citra true color diwakili oleh 3 byte, dimana masing-masing byte merepresentasikan warna merah (Red), hijau (Green), dan biru (Blue).
2.5. Elemen-elemen Citra Digital
Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen dasar tersebut dimanipulasi dalam pengolahan citra dan dieksploitasi lebih lanjut dalam computer vision. Elemen-elemen dasar yang penting diantaranya adalah:
1. Kecerahan (brightness).
Kecerahan adalah kata lain untuk intensitas cahaya. Sebagaimana telah dijelaskan
pada bagian penerokan, kecerahan pada sebuah titik
(pixel) di dalam citra
bukanlah intensitas yang riil, tetapi sebenarnya adalah
intensitas
rata-rata dari
suatu area yang melingkupinya. Sistem visual manusia mampu
menyesuaikan
dirinya dengan tingkat kecerahan (brightness level) mulai dari yang paling rendah sampai yang paling tinggi dengan jangkauan sebesar 1010.
Batas penyesuaian gelap (terendah) disebut dengan scotopic threshold, sedangkan batas penyesuaian terang (tertinggi) disebut dengan glare threshold.
Sebagai contoh scotopic threshold terasa pada mata kita setelah lampu kita padamkan (terang ke gelap), sementara glare threshold kita rasakan setelah keluardari gedung bioskop (gelap ke terang).
Dari hasil percobaan yang telah dilakukan, ternyata ditemukan bahwa kecerahan yang diterima oleh sistem visual mata manusia tidaklah linear (logaritmik). Atau dengan kata lain bahwa mata manusia mempunyai respon logaritmik terhadap brightness.
Untuk mengatasi jangkauan dinamik dari tingkat kecerahan yang begitu lebar (10 10), mata manusia mempunyai cara yang unik yaitu dengan melakukan “tingkatpenyesuaian kecerahan” (brightness adaptation level).
Pada setiap keadaan, mata memiliki tingkat penyesuaian kecerahan yang tertentu. Perhatikan contoh sebelumnya, dari terang ke gelap (mula-mula terasabuta tetapi lambat laun bertambah terang) dan dari gelap ke terang (mula-mula terasa amat terang kemudian berkurang). Jadi, dapat disimpulkan bahwa titik “nol” (relatif) kecerahan mata bergeser turun naik mengikuti keadaan sekitarnya.
23
2. Kontras (contrast).
Kontras menyatakan sebaran terang (lightness ) dan gelap (darkness) di dalam sebuah gambar. Citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi gelap dan terang tersebar secara merata.
Untuk menentukan kepekaan kontras (contrast sensitivity) pada mata manusia dilakukan cara pengukuran sebagai berikut.
B = intensitas latar belakang
B
B + DB
B + DB = intensitas objek lingkaran
Pada suatu bidang gambar dengan intensitas sebesar B, kita perbesar intensitasobjek lingkaran sehingga intensitasnya menjadi B + DB. Besarnya pertambahan intensitas (DB) ini dilakukan sampai mata manusia dapat mendeteksi adanya perbedaan. Dengan demikian kepekaan kontras dinyatakan dalam rasio weber sebagai : DB/B.
Dari hasil percobaan, diperoleh bahwa mata manusia memiliki rasio Weber sebesar 2% untuk bermacam-macam nilai B.
3. Kontur (contour)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixel-pixel yang bertetangga. Karena adanya perubahan intensitas inilah mata kita mampu mendeteksi tepi-tepi (edge) objek di dalam citra.
4. Warna (color)
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang (l) yang berbeda. Warna merah mempunyai panjang gelombang paling tinggi, sedangkan warna ungu (violet) mempunyai panjang gelombang paling rendah.
Warna-warna yang diterima oleh mata (sistem visual manusia) merupakan hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green (G), dan blue (B).
Persepsi sistem visual manusia terhadap warna sangat relatif sebab dipengaruhioleh banyak kriteria, salah satunya disebabkan oleh adaptasi yang menimbulkan
distorsi. Misalnya bercak abu-abu di sekitar
warna hijau akan tampak keungu-
unguan (distorsi terhadap ruang), atau jika
mata melihat warna hijau lalu
langsung dengan cepat melihat warna abu-abu, maka mata menangkap kesan warna abu-abu tersebut sebagai warna ungu (distorsi terhadap waktu).
24
5. Bentuk (shape)
Shape adalah properti intrinsik dari objek tiga dimensi, dengan pengertian bahwa shape merupakan properti intrinsik utama untuk sistem visual manusia.. Manusia lebihsering mengasosiasikan objek dengan bentuknya ketimbang elemen lainnya (warna misalnya). Pada umumnya, citra yang dibentuk oleh mata merupakan citra dwimatra (2 dimensi), sedangkan objek yang dilihat umumnya berbentuk trimatra (3 dimensi). Informasi bentuk objek dapat diekstraksi dari citra pada permulaaan pra-pengolahan dan segmentasi citra. Salah satu tantangan utama pada computer vision adalah merepresentasikan bentuk, atau aspek-aspek penting dari bentuk.
6. Tekstur (texture)
Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel-pixel yang bertetangga. Jadi, tekstur tidak dapat didefinisikan untuk sebuah pixel. Sistem vissual manusia pada hakikatnya tidak menerima informasi
citra
secara
independen pada setiap pixel, melainkan suatu citra
dianggapsebagai
suatu
kesatuan. Resolusi citra yang diamati ditentukan olehskala pada mana tekstur
tersebut dipersepsi. Sebagai contoh, jika kita mengamati
citra lantai berubin
dari
jarak
jauh, maka kita mengamati
bahwa tekstur terbentuk oleh
penempatan
ubin-
ubi seca keseluru buka dari pola dala ub itu sendi
n ra han, npersepsi di m in ri.
Tetapi, jika kita mengamati
citra
yang sama dari jarak
yang dekat,
maka hanya
beberapa ubin yang tampak dalam bidang pengamatan, sehingga kita mempersepsi bahwa tekstur terbentuk oleh penempatan pola-pola rinci yang menyusun tiap ubin. Tekstur adalah sifat-sifat atau karakteristik yang dimiliki oleh suatu daerah yang cukup besar sehingga secara alami sifat-sifat tadi dapat berulang dalam daerah tersebut. Tekstur adalah keteraturan pola-pola tertentu yang terbentuk dari susunan piksel-piksel dalam citra digital. Informasi tekstur dapat digunakan untuk membedakan sifat-sifat permukaan suatu benda dalam citrayang berhubungan dengan kasar dan halus, juga sifat-sifat spesifik dari kekasaran dan kehalusan permukaan tadi, yang sama sekali terlepas dari warna permukaan tersebut.
Berikut kegunaan analisis tekstur:
1. Tekstur memainkan peranan penting dalam banyak tugas pada sistem visual,seperti pemeriksaan permukaan, pengelompokkan objek pemandangan, orientasi permukaan, dan penentuan bentuk objek.
1. Digunakan untuk segmentasi citra, mengidentifikasi pola-pola yang teratur dan berulang, pola-pola intensitas, permukaan benda yang berhubungan dengan sifat kasar dan halus, koloni mikroba, jalan raya, bahkan sampai pada sifat permukaan bumi atau planet lainnya.
1. Untuk tujuan pengolahan citra, analisis tekstur adalah menjadikan pola variasi lokal intensitas yang berulang sebagai pembeda, manakala pola variasi tersebut terlalu kecil bila dibandingkan dengan objek yang diamati dalam resolusi yang dipakai.
25
Syarat terbentuknya tekstur adalah sebagai berikut:
1. Adanya pola-pola primitif yang terdiri dari satu atau lebih piksel. Bentuk pola primitif ini dapat berupa titik, garis lurus, garis lengkung, luasan, dan lain -lain yang merupakan elemen dasar dari sebuahbentuk.
1. Pola-pola primitif tadi muncul berulang-ulang dengan interval jarak dan arah tertentu sehingga dapat diprediksi atau ditemukan karakteristik pengulangannya.
7. Acuity
Yang dimaksudkan acuity di sini adalah kemampuan mata manusia untuk merinci secara detil bagian-bagian pada suatu citra (pada sumbu visual). Sebagai contoh, umpamanya kita dihadapkan pada sederetan buku yang berjajar rapi dalamsuatu rak. Maka dalam hal ini acuity adalah kemampuan mata kita dalam membaca judul-judul buku tanpa berusaha menggerakkan mata kita. Dari hasil percobaan ditemukan bahwa pada sumbu visual kemampuan acuity mata manusia amat besar, tapi di luar sumbu ini kemampuan tersebut amat berkurang.
8. Waktu dan Pergerakan
Respon suatu sistem visual tidak hanya berlaku pada faktor ruang, tetapi juga pada faktor waktu. Sebagai contoh, bila gambar-gambar diam ditampilkan bergantian secara cepat, maka kita akan mendapatkan kesan melihat gambar yang bergerak. Contoh, gambar untuk film kartun.
2.6. Format File Citra
Ada dua jenis format file citra yang sering digunakan dalam pengolahan citra, yaitu citra bitmap dan citra vector. Istilah ini biasanya digunakan pada saat kita melakukan desain grafis.
2.6.1. Format File Citra Bitmap
Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebihsulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara scanner, camera digital, video capture, dan lain-lain. Bila citra ini diperbesar maka tampilan di monitor akan tampak pecah-pecah (kualitas citra menurun). Beberapa format yang umum digunakan dalam pemrograman pengolahan citra diberikan pada Tabel 2.1.
26
Tabel 2.1. Format File Citra Bitmap
Nama Format Ekstensi Kegunaan
Microsoft Windows Bitmap
Format
umum untuk
menyimpan
citra
BMP bitma yang dikembangkan ole
p h
Format
Microsoft.
Compuserve Graphics
Format umum
citra yang
dirancang
GIFF
untukkeperluan transmisi
melalui
Interchange Format
modem
Format kompleks dan multiguna yang
Aldus Tagged Image File Format TIF
dikembangkan
oleh
Aldus
bersama
Microsoft
WordPerfect Graphics Format
WPG
Format vector yang juga mendukung
citra bitmap
GEM Image Format
IMG
Format
bitmap yang
dikembangkan
untuk riset digital di lingkungan GEM
Zsoft Pengolahan Citra
Dirancang untuk menyimpan citra layar
PCX
dan merupakan
format
bitmap
yang
Paintbrush Format
didukung luas
Microsoft Paint Bitmap Format
MSP
Secara fungsional mirip dengan IMG
dan PCX, tapi kurang popular
Format untuk 16 bit dan 24 bit citra
AT & T Targa Format TGA warna
penuh diciptakan
untuk system
Truevision
Apple Macpaint Format
PNTG
Format asli dari Macintosh Macpaint
program
Sun RAS Format bitmap asli yang
Microsystem raster Format
digunakan pada
Sun SPARCS
Format umum untuk menyimpan citra
X Windows X-11 Bitmap Format XBM
bitmap
yang dikembangkan
untuk X
Windows
2.6.2. Format File Citra Vektor
Citra vektor dihasilkan dari perhitungan matematis dan tidak berdasarkan piksel, yaitu data tersimpan dalam bentuk vektor posisi, di mana yang tersimpan hanya informasi vektor posisi dengan bentuk sebuah fungsi. Pada citra vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesaratau diperkecil, kualitas citra relatif tetap baik dan tidak berubah. Citra vektor biasanya dibuat menggunakan aplikasi-aplikasi citra vektor, seperti CorelDRAW, Adobe Illustrator, Macromedia Freehand, Autocad, dan lain-lain.
27
Yang termasuk dalam format ini adalah AutoCAD Drawing Format (DWG), AutoCAD Drawing Exchange Format (DXF), Microstation Drawing Format (DGN), dan ScalableVector Graphics (SVG).
2.7. Elemen Sistem Pemrosesan Citra Digital
Secara umum, elemen yang terlibat dalam pemrosesan citra dapat dibagi menjadi empat komponen:
1. digitizer
1. komputer digital
1. piranti tampilan
1. piranti penyimpanan
Keempat komponen di atas ditunjukkan pada Gambar 2.9
Gambar 2.9. Elemen Pemrosesan Citra
Operasi
dari sistem
pemrosesan citra tersebut dapat dibagi menjadi empat
kategori prinsip: digitalisasi, pemrosesan, penayangan, dan penyimpanan.
Digitize (atau di image acquisition system) merupakan sistem
r gital penangkap
citra digital yang melakukan penjelajahan citra dan mengkonversinya ke representasi numerik sebagai masukan bagi komputer digital. Hasil dari digitizer adalah matriks yang elemen-elemennya menyatakan nilai intensitas cahaya pada suatu titik. Contoh digitizer adalah kamera digital, scanner.
Digitizer terdiri dari tiga komponen dasar: sensor citra yang bekerja sebagai
Digitizer terdiri dari tiga komponen dasar: sensor citra yang bekerja sebagai
28
pengukur intensitas cahaya, perangkat penjelajah yang berfungsi merekam hasil pengukuran intensitas pada seluruh bagian citra, dan pengubah analog-ke-digital yang berfungsi melakukan penerokan dan kuantisasi.
Komputer digital yang digunakan pada sistem pemroses citra dapat bervariasi dari komputer mikro sampai komputer besar yang mampu melakukan bermacam-macam fungsi pada citra digital resolusi tinggi.
Piranti tampilan peraga berfungsi mengkonversi matriks intensitas yang merepresentasikan citra ke tampilan yang dapat diinterpretasi oleh mata manusia. Contoh piranti tampilan adalah monitor peraga dan pencetak (printer).
Media penyimpanan adalah piranti yang mempunyai kapasitas memori besar sehingga gambar dapat disimpan secara permanen agar dapat diproses lagi pada waktu yang lain.
2.8. Contoh soal
Scanner 500 dpi, 300 dpi dan scanner 100 dpi akan digunakan untuk pencitraan sebuah foto berwarna 3´4 inch. Jumlah byte penyimpanan untuk header adalah 1080 byte. Berapa ukuran citra digital yang dihasilkan oleh masing-masing scanner. Analisis hasilnya.
Jawab :
1. Scanner 500 dpi
Ukuran citra = (3 ´ 500) x (4 ´ 500) piksel = 3.000.000 piksel
Untuk format citra berwarna (true color), setiap piksel terdiri dari 3 byte di mana masing-masing byte merepresentasikan warna merah, hijau dan biru. Jumlah byte yang diperlukan untuk menyimpan format (header) citra = 1080 byte. Maka, citra digital tersebut memerlukan volume penyimpanan sebesar:
Ukuran citra = (3 ´ 300) x (4 ´ 300) piksel = 1.080.000 piksel sehingga citra digital berwarna tersebut memerlukan volume penyimpanan sebesar : 1.080.000 ´ 3 byte + 1080 byte = 3.241.080 byte » 3 MB.
1. Scanner 100 dpi
Ukuran citra = (3 ´ 100) x (4 ´ 100) piksel = 120.000 piksel sehingga citra digital berwarna tersebut memerlukan volume penyimpanan sebesar : 120.000 ´ 3 byte + 1080 byte = 361.080 byte » 0,4 MB.
Dari hasil perhitungan diatas tampak bahwa semakin besar tingkat resolusi scanner, semakin besar pula ukuran citra yang dihasilkan.
28
pengukur intensitas cahaya, perangkat penjelajah yang berfungsi merekam hasil pengukuran intensitas pada seluruh bagian citra, dan pengubah analog-ke-digital yang berfungsi melakukan penerokan dan kuantisasi.
Komputer digital yang digunakan pada sistem pemroses citra dapat bervariasi dari komputer mikro sampai komputer besar yang mampu melakukan bermacam-macam fungsi pada citra digital resolusi tinggi.
Piranti tampilan peraga berfungsi mengkonversi matriks intensitas yang merepresentasikan citra ke tampilan yang dapat diinterpretasi oleh mata manusia. Contoh piranti tampilan adalah monitor peraga dan pencetak (printer).
Media penyimpanan adalah piranti yang mempunyai kapasitas memori besar sehingga gambar dapat disimpan secara permanen agar dapat diproses lagi pada waktu yang lain.
2.8. Contoh soal
Scanner 500 dpi, 300 dpi dan scanner 100 dpi akan digunakan untuk pencitraan sebuah foto berwarna 3´4 inch. Jumlah byte penyimpanan untuk header adalah 1080 byte. Berapa ukuran citra digital yang dihasilkan oleh masing-masing scanner. Analisis hasilnya.
Jawab :
1. Scanner 500 dpi
Ukuran citra = (3 ´ 500) x (4 ´ 500) piksel = 3.000.000 piksel
Untuk format citra berwarna (true color), setiap piksel terdiri dari 3 byte di mana masing-masing byte merepresentasikan warna merah, hijau dan biru. Jumlah byte yang diperlukan untuk menyimpan format (header) citra = 1080 byte. Maka, citra digital tersebut memerlukan volume penyimpanan sebesar:
Ukuran citra = (3 ´ 300) x (4 ´ 300) piksel = 1.080.000 piksel sehingga citra digital berwarna tersebut memerlukan volume penyimpanan sebesar : 1.080.000 ´ 3 byte + 1080 byte = 3.241.080 byte » 3 MB.
1. Scanner 100 dpi
Ukuran citra = (3 ´ 100) x (4 ´ 100) piksel = 120.000 piksel sehingga citra digital berwarna tersebut memerlukan volume penyimpanan sebesar : 120.000 ´ 3 byte + 1080 byte = 361.080 byte » 0,4 MB.
Dari hasil perhitungan diatas tampak bahwa semakin besar tingkat resolusi scanner, semakin besar pula ukuran citra yang dihasilkan.
Bab 3
3.1. Pendahuluan
Biasanya representasi matematika dari sebuah citra adalah menggunakan fungsi spasial f(x,y). Nilai dari fungsi pada lokasi f(x,y) menyatakan intensitas dari citra pada lokasi tersebut. Transformasi merupakan sebuah alternatif representasi matematika sebuah citra. Transformasi citra merupakan proses perubahan bentuk citra, baik intensitas maupun posisi pikselnya, yang bertujuan untuk mendapatkan suatu informasi tertentu. Secara umum, transformasi bisa dibagi menjadi dua, yaitu transformasispatial dan transformasi domain.
Pada transformasi spatial yang diubah adalah intensitas piksel (brightness, kontras, negasi, thresholding) atau posisi piksel (rotasi, translasi, scaling,shear, dan lain-lain).
Transformasi yang kedua adalah transformasi domain, yaitu proses perubahan citra dari suatu domain ke domain lainnya, misalnya dari domain spatial ke domain frekuensi.
Dua operasi matematis yang melandasi teori pengolahan citra yang perlu dipahami adalah operasi konvolusi dan transformasi Fourier. Konvolusi terdapatpada operasi pengolahan citra yang mengalikan sebuah citra dengan
sebuah mask atau kernel sedangkan transformasi Fourier dilakukan bila citra dimanipulasi dalam domain frekuensi ketimbang domain spasial. Dengan cara ini,citra digital ditransformasikan lebih dulu dengan transformasi Fourier, kemudian dilakukan manipulasi pada hasil transformasi Fourier tersebut. Setelah manipulasi selesai, dilakukan inverse transformasi Fourier untuk mendapatkan citra kembali. Metode domain frekuensi ini dapat digunakan untuk menyelesaikan masalah-masalah tertentu yang sulit jika dilakukan dengan menggunakan metode domain spasial. Sebagai contoh transformasi Fourier merepresentasikan sebuah citra dari penjumlah eksponensial kompleks dari magnitude, frekuensi dan fasa. Representasi ini sangat berguna untuk berbagai aplikasi,termasuk analisis citra, perbaikan citra dan penyaringan (filter) citra. Transformasi diskrit kosinus (DCT = discrete cosine transform)juga merepresentasikan citra dari penjumlahan kosinus pada magnitude dan fasa.DCT secara ekstrim berguna untuk kompressi citra. Hal ini merupakan basis darialgoritma basis dari algoritma kompresi citra JPEG.
3.2. Teori Konvolusi
Operasi yang mendasar dalam pengolahan citra adalah operasi konvolusi. Konvolusi 2 buah fungsi f(x) dan g(x) didefinisikan sebagai berikut:
¥
h(x) = f (x) * g(x) = -¥òf (a)g(x - a)da
yang dalam hal ini, tanda * menyatakan operator konvolusi, dan peubah (variable)a adalah peubah bantu (dummy variable).
Untuk fungsi diskrit, konvolusi didefinisikan sebagai
¥
h(x) = f (x)* g(x) = å f (a)g(x - a) a = -¥
Pada operasi konvolusi di atas, g(x) disebut kernel konvolusi atau kernel penapis (filter). Kernel g(x) merupakan suatu jendela yang dioperasikan secara bergeser pada sinyal masukan f(x), yang dalam hal ini, jumlah perkalian kedua fungsi pada setiap titik merupakan hasil konvolusi yang dinyatakan dengan keluaran h(x).
Ilustrasi konvolusi diperlihatkan pada Gambar 3.1(a) sampai dengan Gambar 3.1(g).
Misalkan fungsi f(x) dan g(x) diperlihatkan pada Gambar 3.1(a) dan 3.1(b).
Langkah-langkah perhitungan hasil konvolusi ditunjukkan mulai dari Gambar 3.1(c) sampai 3.1(f). Hasil konvolusi ditunjukkan pada Gambar 3.1(g), yaitu:
ì x / 2,
0 £ x <1
f (x) * g(x) = íï1- x / 2,
1 £ x £2
ï
0,lainnya
ï
î
3.3. Konvolusi Pada Fungsi Dua Dimensi
Untuk fungsi dengan dua peubah (fungsi dua dimensi), operasi konvolusi didefinisikan sebagai berikut :
a) Untuk fungsi kontinu
¥ ¥
h(x, y) = f (x, y)* g(x, y) = ò ò f (a, b)g(x - a, y -b) da db
-¥ -¥
b) Untuk fungsi diskrit
¥ ¥
h(x, y) = f (x, y) * g(x, y) = å å f (a, b)g(x - a, y -b)
a = -¥ b = -¥
Fungsi penapis g(x,y) disebut juga convolution filter, convolution
mask, convolution kernel, atau template. Dalam ranah diskrit kernel
konvolusi dinyatakan
dalam
bentuk matriks (umumnya
3 ´ 3, namun
ada
juga yang berukuran
2 ´ 2
atau 2 ´ 1 atau 1 ´ 2).
Ukuran
matriks
ini
biasanya lebih kecil dari ukuran citra. Setiap elemen matriks disebut koefisien konvolusi.
Ilustrasi konvolusi ditunjukkan pada Gambar 3.2.
34
Gambar 3.2. Illustrasi konvolusi pada fungsi 2 dimensi
Operasi konvolusi dilakukan dengan menggeser kernel konvolusi piksel per piksel. Hasil konvolusi disimpan di dalam matriks yang baru.
Contoh 3.1: Misalkan citra f(x,y) yang berukuran 5 ´ 5 dan sebuah kernel atau mask yang berukuran 3 ´ 3 masing-masing adalah sebagai berikut :
Operasi konvolusi antara citra f(x, y) dengan kernel g(x, y),
f(x, y) * g(x, y)
dapat diilutrasikan sebagai berikut:
(1) Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai pixel pada posisi (0, 0) dari kernel:
35
Hasil konvolusi = 3. Nilai ini dihitung dengan cara berikut:
(4) Selanjutnya, geser kernel satu piksel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra. Setiap kali konvolusi, geser kernel satu piksel ke kanan:
Hasil konvolusi = 0. Nilai ini dihitung dengan cara berikut:
Dengan cara yang sama seperti tadi, maka piksel-piksel pada baris ketiga di konvolusi sehingga menghasilkan:
3 0 2
0 2 6
6 0 2
Sebagai catatan, jika hasil konvolusi menghasilkan nilai pixel negatif, maka nilai tersebut dijadikan 0, sebaliknya jika hasil konvolusi menghasilkan nilai pixel lebih besar dari nilai keabuan maksimum, maka nilai tersebut dijadikan ke nilai keabuan maksimum (ingat operasi clipping).
Masalah timbul bila pixel yang dikonvolusi adalah pixel pinggir (border), karena beberapa koefisien konvolusi tidak dapat dapat diposisikan pada pixel-pixel citra(efek “menggantung”), seperti contoh di bawah ini:
Masalah “menggantung” seperti ini selalu terjadi pada pixel-pixel pinggir kiri, kanan, atas, dan bawah. Solusi untuk masalah ini adalah:
1. Pixel-pixel pinggir diabaikan, tidak di-konvolusi. Solusi ini banyak dipakai di dalam pustaka fungsi-fungsi pengolahan citra. Dengan cara seperti ini, maka pixel-pixelpinggir nilainya tetap sama seperti citra asal. Gambar 3.3 memperlihatkan hasil konvolusi pada Contoh 3.1, yang dalam hal ini nilai pixel-pixel pinggir sama dengan nilai pixel semula.
2. Duplikasi elemen citra, misalnya elemen kolom pertama disalin ke kolom M+1, begitu juga sebaliknya, lalu konvolusi dapat dilakukan terhadap pixel- pixel pinggir tersebut.
1. Elemen yang ditandai dengan “?” diasumsikan bernilai 0 atau konstanta yang lain, sehingga konvolusi pixel-pixel pinggir dapat dilakukan.
Solusi dengan ketiga pendekatan di atas mengasumsikan bagian pinggir citra
38
lebarnya sangat kecil (hanya satu pixel) relatif dibandingkan denagn ukuran citra, sehingga pixel-pixel pinggir tidak memperlihatkan efek yang kasat mata.
4 4 3 5 4
6 3 0 2 2
5 0 2 6 2
6 6 0 2 3
3 5 2 4 4
Gambar 3.3. Pixel-pixel pinggir (yang tidak diarsir) tidak di konvolusi (contoh 3.1)
Anda dapat melihat bahwa operasi konvolusi merupakan komputasi pada aras lokal, karena komputasi untuk suatu pixel pada citra keluaran melibatkan pixel-pixeltetangga pada citra masukannya.
Konvolusi berguna pada proses pengolahan citra seperti:
- perbaikan kualitas citra (image enhancement)
- penghilangan derau
- mengurangi erotan
- penghalusan/pelembutan citra
- deteksi tepi, penajaman tepi
- dll
Sebagai contoh, Gambar 3.4 memperlihatkan konvolusi citra Lena dengan penapis Gaussian untuk mempertajam tepi-tepi di dalam citra. Penapis Gaussian adalah sebuah mask yang berukuran 3 ´ 3:
Karena konvolusi dilakukan per pixel dan untuk setiap pixel dilakukan operasi perkalian dan penjumlahan, maka jelas konvolusi mengkonsumsi banyak waktu. Jika citra berukuran N ´ N dan kernel berukuran m ´ m, maka jumlah perkalian adalah dalam orde N2m2. Sebagai contoh jika citra berukuran 512 ´ 512 dan kernel berukuran 16 ´ 16, maka ada sekitar 32 juta perkalian yang dibutuhkan. Ini jelas tidak cocok untuk proses yang real time tanpa perangkat keras yang dedicated.
Satu cara mengurangi waktu komputasi adalah mentransformasi citra dan kernel kedalam ranah frekuensi (dengan menggunakan Transformasi Fourier – akan diuraikan di subbab 3.4), selanjutnya konvolusi dilakukan dalam ranah waktu. Keuntungan utama dari penggunaan ranah frekuensi adalah proses konvolusi dapatditerapkan dalam bentuk perkalian langsung.
39
Gambar 3.4 Konvolusi citra Lena dengan penapis Gaussian untuk mempertajam gambar.
Proses perubahan fungsi dari ranah ranah spasial ke ranah frekuensi dilakukan melalui Transformasi Fourier. Sedangkan perubahan fungsi dari ranah frekuensi keranah spasial dilakukan melalui Transformasi Fourier Balikan (invers).
Dengan demikian, operasi konvolusi dua buah fungsi dalam ranah frekuensi menjadi:
3.4. Transformasi Fourier
Transformasi Fourier merupakan transformasi paling penting di dalam bidang pengolahan sinyal (signal processing), khususnya pada bidang pengolahan citra.
Umumnya sinyal dinyatakan sebagai bentuk plot amplitudo versus waktu (pada
fungsi satu d i m e n s i ) atau
plot amplitudo
versus posisi spasial (pada fungsi
dua dimensi). Pada
beberapa aplikasi pengolahan sinyal, terdapat kesukaran
melakukan operasi
karena
fungsi dalam
ranah waktu/spasial, misalnya pada
operasi konvolusi di atas. Operasi konvolusi dapat diterapkan sebagai bentuk perkalian langsung bila fungsi berada dalam ranah frekunsi.
40
Transformasi Fourier adalah kakas (tool) untuk mengubah fungsi dari ranah waktu/spasial ke ranah frekuensi. Untuk perubahan sebaliknya digunakan Transformasi Fourier Balikan. Intisari dari Transformasi Fourier adalah menguraikan sinyal atau gelombang menjadi sejumlah sinusoida dari berbagai frekuensi, yang jumlahnya ekivalen dengan gelombang asal.
Di dalam pengolahan citra, transformasi Fourier digunakan untuk menganalisis frekuensi pada operasi seperti perekaman citra, perbaikan kualitas citra, restorasi citra, pengkodean, dan lain-lain. Dari analisis frekuensi, kita dapat melakukan perubahan frekuensi pada gambar. Perubahan frekuensi berhubungan dengan spektrum antara gambar yang kabus kontrasnya sampai gambar yang kaya akan rincian visualnya. Sebagai contoh, pada proses perekaman citra mungkin terjadi pengaburan kontras gambar. Pada gambar yang mengalami kekaburan kontras terjadi perubahan intensitas secara perlahan, yang berarti kehilangan informasi frekuensi tinggi. Untuk meningkatkan kualitas gambar, kita menggunakan penapis frekuensi tinggi sehingga pixel yang berkontras kabur dapat dinaikkan intensitasnya.
3.5. Transformasi Fourier Kontinu
Transformasi Fourier kontinu untuk satu peubah:
Transformasi Fourier Balikan untuk satu peubah:
yang dalam hal ini,
i = imaginer = -1
u adalah peubah frekuensi
Baik transformasi Fourier maupun Transformasi Fourier Balikan keduanya dinamakan pasangan transformasi Fourier.
Untuk f(x) real, F(u) adalah fungsi kompleks dan dapat dituliskan sebagai:
F (u) = R(u) + iI (u) = F (u) eij(u )
Amplitudo atau | F(u) | disebut spektrum Fourier dari f(x) dan didefinisikan sebagai:
F(u) = R2 (u) + I 2 (u)
41
Sudut fase spektrum,
Q(u) = tan-1éê I (u)
ê R(u)
ë
ù
ú
ú
û
menyatakan pergeseran fase atau sudut fase dari setiap frekuensi u. Dengan mengingat kesamaan Euler,
e±ix = cos(x) ± i sin(x)
maka pasangan transformasi Euler dapat juga ditulis sebagai
Transformasi Fourier untuk fungsi dengan dua peubah adalah
sedangkan Transformasi Fourier Balikannya adalah
yang dalam hal ini, x dan y adalah peubah spasial, sedangkan u dan v adalah peubah frekuensi.
Spektrum Fourier dari fungsi dua peubah:
F(u.v) = R2 (u, v) + I 2 (u, v)
sedangkan sudut fasenya:
Q(u, v) = tan-1éê I (u, v) ù
ú ê R(u, v) ú
ë û
Sifat-sifat Transformasi Fourier
Jika f(t) « F(u) dan g(t) « G(u), maka sifat-sifat Transformasi Fourier dirumuskan di dalam Tabel 3.1.
42
Tabel 3.1. Sifat-sifat Transformasi Fourier
3.6. Transformasi Fourier Diskrit
Pada pengolahan sinyal dengan komputer digital, fungsi dinyatakan oleh himpunan berhingga nilai diskrit. Transformasi Fourier Diskrit (TFD) ditujukanbagi persoalan yang tidak menghasilkan solusi transformasi Fourier dalam bentuk fungsi kontinu.
Bila f(x) yang menerus dibuat diskrit dengan mengambil N buah terokan (sampling) sejarak Dx, yaitu himpunan nilai {f(x0), f(x0 + Dx), f(x0 + 2 Dx), …, f(x0+ (N-1) D x)}.
Jadi,
fx = f(x0 + x Dx), x = 0, 1, 2, …, N – 1
Pasangan Transformasi Fourier Diskrit untuk fungsi dengan satu peubah:
Dengan mengingat kesamaan Euler, pasangan Transformasi Fourier Diskrit dapat ditulis dalam bentuk
43
Interpretasi dari TFD adalah sebagai berikut: TFD mengkonversi data diskrit menjadi sejumlah sinusoida diskrit yang frekuensinya dinomori dengan u = 0, 1,2, …, N – 1, dan ampiltudonya diberikan oleh F(u).
Faktor 1/N pada persamaan F(u) adalah faktor skala yang dapat disertakan dalampersamaan F(u) atau dalam persamaan f(x), tetapi tidak kedua-duanya.
Contoh 3.2. Diketahui fungsi sinyal f(t) dengan hasil penerokan ke dalam nilai-nilai diskrit sebagai berikut (N = 4):
x0
= 0.5,
f0 =2
x
1
= 0.75, f1 = 3
x2
= 1.0,
f2= 4
x
3
= 1.25,
f3=4
Transformasi Fourier Diskrit adalah sebagai berikut:
44
Spektrum Fouriernya:
Citra digital adalah fungsi diskrit dalam ranah spasial, dengan dua peubah, x dan y. Pada fungsi diskrit dengan dua peubah dan berukuran N ´ M, pasangan Transformasi Fourier Diskritnya adalah:
atau
untuk u, x = 0, 1, …, N – 1 dan v, y = 0, 1, …, M – 1.
Algoritma TFD dan balikannya dapat diterapkan untuk fungsi diskrit dua dimensi. Mula-mula transformasi dilakukan dalam arah x (dengan nilai y tetap).Kemudian, hasilnya ditransformasikan lagi dalam arah y.
Algoritma TFD tidak bagus untuk N yang besar karena komputasinya memakan waktu yang lama. Kompleksitas waktu algoritmanya adalah O(N2). Algoritma yang dikenal cepat untuk menghitung transformasi Fourier diskrit adalah FFT (Fast Fourier Transform). Algoritma FFT mempunyai kompleksitas waktu O(N
2log N). Jadi, untuk N = 50, TFC kira-kira 10 kali lebih cepat daripada TFD, untuk N = 1000 sekitar 100 kali lebih cepat. Algoritma FFT tidak dibahas di dalam buku ini.
Bab 4
4.1. Pendahuluan
Citra digital direpresentasikan dengan matriks. Operasi pada citra digital pada dasarnya adalah memanipulasi elemen-elemen matriks. Elemen matriks yang dimanipulasi dapat berupa elemen tunggal (sebuah piksel) (proses per piksel untuk satu citra dan proses per piksel untuk dua citra), sekumpulan elemen yang berdekatan (proses per kelompok piksel untuk satu citra), atau keseluruhan elemen matriks (proses per satu citra). Di dalam bab ini akan diuraikan operasi-operasi dasar pada pengolahan citra digital.
4.2. Aras Komputasi
Citra digital pada umumnya mempunyai jumlah data yang cukup besar sehingga memerlukan daya komputasi yang cukup besar pula. Daya komputasi ini sangat menentukan kompleksitas algoritma yang akan digunakan. Berkaitan dengan daya komputasi atau kompleksitas algoritma, maka operasi-operasi yang dilakukan pada pengolahan citra dapat dikelompokkan ke dalam empat aras (level/tingkat) komputasi, yaitu aras titik (proses per piksel untuk satu citra), aras lokal (proses per kelompok piksel untuk satu citra), aras global (proses per satu citra), dan aras objek.
4.2.1. Operasi aras titik
Pada operasi aras titik, hasil proses suatu titik (piksel) tidak tergantung pada titik-titik tetangganya sehingga hanya tergantung pada kondisi titik itu sendiri. Atau, bisa juga dikatakan, nilai output pada koordinat tertentu hanyabergantung pada nilai input pada koordinat tersebut. Contoh operasi aras titikadalah kecerahan (brightness), peningkatan kontras, negasi, konversi citra warnake citra gray scale, dan thresholding.
Operasi pada aras titik hanya dilakukan pada pixel tunggal di dalam citra. Operasi titik
dikenal
juga dengan
nama
operasi pointwise.
Operasi
ini
terdiri dari
pengaksesan
pixel pada
lokasi
yang diberikan, memodifikasinya
dengan
operasi
operasi
lanjar (linear) atau nirlanjar (nonlinear), dan menempatkan
nilai pixel baru
pada lokasi
yang bersesuaian di dalam citra yang baru. Operasi ini diulangi untuk
keseluruhan
pixel di dalam citra.
Secara matematis, operasi pada aras titik dinyatakan sebagai (Gambar 4.1):
fB(x, y) = Otitik{fA(x, y)}
yang dalam hal ini fA dan fB masing-masing adalah citra masukan dan citra keluaran, Otitik dapat berupa operasi lanjar (linear) atau nirlanjar (nonlinear).
Yang dimaksud dengan operasi lanjar adalah operasi yang dapat dinyatakan secara
matematis sebagai
persamaan
lanjar,
kebalikannya adalah persamaannirlanjar.
Operasi pada aras
titik dapat
dibagi
menjadi tiga macam: berdasarkan intensitas,
48
berdasarkan geometri, atau gabungan keduanya.
Gambar 4.1. Operasi aras titik pada citra digital
a. Berdasarkan intensitas
Nilai intensitas u suatu pixel diubah
dengan
transformasi h menjadi nilai
intensitas baru v:
v = h(u), u, v [0, L]
Gambar 4.2. (a) Citra biner Lena, (b) citra negatif Lena
Contoh operasi titik berdasarkan intensitas adalah operasi pengambangan (thresholding). Pada operasi pengambangan, nilai intensitas pixel dipetakan ke salah satu dari dua nilai, a1 atau a2, berdasarkan nilai ambang (threshold) T:
ìa , f (x, y) <T
ï 1
f (x, y)'= í
ïa
2
, f (x, y) ³T
î
Jika a1 =
0 dan a2
= 1, maka operasi
pengambangan
mentransformasikan citra
hitam-putih ke
citra
biner. Dengan
kata lain, nilai
intensitas pixel semula
49
dipetakan ke dua nilai saja: hitam dan putih. Nilai ambang yang dipakai dapat berlaku untuk keseluruhan pixel atau untuk wilayah tertentu saja (berdasarkan penyebaran nilai intensitas pada wilayah tersebut).
Operasi pengambangan pada citra Lena dengan fungsi transformasi:
ì0,f (x, y) <128
f (x, y)'= íï
f (x, y) ³128
ï1,
î
menghasilkan citra biner seperti yang diperlihatkan pada Gambar 4.2(a). Untuk pixel-pixel yang nilai intensitasnya di bawah 128 diubah menjadi hitam (nilai intensitas = 0), sedangkan pixel-pixel yang nilai intensitasnya di atas 128 diubah menjadi putih (nilai intensitas = 1) .
Contoh operasi titik yang lain adalah:
(i) Operasi negatif, yaitu mendapatkan citra negatif (negative image) meniru film negatif pada fotografi dengan cara mengurangi nilai intensitas pixel dari nilai keabuan maksimum. Misalnya pada citra dengan 256 derajat keabuan (8 bit), citra negatif diperoleh dengan persamaan:
f(x, y)’ = 255 – f(x, y)
Sedangkan pada citra dengan 128 derajat keabuan,
f(x, y)’ = 127 – f(x, y)
Hasil operasi negatif pada citra Lena diperlihatkan pada Gambar 4.2(b).
(ii) Pemotongan (clipping)
Operasi ini dilakukan jika nilai intensitas pixel hasil suatu operasi pengolahan citra terletak di bawah nilai intensitas minimum atau di atas nilaiintensitas maksimum:
Pemotongan (clipping) termasuk ke dalam operasi pengambangan juga.
(iii) Pencerahan citra (image brightening)
Kecerahan citra dapat diperbaiki dengan menambahkan (atau mengurangkan) sebuahkonstanta kepada (atau dari) setiap pixel di dalam citra. Secara matematis operasi ini ditulis sebagai
50
f(x, y)’ = f(x, y) + b
Jika b positif, kecerahan citra bertambah, sebaliknya jika b negatif kecerahancitra
berkurang.
Lihat
contoh
pencerahan
citra
pada Gambar 4.3 yangditerapkan
pada citra Zelda.
Semula citra Zelda tampak gelap, tetapi dengan menambahkan
setiap nilai
pixel
dengan
b = 10,citra
Zelda menjadi lebih terang.
Gambar 4.3. Kiri: citra Zelda (agak gelap); kanan: citra Zelda setelah operasipencerahan
Persamaan pada operasi pencerahan citra dapat menghasilkan nilai di bawah nilai intensitas minimum atau di atas nilai intensitas maksimum. Oleh karena itu, operasiclipping perlu diterapkan.
b. Berdasarkan geometri.
Posisi pixel diubah ke posisi yang baru, sedangkan intensitasnya tidak berubah.Contoh operasi titik berdasarkan geometri misalnya pemutaran (rotasi), pergeseran (translasi), penskalaan (dilatasi), pembetulan erotan (distorsi) geometri (akan dijelaskan kemudian).
1. c. Gabungan intensitas dan geometri.
Operasi ini tidak hanya mengubah nilai intensitas pixel, tapi juga mengubah posisinya. Misalnya image morphing, yaitu perubahan bentuk objek beserta nilai intensitasnya.
4.2.2. Operasi aras lokal
Pada operasi ini, hasil proses suatu titik (piksel) tergantung pada titik-titik tetangganya dan titik itu sendiri. Atau, bisa juga dikatakan, nilai output pada koordinat tertentu tergantung dari nilai input tetangganya. Operasi pada aras lokal menghasilkan citra keluaran yang intensitas suatu pixel bergantung pada intensitas pixel-pixeltetangganya (Gambar 4.4).
51
fB(x, y)’ = Olokal{fA(xi, yj); (xi, yj) N(x, y)}
(keterangan: N = neighborhood, yaitu pixel-pixel yang berada di sekitar (x, y) )
Gambar 4.4. Operasi aras local
Contoh operasi aras lokal adalah konvolusi, deteksi tepi, penghalusan citra, penajaman citra, eliminasi noise, dan efek emboss. Gambar 4.5 adalah citra Lena hasil pendeteksian tepi. Konsep pendeteksian tepi dan penghalusan citra masing-masing akan dibahas di dalam Bab 8 dan Bab 7.
Gambar 4.5. Hasil pendeteksian semua tepi dari citra Lena
4.2.3. Operasi aras global
Pada operasi aras global seluruh bagian citra diperhitungkan sehingga hasilnyaakan tergantung pada keadaan citra secara keseluruhan. Atau, bisa juga dikatakan, nilai output pada koordinat tertentu tergantung pada seluruh nilai input citra. Untuk citra yang sama, tetapi kualitasnya berbeda (misalnya citraA, kemudian citra ini kecerahannya dikurangi hingga menjadi citra A’ yang agakgelap) akan menghasilkan hasil yang berbeda. Contoh operasi aras global adalahekualisasi histogram.
Secara matematis dapat dituliskan sebagai berikut:
fB(x, y)’ = Oglobal{fA(x, y)}
52
Gambar 4.6. memperlihatkan operasi aras global.
Gambar 4.6. Operasi aras global
4.2.4. Operasi aras objek
Pada operasi ini karakteristik citra, yaitu ukuran, bentuk, dan intensitas rata-rata, harus dihitung karena karakteristik ini diperlukan untuk mengenali objek yang akan dianalisis. Operasi jenis ini hanya dilakukan pada objek tertentu di dalam citra.
4.3. Operasi Aritmetika
Karena citra digital adalah matriks, maka operasi-operasi aritmetika matriks juga berlaku pada citra. Operasi aritmetika termasuk kedalam kelompok proses per piksel untuk dua citra (aras titik). Operasi matriks yang dapat dilakukan adalah :
1. Penjumlahan atau pengurangan antara dua buah citra A dan B:
C(x, y) = A(x, y) ± B(x, y),
1. Perkalian dua buah citra:
C(x, y) = A(x, y) B(x, y),
1. Penjumlahan/pengurangan citra A dengan skalar c:
B(x, y) = A(x, y) ± c,
1. Perkalian/pembagian citra A dengan sebuah skalar c:
B(x, y) = c . A(x, y)
Penjelasan masing-masing operasi aritmetika matriks adalah sebagai berikut.
1. Penjumlahan Dua Buah citra
Persamaannya:
C(x, y) = A(x, y) + B(x, y)
C adalah citra baru yang intensitas setiap pixel-nya adalah jumlah dari intensitas tiap pixel pada A dan B. Jika hasil penjumlahan intensitas lebih besardari 255, maka
53
intensitasnya dibulatkan ke 255.
Operasi penjumlahan citra dapat digunakan untuk mengurangi pengaruh derau (noise) di dalam data, dengan cara merata-ratakan derajat keabuan setiap pixel dari citra yang sama yang diambil berkali-kali. Misalnya untuk citra yang sama direkam dua kali, f1 dan f2, lalu dihitung intensitas rata-ratauntuk setiap pixel:
Hasil operasi mungkin bernilai riil, karena itu semua nilai riil tersebut perlu dibulatkan ke nilai bulat terdekat, nilai maksimum adalah 255.
2. Pengurangan Dua Buah Citra
Persamaannya:
C(x, y) = A(x, y) – B(x, y)
Ada kemungkinan hasil operasi ini menghasilkan nilai negatif, oleh karena itu,operasi pengurangan citra perlu melibatkan operasi clipping.
Contoh aplikasi operasi pengurangan citra adalah untuk memperoleh suatu objek dari dua buah citra. Citra pertama misalnya foto sebuah ruangan yang kosong, citra kedua adalah foto ruangan yang sama tetapi ada orang di dalamnya. Hasil pengurangan citra kedua dengan gambar pertama menghasilkan citra yang latar belakangnya hitam, sedangkan latar depannya (objek orang) berwarna putih.
Pengurangan citra juga dapat digunakan untuk mendeteksi perubahan yang terjadiselama selang waktu tertentu bila dua buah citra yang diambil adalah citra dari adegan yang sama. Teknik semacam ini dipakai pada moving images.
3. Perkalian Citra
Persamaannya:
C(x, y) = A(x, y) B(x, y)
Perkalian citra sering digunakan untuk mengoreksi ketidak linieran sensor dengan cara mengalikan matriks citra dengan matrik koreksi. Jadi, dalam hal ini A adalah citra sedangkan B adalah matriks koreksi. Hasil operasi mungkin bernilai riil, karena itu semua nilai dibulatkan ke nilai bulat terdekat, nilai maksimum adalah 255.
Contoh 4.1. Mengalikan citra A dengan matriks koreksi:
54
4. Penjumlahan/pengurangan citra dengan skalar
Persamaannya:
B(x, y) = A(x, y) ± c
Penjumlahan citra A dengan skalar c adalah menambah setiap pixel di dalam citradengah sebuah skalar c, dan menghasilkan citra baru B yang intensitasnya lebihterang daripada A. Kenaikan intensitas sama untuk seluruh pixel, yaitu c.
Pengurangan citra A dengan skalar c adalah mengurangkan setiap pixel di dalam citra dengah sebuah skalar c, dan menghasilkan citra baru B yang intensitasnyalebih gelap daripada A. Penurunan intensitas sama untuk seluruh pixel, yaitu c.Contoh operasi penjumlahan/pengurangan citra dengan sebuah skalar adalah operasi pencerahan citra (lihat pembahasan operasi aras titik).
Baik operasi penjumlahan maupun pengurangan citra dengan sebuah skalar melibatkan operasi clipping.
5. Perkalian/pembagian Citra dengan Skalar
Persamaannya:
B(x, y) = c . A(x, y), dan B(x, y) = A(x, y) / c
Perkalian citra A dengan skalar c menghasilkan citra baru B yang intensitasnyalebih terang daripada A. Kenaikan intensitas setiap pixel sebanding dengan c. Operasi perkalian citra dengan skalar dipakai untuk kalibrasi kecerahan (callibration of brightness).
Pembagian citra A dengan skalar c menghasilkan citra baru B yang intensitasnyalebih
gelap daripada A. Penurunan intensitas setiap pixel
berbanding terbalikdengan c.
Operasi pembagian citra dengan skalar dipakai
untuk normalisasi
kecerahan
(normalization of brightness).
4.4. Operasi Boolean pada Citra
Selain operasi aritmetika, pemrosesan citra digital juga melibatkan operasi Boolean (and, or, dan not):
C(x, y) = A(x, y) and B(x, y),
C(x, y) = A(x, y) or B(x, y),
C(x, y) = not A(x, y).
Operasi Boolean mempunyai terapan yang penting pada pemrosesan morfologi pada citra biner. Pada citra biner, operasi not dapat digunakan untuk menentukan komplemen dari citra (Gambar 4.7).
55
Gambar 4.7. Hasil operasi not pada citra biner Ganesha
4.5. Operasi Geometri pada Citra
Pada operasi geometrik, koordinat pixel berubah akibat transformasi, sedangkan intensitasnya tetap. Ini berbeda dengan dengan operasi aritmetika yang mana koordinatpixel tetap sedangkan intensitasnya berubah.
Operasi geometri yang dilakukan misalnya translasi, rotasi, penskalaan citra, dan pencerminan citra (flipping). Pengubahan geometri dari citra f(x, y) menjadi citra baru f’(x, y) dapat ditulis sebagai:
f ‘(x’, y’) = f(g1(x, y), g2(x, y))
yang dalam hal ini, g1(x) dan g2(y) adalah fungsi transformasi geometrik. Dengan kata lain,
x’ = g1(x, y);
y’ = g2(x, y)
a. Translasi
Rumus translasi citra:
x’ = x + m
y’ = y + n
yang dalam hal ini, m adalah besar pergeseran dalam arah x, sedangkan n adalah besar pergeseran dalam arah y. Jika citra semula adalah A dan citra hasil translasi adalah B, maka translasi dapat diimplementasikan dengan menyalin citra dari A ke B:
B[x][y] = A[x + m][y + n]
Contoh translasi pada citra camera diperagakan pada Gambar 4.8.
56
Gambar 4.8. Translasi pada citra camera: (a) citra semula, (b) citra hasil translasi dengan m=30 dan n=25.
b. Rotasi
Rumus rotasi citra:
x’ = x cos(q) – y sin(q)
y’ = x sin(q) + y cos(q)
yang dalam hal ini, q = sudut rotasi berlawanan arah jarum jam (lihat Gambar4.9).
Gambar 4.9. Model Rotasi Citra
Jika citra semula adalah A dan citra hasil rotasi adalah B, maka rotasi citra dari A ke
B:
B[x’][y’] = B[x cos(q) – y sin(q)][x cos(q) + y cos(q)] = A[x][y]
Jika sudut rotasinya 90° , maka implementasinya lebih mudah dilakukan dengan cara
menyalin pixel-pixel baris ke
pixel-pixel kolom
pada arah rotasi (Gambar 4.10).
Rotasi 180° diimplementasikan
dengan melakukan
rotasi 90° duakali.
57
Gambar 4.10. Rotasi citra Lena sejauh 90° berlawanan arah jarum jam
1. c. Penskalaan Citra
Penskalaan citra, disebut juga image zooming, yaitu pengubahan ukuran citra (membesar/zoom out atau mengecil/zoom in).
Rumus penskalaan citra:
x’ = sx . x y’ = sy . y
yang dalam hal ini, sx dan sy adalah faktor skala masing-masing dalam arah x dan arah y.
Jika citra semula adalah A dan citra hasil penskalaan adalah B, maka penskalaan citra dinyatakan sebagai:
B[x’][y’] = B[sx × x][ sy × y] = A[x][y]
Gambar 4.11.(a) Zoom out dengan faktor skala=2,(b) Zoom in dengan faktor skala=1/2
Operasi zoom out dengan faktor 2 (yaitu, sx = sy = 2) diimplementasikan dengan menyalin setiap pixel sebanyak 4 kali (Gambar 4.11a). Jadi, citra 2 ´ 2 pixel akan
58
menjadi 4 ´ 4 pixel. Contoh citra yang diperbesar dua kali diperlihatkan pada Gambar 4.12 (citra kota San Fransisco).
Operasi zoom in (pengecilan) dengan
faktor skala = ½
dilakukan
dengan
mengambil rata-rata dari 4 pixel yang
bertetangga
menjadi
1 pixel
(Gambar
4.11b).
Gambar 4.12. (a) citra kota San Fransisco (ukuran normal), (b) citra kota San Fransisco setelah diperbesar 2 kali (Sx = Sy = 2)
d. Flipping
Flippingadalah operasi geometri yang sama
dengan pencerminan
(image
reflection).
Operasi pencerminan tidak mengalami
perubahan ukuran citra,
hanya
mengakibatkan adanya perubahan orientasi citra, baik secara horizontal, vertikal, maupun keduanya.Ada dua macam flipping: horizontal dan vertikal (Gambar 4.13).
Gambar 4.13. Flipping
Flipping horizontal adalah pencerminan pada sumbu-Y (cartesian) dari citra A menjadi citra B, yang diberikan oleh:
59
B[x][y] = A[N – x][y]
Flipping vertikal adalah pada sumbu-X (cartesian) dari
pencerminan citra A menjadi
citra B, yang diberikan oleh:
B[x][y] = A[x][M -y]
Pencerminan
pada titik asal (cartesian)
dari citra A menjadi citra B, diberikan oleh:
B[x][y] = A[N - x][M - y]
Pencerminan
pada garis x= y dari citra
A menjadi citra B, diberikan oleh:
B[x][y] = A[y][ x]
4.6. Histogram
Informasi penting mengenai isi citra digital dapat diketahui dengan membuat histogram citra. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dengan kata lain histogram adalah grafik yang menunjukkan frekuensi kemunculan setiap nilai gradasi warna. Bila digambarkan pada koordinat kartesian maka sumbu X (absis) menunjukkan tingkat warna dan sumbu Y (ordinat)menunjukkan frekuensi kemunculan. Sehingga dari sebuah histogram dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut. Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Karena itu, histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan citra baik secara kualitatif maupun secara kuantitatif.
4.6.1. Membuat Histogram
Misalkan citra digital memiliki L derajat keabuan, yaitu dari nilai 0 sampai L-1 (misalnya pada citra dengan kuantisasi derajat keabuan 8-bit, nilaiderajat keabuan dari 0 sampai 255). Secara matematis histogram citra dihitung dengan rumus:
yang dalam hal ini,
ni = jumlah pixel yang memiliki derajat keabuan i
n = jumlah seluruh pixel di dalam citra
Plot hi versus fi dinamakan histogram. Gambar 4.14 adalah contoh sebuah histogram citra. Secara grafis histogram ditampilkan dengan diagram batang. Perhatikan dari persamaan diatas bahwa nilai ni telah dinormalkan dengan membaginya dengan n. Nilai hi berada di dalam selang 0 sampai 1.
60
Gambar 4.14. Histogram Citra
Sebagai contoh, misalkan matriks di bawah ini menyatakan citra digital yang berukuran 8 ´ 8 pixel dengan derajat keabuan dari 0 sampai 15 (ada 16 buah derajat keabuan):
Tabel 5.1. Perhitungan histogram
i ni hi=ni / n (n = 64)
0 8 0.125
1 4 0.0625
2 5 0.078125
3 2 0.03125
4 2 0.03125
5 3 0.046875
6 1 0.015625
7 3 0.046875
8 6 0.09375
9 4 0.0625
10 7 0.109375
11 4 0.0625
12 5 0.078125
13 3 0.046875
14 4 0.0625
15 3 0.046875
61
Tabulasi perhitungan histogramnya ditunjukkan pada Tabel 4.1. Mudah dilihat bahwa semakin besar nilai ni maka semakin besar pula nilai hi
Gambar 4.15. memperlihatkan histogram citra kapal (512 ´ 512). Beberapa program komersil seperti Adobe Photoshop, Paintshop, dan Polyview, dapat digunakan untuk membangkitkan histogram citra.
Gambar 4.15. Citra Kapal (512 ´ 512) dan histogramnya.
Gambar 4.16. Citra berwarna pepper dan histogram masing-masing kanal warnanya
62
Khusus untuk citra berwarna, histogramnya dibuat untuk setiap
kanal RGB (merah,
hijau, dan biru). Misalnya citra berwarna pepper 512 ´ 512 pixel
8-bit, padaGambar
4.16, histogramnya ada tiga buah, masing-masing untuk komponen merah, hijau, dan biru. Histogram citra banyak memberikan informasi penting sebagai berikut:
1. Nilai hi menyatakan peluang (probability) pixel, P(i), dengan derajat keabuan i. Jumlah seluruh nilai hi sama dengan 1, atau
Peluang suatu pixel memiliki derajat keabuan lebih kecil atau sama dengan derajat keabuan tertentu adalah jumlah hi untuk 0 £ j £ L-1, atau
1. Puncak histogram menunjukkan intensitas pixel yang menonjol. Lebar dari puncak menunjukkan rentang kontras dari gambar. Citra yang mempunyai kontras terlalu terang (overexposed) atau terlalu gelap (underexposed) memiliki histogram yang sempit. Histogramnya terlihat hanya menggunakan setengah dari daerah derajat keabuan. Citra yang baik memiliki histogramyang mengisi daerah derajat keabuan secara penuh dengan distribusi yang merata pada setiap nilai intensitaspixel (Gambar 4.17).
Gambar 4.17. (a) citra gelap, (b) citra terang, (c) citra normal (normal brightness), (d) normal brightness dan high contrast
63
Gambar 4.18. Bermacam-macam histogram dari beberapa kasus citra Lena
Gambar 4.18 memperlihatkan tiga buah citra Lena. Citra Lena yang pertama terlalu gelap. Histogramnya banyak menumpuk pada bagian kiri karena citra tersebut mengandung banyak nilai intensitas yang dekat dengan 0 (hitam). CitraLena yang kedua terlalu terang. Histogramnya banyak menumpuk pada bagian kanankarena citra tersebut mengandung
64
banyak nilai intensitas yang dekat dengan 255 (putih). Citra Lena yang ketiga adalah citra yang normal (bagus). Histogramnya tersebar merata di seluruh daerah derajat keabuan. Tiga buah histogram tersebut dihasilkan dengan program Adobe Photoshop.
4.6.2. Manfaat Histogram
Histogram bermanfaat untuk hal-hal berikut:
1. Sebagai indikasi visual untuk menentukan skala keabuan yang tepat sehingga diperoleh kualitas citra yang diinginkan. Contoh : pengubahan kontras, kecemerlangan, dan lain-lain.
1. Untuk pemilihan batas ambang (threshold)
Contoh : Proses segmentasi citra (memisahkan objek dari latar belakangnya) pada hakikatnya adalah menentukan batas-batas nilai keabuan dari objek dan batas-batas nilai keabuan latar belakangnya sehingga antara objek dan latarbelakang bisa dipisahkan.
4.7. Contoh Soal
Diketahui suatu citra dalam bentuk matriks adalah sebagai berikut:
1 3 5 2 1 0 0 4
2 1 3 2 2 1 3 2
1 1 2 3 2 1 0 2
2 3 7 4 9 10 11 11
1 3 3 2 4 5 11 14
1 0 1 5 7 14 13 11
1 1 0 7 8 12 14 14
3 4 2 8 15 15 13 13
Dengan mengambil harga ambang T=7, gambarkan citra binernya. Lakukan proses operasi negatif.
Jawab :
Operasi pengambangan dengan harga ambang T=7 menjadikan nilai di dalam matriksmenjadi 0 untuk intensitas dibawah 7 dan menjadi 1 untuk intensitas lebih besar sama dengan 7. Dengan demikian matriks berubah menjadi seperti :
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 1 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 1 1 1 1
0 0 0 1 1 1 1 1
0 0 0 1 1 1 1 1
65
Untuk operasi negatif, rumusnya menjadi seperti : f(x,y)’ = 15- f(x,y)
Karena nilai intensitas tertinggi pada matriks citra diatas adalah 15.