Pengolahan Citra

48
PENGOLAHAN CITRA Disusun oleh : Nama : Etika Wahyu Perdani NIM : 5302410016 Rombel : 01 PROGRAM STUDI PTIK JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI SEMARANG

description

Rangkuman Materi Pengolahan Citra Semester 5

Transcript of Pengolahan Citra

Page 1: Pengolahan Citra

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

Page 2: Pengolahan Citra

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

Page 3: Pengolahan Citra

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

Page 4: Pengolahan Citra

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

Page 5: Pengolahan Citra

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.

Page 6: Pengolahan 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

Page 7: Pengolahan Citra

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)

Page 8: Pengolahan Citra

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)

Page 9: Pengolahan Citra

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.

Page 10: Pengolahan Citra

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

Page 11: Pengolahan Citra

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

Page 12: Pengolahan Citra

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

Page 13: Pengolahan Citra

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,

Page 14: Pengolahan Citra

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 :

Page 15: Pengolahan Citra

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:

Page 16: Pengolahan Citra

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.

Page 17: Pengolahan Citra

(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

Page 18: Pengolahan Citra

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:

Page 19: Pengolahan Citra

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

Page 20: Pengolahan 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

Page 21: Pengolahan Citra

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,

Page 22: Pengolahan Citra

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

Page 23: Pengolahan Citra

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.

Page 24: Pengolahan Citra

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

Page 25: Pengolahan Citra

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

Page 26: Pengolahan Citra

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.

Page 27: Pengolahan Citra

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;

}

Page 28: Pengolahan Citra

(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)

Page 29: Pengolahan Citra

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

Page 30: Pengolahan 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

Page 31: Pengolahan Citra

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 ).

Page 32: Pengolahan Citra

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.