PENGOLAHAN CITRA
Disusun oleh :
Nama : Etika Wahyu Perdani
NIM : 5302410016
Rombel : 01
PROGRAM STUDI PTIK
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI SEMARANG
2012
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT karena atas rahmat dan
kekuatan-Nya dalam hidup penulis yang memberikan hidup yang penuh
dengan anugerah sehingga penulis dapat menyelesaikan makalah untuk mata
kuliah Pengolahan Citra.
Penulisan makalah ini pun tidak terlepas dari bantuan dan dorongan
berbagai pihak baik secara langsung maupun tidak langsung maka pada
kesempatan ini perkenankanlah penulis menyampaikan ucapan terimakasih
kepada semua pihak yang memiliki peran dalam penyelesaian makalah ini,
khususnya kepada :
1. Bapak Alfa, selaku dosen mata kuliah pengolahan citra
2. Ayah dan ibunda tercinta yang telah memberi bantuan berupa moril atau
materiel sehingga dapat tersusunnya usulan ini.
3. Teman-teman di UNNES yang telah memberikan motivasi
4. Semua pihak yang tidak dapat kami sebutkan satu persatu
Akhirnya penulis mengharapkan saran, koreksi maupun kritik yang
bersifat membangun demi kesempurnaan makalah ini. Semoga dapat
menambah pengetahuan dan bermanfaat.
Semarang, 12 Desember 2012
Penulis
BAB I
PENDAHULUAN
A. Latar Belakang
Pada era globalisasi saat ini, data atau informasi tidak hanya
disajikan dalam bentuk teks, tetapi juga bisa berupa gambar, audio (bunyi,
suara dan musik) serta video. Di era teknologi informasi saat ini kehidupan
masyarakat tidak dapat dipisahkan dari multimedia. Contohnya pada situs
website internet dibuat semenarik mungkin dengan mencantumkan
gambar, animasi atau video yang dapat diputar, kemudian layanan SMS
(Short Message Service) untuk mengirim pesan berupa teks pada telepon
genggam (handphone) serta layanan MMS (Multimedia Message Service)
yang dapat mengirim pesan baik berupa teks, gambar maupun video.
Citra (image) merupakan salah satu komponen multimedia yang
memegang peranan penting sebagai bentuk informasi visual. Citra
memiliki karakteristik yang tidak dimiliki oleh data berupa teks.
Maksudnya adalah sebuah citra (image) dapat memberikan informasi yang
lebih banyak daripada informasi yang disajikan dalam bentuk kata-kata
(tekstual).
B. Rumusan Masalah
1. Bagaimana konsep pengolahan citra dan pembentukan citra digital?
2. Bagaimana struktur data citra digital dan format citra bitmap?
3. Bagaimana bentuk operasi-operasi dasar pengolahan citra digital?
4. Jelaskan Konvolusi, Transformasi Fourier, Histogram Citra serta
Perbaikan Kualitas Citra?
C. Tujuan Masalah
1. Dapat menjelaskan konsep pengolahan citra dan pembentukan citra
digital.
2. Dapat menjelaskan struktur data citra digital dan format citra bitmap.
3. Dapat menjelaskan bentuk operasi-operasi dasar pada pengolahan citra
digital.
4. Dapat menjelaskan teknik Konvolusi, Transformasi Fourier, Histogram
Citra serta Perbaikan Kualitas Citra.
BAB II
PEMBAHASAN
A. Pengolahan Citra
Pengolahan citra (image processing) adalah pemrosesan citra,
khususnya menggunakan komputer menjadi citra yang kualitasnya lebih
baik. Sebagai contohnya gambar burung nuri yang tampak agak gelap lalu
dengan operasi pengolahan citra kontras dan intensitas cahayanya diperbaiki
sehingga tampak lebih terang dan tajam.
Pada umumnya operasi-operasi pada pengolahan dapat diterapkan
pada citra apabila :
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan beberapa aspek informasi yang terkandung di
dalam citra.
2. Elemen di dalam citra perlu dikelompokkan, dicocokkan atau diukur.
3. Sebagai citra perlu digabung dengan bagian citra yang lain.
Dalam bidang komputer ada tiga bidang studi yang berkaitan dengan
data citra, antara lain :
1. Grafika Komputer (computer graphics) bertujuan menghasilkan citra
dengan primitif-primitif geometri seperti titik, garis, lingkaran, dan
sebagainya.
2. Pengolahan Citra (image processing) bertujuan memperbaiki kualitas
citra agar mudah diinterprestasi oleh manusia atau mesin (komputer).
3. Pengenalan Pola (pattern recognition) bertujuan mengelompokkan data
numerik dan simbolik (termasuk citra) secara otomatis oleh komputer.
Operasi-operasi dalam pengolahan citra dapat diklasifikasikan dalam
beberapa jenis sebagai berikut :
1. Perbaikan kualitas citra (image enhancement) bertujuan untuk
memperbaiki kualitas citra dengan cara memanipulasi parameter-
parameter citra.
2. Pemugaran citra (image restoration) bertujuan menghilangkan atau
meminimumkan cacat pada citra. Operasi ini hampir sama dengan
perbaikan kualitas citra, hanya saja pada pemugaran citra penyebab
degradasi gambar diketahui.
3. Pemampatan citra (image compression) bertujuan agar citra dapat
direpresentasikan dalam bentuk yang lebih kompak sehingga
memerlukan memori yang lebih sedikit.
4. Segmentasi citra (image segmentation) bertujuan untuk memecah suatu
citra ke dalam beberapa segmen dengan suatu kriteria tertentu.
5. Pengorakan citra (image analysis) bertujuan menghitung besaran
kuantitif dari citra untuk menghasilkan deskripsinya.
6. Rekonstruksi citra (image reconstruction) bertujuan untuk membentuk
ulang objek dari beberapa citra hasil proyeksi.
B. Pembentukan Citra Digital
Dalam pembentukan citra digital terdapat dua macam citra yaitu citra
kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang
menerima sinyal analog, misalnya mata manusia dan kamera analog.
Sedangkan citra diskrit dihasilkan melalui proses digitalisasi terhadap citra
kontinu, misalnya kamera digital dan scanner.
Citra merupakan fungsi malar (kontinyu) dari intensitas cahaya pada
bidang dwimatra. Secara matematis fungsi intensitas cahaya pada bidang
dwimatra disimbolkan dengan f(x,y) yang dalam hal ini adalah :
(x, y) : koordinat pada bidang dwimatra
f(x, y) : intensitas cahaya (brightness) pada titik (x, y)
karena cahaya adalah bentuk energy, maka intensitas cahaya bernilai antara
0 sampai tak terhingga, 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 terhingga, dan
2. r(x, y) = derajat kemampuan obyek memantulkan cahaya (reflection),
nilainya antara 0 dan 1.
Contoh-contoh nilai i(x, y) antara lain :
a. pada hari cerah, matahari menghasilkan iluminasi i(x, y)
sekitar 9000 foot candles,
b. pada hari mendung (berawan), matahari menghasilkan iluminasi
i(x, y) sekitar 1000 foot candles,
c. pada malam bulan purnama, sinar bulan menghasilkan iluminasi
i(x, y) sekitar 0.01 foot candle.
Contoh nilai r(x, y) antara lain :
a. benda hitam mempunyai r(x, y) = 0.01,
b. dinding putih mempunyai r(x, y) = 0.8,
c. benda logam dari stainlessteel mempunyai r(x, y) = 0.65,
d. 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 dari
hitam 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.
Sebagai contoh, citra hitam-putih dengan 256 level artinya
mempunyai skala abu dari 0 sampai 255 atau [0, 255], yang dalam hal ini
nilai i ntensitas 0 menyatakan hitam, nilai intensitas 255 menyatakan
putih, dan nilai antara 0 sampai 255 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)).
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 x lebar
(atau lebar x panjang).
Masing-masing elemen pada citra digital (berarti elemen matriks)
disebut image element, picture element atau pixel atau pel. Jadi, citra
yang berukuran N x M mempunyai NM buah pixel. Sebagai contoh,
misalkan sebuah berukuran 256 x 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 sampai 255) seperti
contoh berikut :
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 antara lain :
1. Digitalisasi spasial (x, y), sering disebut sebagai penerokan
(sampling).
2. 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).
Gambar 1. Penerokan secara spasial
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 kiri bawah, sedangkan penomoran pixel pada matriks
dimulai dari sudut kiri atas.
Gambar 2. Hubungan antara elemen gambar dan elemen matriks
Untuk memudahkan implementasi, jumlah terokan biasanya diasumsikan
perpangkatan dari dua,
N = 2 n
Yang dalam hal ini,
N = jumlah penerokan pada suatu baris/kolom
n = bilangan bulat positif
Contoh ukuran penerokan yaitu 256 x 256 pixel, 128 x 128 pixel
Langkah selanjutnya setelah proses penerokan adalah kuantisasi.
Proses kuantisasi membagi skala keabuan (0, L) menjadi G buah level yang
dinyatakan dengan suatu harga bilangan bulat ( integer), biasanya G
diambil perpangkatan dari 2,
G = 2 m
Yang dalam hal ini,
G = derajat keabuan
m = bilangan bulat positif
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, citra dengan kedalaman 8
bit disebut juga citra 8 -bit (atau citra 256 warna).
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
dikenal sebagai konversi analog-ke-digital , yang biasanya menyimpan hasil
proses di dalam media penyimpanan.
Citra digital mengandung sejumlah elemen-elemen dasar yang
penting, diantaranya adalah :
1. Kecerahan (brightness)
2. Kontras (contrast)
3. Kontur (contour)
4. Warna (colour)
5. Bentuk (shape)
6. Tekstur (texture)
Secara umum, elemen yang terlibat dalam pemrosesan citra dapat
dibagi menjadi empat komponen yaitu : digitizer, komputer digital, piranti
tampilan, serta piranti penyimpanan.
C. Struktur Data Citra Digital dan Format Citra Bitmap
Citra digital diolah dengan menggunakan komputer, oleh karena itu
kita perlu mendefinisikan struktur data untuk merepresentasikan citra di
dalam memori komputer. Matriks adalah struktur data yang tepat untuk
merepresentasikan citra digital . Elemen-elemen matriks dapat diakses
secara langsung melalui indeksnya (baris dan kolom).
Telah dijelaskan sebelumnya, citra digital yang berukuran N x M
(tinggi = N, lebar = M) dinyatakan dengan matriks sebagai berikut :
Untuk citra dengan 256 derajat keabuan, harga setiap elemen matriks
adalah bilangan bulat di dalam selang [0, 255]. Karena itu, kita dapat
menggunakan tipe unsigned char untuk menyatakan tipe elemen matriks.
Unsigned char adalah tipe integer positif di dalam Bahasa C yang rentang
nilainya hanya dari 0 sampai 255. Kita dapat menggunakan matriks statik
untuk merepresentasikan citra digital secara fisik di dalam memori
komputer sebagai berikut:
unsigned char f[N][M];
dengan N dan M sudah terdefinisi sebelumnya sebagai suatu konstant.
Elemen matriks diacu dengan f [i] [j] , 0 ≤ i ≤ N-1 dan 0 ≤ j ≤ M-1. Pada
kebanyakan kasus, ukuran citra tidak diketahui sebelum pemrosesan
dilakukan. Ada kemungkinan ukuran citra yang akan diolah melebihi nilai N
dan M yang sudah ditetapkan di dalam deklarasi struktur data. Oleh
karena itu, representasi citra dengan struktur matriks statik menjadi tidak
relevan. Tipe data yang cocok untuk citra adalah pointer.
Alokasi memori untuk matriks citra f yang berukuran N x M dilakukan pada
saat run-time dengan memanggil fungsi alokasi seperti yang ditunjukkan di
bawah ini
Gambar 3. Alokasi memori untuk matriks citra f
Cara pemanggilan fungsi alokasi adalah dengan menampung keluaran
fungsi dalam peubah yang tipenya sama dengan tipe citra,
f = alokasi (N, M)
untuk citra berwarna, setiap nilai intensitas merah, hijau, dan biru disimpan
dalam matriks r, g, dan b maka kita harus mengalokasikan memori untuk
ketiga buah matriks tersebut,
r = alokasi (N, M)
g = alokasi (N, M)
b = alokasi (N, M)
Bila citra selasai diproses, maka memori yang dipakai oleh citra tersebut
dikembalikan (dealokasi) kepada sistem. Dealokasi memori untuk matriks
citra f dapat dilakukan dengan memanggil fungsi dealokasi,
Gambar 4. Dealokasi memori untuk dari citra f
Gambar 5. Alokasi memori untuk matriks tipe sembarang
Menampilkan Citra ke Layar
Citra ditampilkan ke layar peraga jika card grafik tersedia pada
komputer yang digunakan dan card tersebut mampu menghasilkan warna
untuk setiap komponen RGB (Red, Green, Blue). Fungsi baku untuk
menampilkan citra adalah setpixel :
Gambar 6. Prosedur menampilkan citra ke layar
Format Berkas Bitmap
D. Operasi-operasi Dasar pada Pengolahan Citra Digital
1.1 Aras Komputasi
Operasi-operasi yang dilakukan pada pengolahan citra dapat
dikelompokkan ke dalam empat aras (level) komputasi, yaitu aras
titik, aras lokal, aras global, dan aras objek. Kita mulai pembahasan
komputasi pada aras titik.
1.1.1 Aras Titik
Operasi pada aras titik hanya dilakukan pada pixel tunggal di
dalam citra. Operasi titik dikenal juga dengan nama
operasi pointwise. Secara matematis, operasi pada aras titik
dinyatakan sebagai :
Operasi pada aras titik dapat dibagi menjadi tiga macam:
berdasarkan intensitas, berdasarkan geometri, atau gabungan
keduanya.
a. Berdasarkan intensitas
Nilai intensitas u suatu pixel diubah dengan
transformasi h menjadi nilai intensitas baru v:
Contoh operasi titik berdasarkan intensitas adalah
operasi pengambangan (thresholding). Algoritma
transformasi citra hitam-putih menjadi citra biner
ditunjukkan oleh Algoritma 4.1.
Contoh operasi titik 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) (4.5)
Sedangkan pada citra dengan 128 derajat keabuan,
f(x, y)’ = 127 – f(x, y) (4.6)
(ii) Pemotongan (clipping)
Operasi ini dilakukan jika nilai intensitas pixel hasil
suatu operasi pengolahan citra terletak di bawah nilai
intensitas minimum atau di atas nilai intensitas maksimum.
(iii) Pencerahan citra (image brightening)
Kecerahan citra dapat diperbaiki dengan menambahkan (atau
mengurangkan) sebuah konstanta kepada (atau dari) setiap
pixel di dalam citra. Secara matematis operasi ini ditulis
sebagai
f(x, y)’ = f(x, y) + b (4.8)
Jika b positif, kecerahan citra bertambah, sebaliknya jika b
negatif kecerahan citra berkurang.
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).
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.
1.1.2 Aras Lokal
Operasi pada aras lokal menghasilkan citra keluaran yang
intensitas suatu pixelbergantung pada intensitas pixel-pixel
tetangganya.
fB(x, y)’ = Olokal{fA(xi, yj); (xi, yj) N(x, y) } (4.9)
(keterangan: N = neighborhood, yaitu pixel-pixel yang berada
di sekitar (x, y) ). Contoh operasi beraras lokal adalah
operasi konvolusi untuk mendeteksi tepi (edge detection)
dan pelembutan citra (image smoothing). Gambar 4.5
adalah citra Lena hasil pendeteksian tepi.
Gambar 7. Hasil pendeteksian semua tepi citra Lena
1.1.3 Aras Global
Operasi pada aras global menghasilkan citra keluaran yang
intensitas suatu pixel bergantung pada intensitas keseluruhan
pixel (Gambar 4.6).
fB(x, y)’ = Oglobal{fA(x, y)} (4.10)
Contoh operasi beraras global adalah operasi
penyetaraan histogram untuk meningkatkan kualitas citra
(akan dibahas pada kuliah selanjutnya).
1.1.4 Aras Objek
Operasi jenis ini hanya dilakukan pada objek tertentu di
dalam citra. Tujuan dari operasi pada aras objek adalah untuk
mengenali objek tersebut, misalnya dengan menghitung rata-
rata intensitas, ukuran, bentuk, dan karakteristik lain dari
objek.
1.2 Operasi Aritmetika
Karena citra digital adalah matriks, maka operasi-operasi
aritmetika matriks juga berlaku pada citra. 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),
2. Perkalian dua buah citra:
C(x, y) = A(x, y) B(x, y),
3. Penjumlahan/pengurangan citra A dengan skalar c:
B(x, y) = A(x, y) c,
4. Perkalian/pembagian citra A dengan sebuah skalar c:
B(x, y) = c A(x, y)
1. Penjumlahan Dua Buah Citra
Persamaannya:
C(x, y) = A(x, y) + B(x, y) (4.11)
C adalah citra baru yang intensitas setiap pixel-nya adalah
jumlah dari intensitas tiap pixel pada A dan B. Jika hasil
penjumlahan intensitas lebih besar dari 255, maka
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.
2. Pengurangan Dua Buah Citra
Persamaannya:
C(x, y) = A(x, y) – B(x, y) (4.12)
C adalah citra baru yang intensitas setiap pixel-nya adalah
selisih antara intensitas pixel pada A dan B. 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. 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 terjadi
selama selang waktu tertentu bila dua buah citra yang diambil
adalah citra dari adegan yang sama. Teknik semacam ini
dipakai pada moving images.
3. Perkalian Dua Buah Citra
Persamaannya:
C(x, y) = A(x, y) B(x, y) (4.13)
Perkalian citra sering digunakan untuk mengoreksi
kenirlanjaran 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.
4. Penjumlahan/pengurangan Citra dengan skalar
Persamaannya:
B(x, y) = A(x, y) c (4.14)
Penjumlahan citra A dengan skalar c adalah menambah setiap
pixel di dalam citra dengah sebuah skalar c, dan menghasilkan
citra baru B yang intensitasnya lebih terang 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 intensitasnya lebih 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).
5. Perkalian/pembagian Citra dengan skalar
Persamaannya:
B(x, y) = c A(x, y), dan B(x, y) = A(x, y) / c (4.15)
Perkalian citra A dengan skalar c menghasilkan citra baru B
yang intensitasnya lebih 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 intensitasnya lebih gelap daripada A. Penurunan
intensitas setiap pixel berbanding terbalik dengan c. Operasi
pembagian citra dengan skalar dipakai untuk normalisasi
kecerahan (normalization of brightness).
1.3 Operasi Boolean pada Citra
Selain operasi aritmetika, pemrosesan citra dijital 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). (4.16)
Operasi Boolean mempunyai terapan yang penting pada
pemrosesan morfologi pada citra biner. Pada citra biner, operasi not
dapat digunakan untuk menentukan komplemen dari citra
1.4 Operasi Geometri pada Citra
Pada operasi geometrik, koordinat pixel berubah akibat
transformasi, sedangkan intensitasnya tetap. Ini berbeda dengan
dengan operasi aritmetika yang mana koordinat pixel 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)) (4.17)
yang dalam hal ini, g1(x) dan g2(y) adalah fungsi transformasi
geometrik. Dengan kata lain,
x’ = g1(x, y);
y’ = g2(x, y) (4.18)
a. Translasi
Rumus translasi citra:
x’ = x + m
y’ = y + n (4.19)
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] (4.20)
b. Rotasi
Rumus rotasi citra:
x’ = x cos(q) – y sin(q)
y’ = x sin(q) + y cos(q) (4.21)
yang dalam hal ini, q = sudut rotasi berlawanan arah jarum
jam (lihat Gambar 4.9). Jika citra semula adalah A dan citra
hasil rotasi adalah B, maka rotasi citra dari A ke B.
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 (4.23)
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] (4.24)
d. Flipping
Flipping adalah operasi geometri yang sama dengan
pencerminan (image reflection). Ada dua macam flipping:
horizontal dan vertikal.
Flipping horizontal adalah pencerminan pada sumbu-Y
(cartesian) dari citra A menjadi citra B, yang diberikan oleh:
B[x][y] = A[N – x][y]
(4.25)
Flipping vertikal adalah pencerminan pada sumbu-X
(cartesian) dari citra A menjadi citra B, yang diberikan oleh:
B[x][y] = A[x][M – y] (4.26)
Pencerminan pada titik asal (cartesian) dari citra A menjadi
citra B diberikan oleh:
B[x][y] = A[N – x][M – y] (4.27)
Pencerminan pada garis x = y dari citra A menjadi citra B
diberikan oleh: B[x][y] = A[y][x]
E. Konvolusi dan Transformasi Fourier
Operasi yang mendasar dalam pengolahan citra adalah
operasi konvolusi. Konvolusi 2 buah fungsi f(x) dan g(x). Contoh
ilustrasi konvolusi yang lain adalah dengaan fungsi delta. Ada dua
macam fungsi delta: delta Dirac dan delta Kronecker.
Fungsi delta Dirac disebut juga fungsi denyut (impuls). Fungsi ini
bernilai 0 untuk x = 0, dan “lebar” denyutnya sama dengan 1.
Sifat-sifat fungsi delta Dirac:
Fungsi delta Dirac adalah fungsi dengan daerah asal bilangan riil.
Bila kita bekerja dengan fungsi diskrit, maka fungsi delta yang
digunakan adalah fungsi delta Kronecker, yang didefinisikan sebagai
bentuk dwimatra dari fungsi delta diperoleh dengan mengalikan
bentuk satu matranya. Salah satu penggunaan fungsi delta adalah
melakukan penerokan (sampling) pada sinyal malar f(x).
Konvolusi Pada Fungsi Dwimatra
Untuk fungsi dengan dua peubah (fungsi dua dimensi atau dwimatra)
operasi konvolusi didefinisikan sebagai berikut :
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 x3, namun ada juga yang berukuran 2x 2 atau 2 x1
atau 1 x2). Ukuran matriks ini biasanya lebih kecil dari ukuran citra.
Setiap elemen matriks disebut koefisien konvolusi. Masalah timbul bila
pixel yang dikonvolusi adalah pixel pinggir (border), karena beberapa
koefisien konvolusi tidak dapat dapat diposisikan pada pixel-pixel citra
(efek “menggantung”). 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-pixel pinggir nilainya tetap sama
seperti citra asal.
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.
3. Elemen yang ditandai dengan “?” diasumsikan bernilai 0 atau
konstanta yang lain, sehingga konvolusi pixel-pixel pinggir dapat
dilakukan.
Konvolusi berguna pada proses pengolahan citra seperti :
perbaikan kualitas citra (image enhancement)
penghilangan derau
mengurangi erotan
penghalusan/pelembutan citra
deteksi tepi, penajaman tepi
Karena konvolusi dilakukan per pixel dan untuk setiap pixel
dilakukan operasi perkalian dan penjumlahan, maka jelas konvolusi
mengkonsumsi banyak waktu. Jika citra berukuran N xN dan kernel
berukuran m xm, maka jumlah perkalian adalah dalam orde N2m2.
Proses perubahan fungsi dari ranah ranah spasial ke ranah frekuensi
dilakukan melalui Transformasi Fourier. Sedangkan perubahan
fungsi dari ranah frekuensi ke ranah spasial dilakukan melalui
Transformasi Fourier Balikan (invers)
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
plo t amplitudo versus waktu (pada fungsi satu matra) atau plot
amplitudo versus posisi spasial (pada fungsi dwimatra). 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.
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.
Transformasi Fourier Malar
Baik transformasi Fourier maupun Transformasi Fourier
Balikan keduanya dinamakan pasangan transformasi Fourier. Sifat-
sifat transformasi fourier
Transformasi Fourier Diskrit
Pada pengolahan sinyal dengan komputer digital, fungsi
dinyatakan oleh himpunan berhingga nilai diskrit. Transformasi Fourier
Diskrit (TFD) ditujukan bagi persoalan yang tidak menghasilkan solusi
transformasi Fourier dalam bentuk fungsi malar.
F. Histogram Citra
Histogram citra adalah grafik yang menggambarkan penyebaran nilai-
nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra.
Misalnya citra digital memiliki L derajat keabuan, yaitu dari nilai 0 sampai
L-1 (misalnya pada citra dengan kuantisasi derajat keabuan 8-bit, nilai
keabuan dari 0 sampai 255). Secara matematis histogram citra dihitung
dengan rumus :
Algoritma Perhitungan Histogram
Citra masukan mempunyai 256 derajat keabuan yang nilai-nilainya dari
0 sampai 255. Intensitas pixel disimpan di dalam Image[0..N-1][0..M-1],
sedangkan histogram disimpan di dalam tabel Hist [0..255] .
void histogram(citra Image, int N, int M, float Hist [256])
/* Menghitung histogram untuk citra Image yang berukuran N x M
Histogram disimpan di dalam tabel Hist yang bertipe riil(float). */
{ int i, j, n;
/* inisialisasi Hist[0..255] dengan 0 */
for(i=0;i<=255;i++) Hist[i]=0;
for(i=0;i<=N-1;i++)
for(j=0;j<=M-1;j++) Hist[Image[i][j]]=Hist[Image[i][j]]+1;
/*normalisasi Hist[i] dengan jumlah seluruh pixel*/
n=N*M;
for(i=0;i<=255;i++) Hist[i]=Hist[i]/(float)n;
}
(b) Histogram citra kapal
(by PolyView )
(a) kapal 512 512, 8-bit
G. Perbaikan Kualitas Citra
Melalui operasi pemrosesan awal inilah kualitas citra diperbaiki
sehin gga citra dapat digunakan untuk aplikasi lebih lanjut, misalnya
untuk aplikasi pengenalan (recognition) objek di dalam citra
Lingkup Proses Perbaikan Kualitas Citra
Yang dimaksud dengan perbaikan kualitas citra adalah proses
mendapatkan citra yang lebih mudah diinterpretasikan oleh mata
manusia. Proses-proses yang termasuk ke dalam perbaikan kualitas citra :
1. Pengubahan kecerahan gambar (image brightness)
2. Peregangan kontras (contrast stretching)
3. Pengubahan histogram citra.
4. Pelembutan citra (image smoothing)
5. Penajaman (sharpening) tepi (edge).
6. Pewarnaan semu (pseudocolouring)
7. Pengubahan geometrik
1. Pengubahan Kecerahan Gambar (Image Brightness)
Untuk membuat citra lebih terang atau lebih gelap, kita
melakukan pengubahan kecerahan gambar. Kecerahan/kecemerlangan
gambar dapat diperbaiki dengan menambahkan (atau mengurangkan)
sebuah konstanta kepada (atau dari) setiap pixel di dalam citra.
Akibat dari operasi ini, histogram citra mengalami pergeseran.
Secara matematis operasi ini ditulis sebagai
f(x, y)’ = f(x, y) + b (7.3)
Jika b positif, kecerahan gambar bertambah, sebaliknya jika b
negatif kecerahan gambar berkurang.
2. Peregangan Kontras
Kontras menyatakan sebaran terang (lightness ) dan gelap
(darkness) di dalam sebuah gambar. Citra dapat dikelompokkan ke
dalam tiga kategori kontras: citra kontras-rendah (low contrast),
citra kontras-bagus (good contrast atau normal contrast), dan citra
kontras-tinggi (high contrast). Ketiga kategori ini umumnya
dibedakan secara intuitif.
Citra kontras-rendah dicirikan dengan sebagian besar
komposisi citranya adalah terang atau sebagian besar gelap. Dari
histogramnya terlihat sebagian besar derajat keabuannya
terkelompok (clustered) bersama atau hanya menempati sebagian
kecil dari rentang nilai-nilai keabuan yang mungkin. Jika
pengelompokan nilai-nilai pixel berada di bagian kiri (yang berisi
nilai keabuan yang rendah), citranya cenderung gelap. Jika
pengelompokan nilai-nilai pixel berada di bagian kanan (yang berisi
nilai keabuan yang tinggi), citranya cenderung terang. Tetapi,
mungkin saja suatu citra tergolong kontras-rendah meskipun tidak
terlalu terang atau tidak terlalu gelap bila semua pengelompokan nilai
keabuan berada di tengah histogram.
3. Pengubahan Histogram Citra
Untuk memperoleh histogram citra sesuai dengan keinginan
kita, maka penyebaran nilai-nilai intensitas pada citra harus diubah.
Terdapat dua metode pengubahan citra berdasarkan histogram :
1. Perataan historam (histogram equalization)
Nilai-nilai intensitas di dalam citra diubah sehingga
penyebarannya seragam (uniform).
2. Spesifikasi histogram (histogram spesification)
Nilai-nilai intensitas di dalam citra diubah agar diperoleh
histogram den gan bentuk yang dispesifikasikan oleh pengguna.
4. Perataan Histogram
Sebagaimana telah dijelaskan pada pembahasan terdahulu,
histogram citra memberikan informasi tentang penyebaran intensitas
pixel-pixel di dalam citra. Misalnya, citra yang terlalu terang atau
terlalu gelap memiliki histogram yang sempit. Agar kita
memperoleh citra yang baik, maka penyebaran nilai intensitas
harus diubah. Teknik yang lazim dipakai adalah perataan
histogram (histogram equalization). Tujuan dari perataan
histogram adalah untuk memperoleh penyebaran histogram yang
merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah
pixel yang relatif sama.
Meskipun perataan histogram bertu juan menyebarkan secara
merata nilai-nilai derajat keabuan, tetapi seringkali histogram
hasil perataan tidak benar-benar tersebar secara merata.
5. Spesifikasi Histogram
Perataan histogram memetakan histogram citra semula
menjadi histogram yang seragam. Bila histogram yang diinginkan
tidak seragam, maka cara ini tidak dapat digunakan. Metode spesifikasi
histogram (histogram spesification) memberikan cara menghasilkan
histogram yang ditentukan oleh pengguna. Cara pembentukan
histogramnya memanfaatkan sifat pada perataan histogram. Bila
fungsi transformasi pada perataan histogram menghasilkan
histogram semula menjadi histogram yang seragam, maka fungsi
balikannya (inverse) memetakan histogram yang seragam menjadi
histogram semula. Sifat ini dapat dimanfaatkan untuk
mengubah histogram citra menjadi histogram lain yang tidak
seragam.
6. Pelembutan Citra (Image Smoothing)
Pelembutan citra (image smoothing) bertujuan untuk menekan
gangguan (noise) pada citra. Gangguan tersebut biasanya
muncul sebagai akibat dari hasil penerokan yang tidak bagus
(sensor noise, photographic grain noise) atau akibat saluran
transmisi (pada pengiriman data).
Gangguan pada citra umumnya berupa variasi intensitas suatu
pixel yang tidak berkorelasi dengan pixel-pixel tetangganya.
Secara visual, gangguan mudah dilihat oleh mata karena tampak
berbeda dengan pixel tetangganya.
7. Penajaman Citra (Image Sharpening)
Operasi penajaman citra bertujuan memperjelas tepi pada
objek di dalam citra. Penajaman citra merupakan kebalikan dari
operasi pelembutan citra karena operasi ini menghilangkan bagian
citra yang lembut. Operasi penajaman dilakukan dengan melewatkan
citra pada penapis lolos-tinggi (high-pass filter). Penapis lolos-
tinggi akan meloloskan (atau memperkuat) komponen yang
berfrekuensi tinggi (misalnya tepi atau pinggiran objek) dan akan
menurunkan komponen berfrekuensi rendah. Akibatnya, pinggiran
objek telihat lebih tajam dibandingkan sekitarnya.
Karena penajaman citra lebih berpengaruh pada tepi
(edge) objek, maka penajaman citra sering disebut juga
penajaman tepi (edge sharpening) atau peningkatan kualitas tepi
(edge enhancement ).
8. Pewarnaan Semu
Pewarnaan semu adalah proses memberi warna tertentu
pada nilai-nilai pixel suatu citra skala-abu pada suatu citra
berdasarkan kriteria tertentu, misalnya suatu warna tertentu untuk
suatu interval derajat keabuan tertentu. Hal ini dilakukan karena
mata manusia mudah membedakan banyak jenis warna.
9. Koreksi Geometrik
Koreksi geometrik dilakukan pada citra yang memiliki
gangguan yang terjadi pada waktu proses perekaman citra,
misalnya pergeseran koordinat citra (translasi), perubahan
ukuran citra, dan perubahan orientasi koordinat citra (skew).
Proses koreksi geometri untuk meningkatkan kualitas citra
tersebut disebut juga koreksi geometri. Koreksi geometri yang
sederhana adalah dengan operasi geometri sederhana seperti rotasi,
translasi, dan penskalaan citra.
Top Related