Pengenalan Dasar
Citra
Kuantisasi citra
Kualitas citra
Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pixel atau
“picture element”).Setiap piksel digambarkan sebagai satu kotak kecil.Setiap
piksel mempunyai koordinat posisi.Sistem koordinat yang dipakai untuk
menyatakan citra digital ditunjukkan pada Gambar 2.1.
0 N-1
x
y
M-1
piksel pojok kiri-atas mempunyai koordinat (0, 0) dan piksel pada pojok
kanan-bawah mempunyai koordinat (N-1, M-1).
Catatan
f(2,1) = 6
1 2 3 4 5 6 7 8 9 10 11 12
1 6 6 6 6 6 6 6 89 237 237 237 237
2 6 6 89 237 237 237 6 6 89 237 237 237
3 6 6 89 237 237 237 237 6 6 89 237 237
4 6 6 89 237 237 237 237 6 6 89 237 237
5 6 6 89 237 237 237 237 6 6 89 237 237
6 6 6 89 237 237 237 6 6 89 237 237 237
7 6 6 6 6 6 6 6 89 237 237 237 237
8 6 6 6 6 6 6 89 237 237 237 237 237
9 6 6 89 237 237 6 6 89 237 237 237 237
10 6 6 89 237 237 237 6 6 89 237 237 237
11 6 6 89 237 237 237 237 6 6 89 237 237
12 6 6 89 237 237 237 237 237 6 6 89 237
f(4,7) = 237
Gambar 2.3 Notasi piksel dalam citra
Mengenal Dasar Citra 15
t t
Pada isyarat digital, nilai intensitas citra dibuat diskret atau terkuantisasi
dalam sejumlah nilai bulat. Gambar 2.5(a) menunjukkan contoh citra biner dua
nilai intensitas berupa 0 (hitam) dan 1 (putih). Selanjutnya, gambar tersebut
ditumpangkan pada grid 8x8 seperti yang diperlihatkan pada Gambar 2.5 (b).
Bagian gambar yang jatuh pada kotak kecil dengan luas lebih kecil dibanding
warna putih latar belakang, seluruh isi kotak dibuat putih. Sebaliknya, jika
mayoritas hitam, isi kotak seluruhnya dibuat hitam. Hasil pengubahan ke citra
digital tampak pada Gambar 2.5(c). Adapun Gambar 2.5(d) memperlihatkan
bilangan yang mewakili warna hitam (0) dan putih (1). Dengan demikian, citra
digital akan lebih baik (lebih sesuai aslinya) apabila ukuran piksel diperkecil atau
jumlah piksel diperbanyak.
16 Pengolahan Citra, Teori dan Aplikasi
(a) Citra yang akan dinyatakan (b) Citra ditumpangkan pada grid
dalam isyarat digital
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1
1 0 0 0 0 0 1 1
1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 1 1 1 0 1 1 1
(c) Hasil kuantisasi (d) Representasi dalam bentuk
Gambar 2.5 Digitalisasi citraangka
biner 8x8 piksel
untuk memperlihatkan bentuk piksel ideal
jumlah gradasi juga bisa dinyatakan dalam jumlah digit biner atau bit 0 dan 1
sebagai sandi digital per piksel.
Pada kuantisasi dengan 1 bit, jumlah level sebanyak 2 (21).Oleh karena itu,
warna yang muncul berupa hitam dan putih saja. Perlu diketahui, penurunan
jumlah aras pada tingkat tertentu membuat mata manusia masih bisa menerima
citra dengan baik. Sebagai contoh, citra dengan 4 bit (Gambar 2.6(c)) dan citra
dengan 8 bit (Gambar 2.6(a)) praktis terlihat sama. Hal seperti itulah yang
mendasari gagasan pemampatan data citra, mengingat citra dengan jumlah bit
lebih rendah tentu akan membutuhkan tempat dan transmisi yang lebih hemat.
lebar dalam jumlah piksel. Contoh pada Gambar 2.5 menunjukkan bahwa kalau
gambar apel hanya dinyatakan dalam 8 x 8 piksel, citra yang terbentuk sangat
berbeda dengan aslinya. Seandainya jumlah piksel yang digunakan lebih banyak,
tentu akan lebih mendekati dengan gambar aslinya. Contoh pada Gambar 2.6
memperlihatkan efek resolusi piksel untuk menampilkan gambar yang sama.
(a) Citra berukuran 512 x 512 (b) Citra berukuran 256 x 256
piksel piksel
(c) Citra berukuran 128 x 128 piksel (d) Citra berukuran 64 x 64 piksel
Terlihat bahwa pada resolusi tertentu citra menjadi kabur kalau dinyatakan dengan
jumlah piksel yang makin sedikit.
20 Pengolahan Citra, Teori dan Aplikasi
Resolusi spasial ditentukan oleh jumlah piksel per satuan panjang. Istilah
seperti dpi (dot per inch) menyatakan jumlah piksel per inci. Misalnya, citra 300
dpi menyatakan bahwa citra akan dicetak dengan jumlah piksel sebanyak 300
sepanjang satu inci. Berdasarkan hal itu, maka citra dengan resolusi ruang spasial
sebesar 300 dpi dicetak di kertas dengan ukuran lebih kecil daripada yang
mempunyai resolusi ruang sebesar 150 dpi, meskipun kedua gambar memiliki
resolusi piksel yang sama.
>>Img = imread(’C:\Image\mandrill.png’);
>>
Catatan Dengan cara seperti itu, data citra pada file mandrill.png
disimpan diImg. Dalam hal ini, Img berupa larikyang
mengandung M baris dan N baris. Mengingat file tersebut
berisi data citra berskala keabuan, maka nilai pada setiap
elemen dalam matriks menyatakan intensitas piksel. Nilai
intensitas itu berupa bilangan bulat antara 0 sampai dengan
255.
Berbagai jenis citra (antara lain yang berskala keabuan) akan
segera dibahas.
imread juga mendukung pembacaan citra 16 bit. Namun,
pembahasan di buku ini menggunakan semua file citra
berukuran 8 bit (tipe uint8).
>>Ukuran = size(Img)
Ukuran =
512 512
>>
Dengan cara seperti itu, terlihat bahwa Imgberisi512 baris dan 512 kolom piksel.
Untuk mendapatkan jumlah baris dan jumlah kolom secara tersendiri, perlu
diberikan perintah seperti berikut:
Mengenal Dasar Citra 23
Angka 1 dan 2 pada ukuran menyatakan indeks. Dengan cara seperti itu,
jum_baris berisi jumlah baris padalarikImg dan jum_kolom berisi jumlah
kolom pada larikImg.
Sebagai alternatif, dapat ditulis perintah seperti berikut:
Dengan cara seperti itu, jum_barisberisi jumlah baris pada larikImg dan
jum_kolom berisi jumlah kolom pada larikImg.
>>imshow(Img);
>>
Hasilnya berupa jendela yang menampilkan citra pada Img, seperti terlihat pada
Gambar 2.8.
24 Pengolahan Citra, Teori dan Aplikasi
Perintah close all digunakan untuk menutup semua jendela. Adapun pada
subplot, argumen pertama menyatakan jumlah baris citra dan argumen kedua
menyatakan jumlah kolom citra dalam jendela. Argumen ketiga menyatakan
indeks citra dalam jendela yang bernilai antara 1 sampai dengan jumlah baris x
jumlah kolom.
Ada tiga jenis citra yang umum digunakan dalam pemrosesan citra. Ketiga
jenis citra tersebut yaitu citra berwarna, citra berskala keabuan, dan citra biner.
Citra berwarna, atau biasa dinamakan citra RGB, merupakan jenis citra yang
menyajikan warna dalam bentuk komponen R (merah), G (hijau), dan B (biru).
Setiap komponen warna menggunakan 8 bit (nilainya berkisar antara 0 sampai
dengan 255). Dengan demikian, kemungkinan warna yang bisa disajikan
Mengenal Dasar Citra 27
mencapai 255 x 255 x 255 atau 16.581.375 warna. Tabel 2.4 menunjukkan contoh
warna dan nilai R,G, dan B.
Gambar 2.12 menunjukkan pemetaan warna dalam ruang tiga dimensi. Adapun
Gambar 2.13 menunjukkan keadaan suatu citra dan representasi warnanya.
255
Biru Cyan
Magenta Putih
0 255
G
Hitam Hijau
255
Merah Kuning
Catatan
>>size(Kota)
ans =
747 500 3
Mengenal Dasar Citra 29
>>
M-1
3 Komponen B
M
2
1
1 2 N-1 N Komponen G
Komponen R
>> R = Kota(:,:,1);
>> G = Kota(:,:,2);
>> B = Kota(:,:,3);
30 Pengolahan Citra, Teori dan Aplikasi
>>figure(1);
>>imshow(Kota);
Sesuai dengan nama yang melekat, citra jenis ini menangani gradasi warna
hitam dan putih, yang tentu saja menghasilkan efek warna abu-abu. Pada jenis
gambar ini, warna dinyatakan dengan intensitas. Dalam hal ini, intensitas berkisar
Mengenal Dasar Citra 31
antara 0 sampai dengan 255.Nilai 0 menyatakan hitam dan nilai 255 menyatakan
putih. Contoh citra berskala keabuan telah dibahas pada Subbab 2.5.
Citra biner adalah citra dengan setiap piksel hanya dinyatakan dengan sebuah
nilai dari dua buah kemungkinan (yaitu nilai 0 dan 1). Nilai 0 menyatakan warna
hitam dan nilai 1 menyatakan warna putih. Citra jenis ini banyak dipakai dalam
pemrosesan citra, misalnya untuk kepentingan memperoleh tepi bentuk suatu
objek.Sebagai contoh, perhatikan Gambar 2.16. Bagian kiri menyatakan citra
beraras keabuan, sedangkan bagian kanan adalah hasil konversi ke citra biner.
>>Img = imread('c:\Image\daun_bin.png');
>>imshow(Img);
>>
= + + , + + = 1 (2.1)
R = 50
G = 70
B = 61
Jika a, b, dan c pada Persamaan 2.1 dibuat sama, akan diperoleh hasil seperti
berikut:
I = (50 + 70 + 60) / 3 = 60
Salah satu contoh rumus yang biasa dipakai untuk mengubah ke skala
keabuan yaitu:
= 0,2989 + 0,5870 + 0,1141 (2.2)
Contoh berikut menunjukkan cara melakukan konversi dari citra berwarna ke citra
biner.
>>Img = imread('C:\Image\innsbruckcity.png');
>> Abu=uint8(0.2989 * double(Img(:,:,1)) + ...
0.5870*double(Img(:,:,2)) + ...
0.1141 * double(Img(:,:,3)));
>>imshow(Abu);
Program : kebiner.m
Img = imread('c:\Image\daun_gray.png');
[tinggi, lebar] = size(Img);
imshow(Biner);
Akhir Program
Sebelum mencoba program di atas, akan dibahas dulu kode yang mendasari
program. Tanda % mengawali komentar.Semua tulisan dimulai dari tanda tersebut
hingga akhir baris tidak dianggap sebagai perintah, melainkan sebagai penjelas
bagi pembaca program. Kode
Img= imread('c:\Image\daun_gray.png');
ambang = 210;
digunakan untuk menentukan nilai ambang bagi penentuan konversi suatu piksel
menjadi 0 atau 1. Nilai ambang berkisar antara 0 sampai dengan 255.
Pernyataan
menangani penentuan nilai 0 atau 1 pada citra biner untuk semua piksel dalam
citra (ditangani dengan dua buah for). Penentuan dilakukan melalui pernyataan if.
Dalam hal ini,
Img(baris, kolom)
berakhir, maka Biner berisi citra biner. Selanjutnya, citra ditampilkan melalui
imshow(Biner);
>>kebiner;
Pada beberapa contoh yang akan dibahas pada bab-bab selanjutnya, dua fungsi
pada Tabel 2.5 akan digunakan dengan tujuan untuk menyederhanakan
permasalahan dalam menuliskan kode.
Agar terbiasa dengan kedua fungsi tersebut, berikut disajikan contoh
penggunaannya. Contoh pertama:
>>Img= imread('C:\Image\daun_gray.png');
>> BW = im2bw(Img, 0.6);
>>imshow(BW);
imwrite(A, nama_file)
A dapat berupa larik dua dimensi (citra berskala keabuan) ataupunlarik berdimensi
tiga (citra RGB).
Contoh:
>>Img = imread('C:\Image\daun_gray.png');
>>X = 255 – Img;
>>imwrite(X, ’negatif_daun.png’);
42 Pengolahan Citra, Teori dan Aplikasi
Perlu diketahui,
X = 255 – Img;
Latihan
1. Jelaskan mengenai koordinat citra.
2. Apa yang dimaksud dengan kuantisasi citra?
3. Jelaskan hubungan jumlah bit dalam kuantisasi citra dengan kompresi
data.
4. Jelaskan makna kualitas citra.
5. Jelaskan pengertian :
a) citra berwarna
Mengenal Dasar Citra 43