Anda di halaman 1dari 32

PENGOLAHAN CITRA

Disusun oleh :

Nama NIM Rombel

: Etika Wahyu Perdani : 5302410016 : 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. 3. Elemen di dalam citra perlu dikelompokkan, dicocokkan atau diukur. 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 parameterparameter 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) f(x, y) : koordinat pada bidang dwimatra : 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=2n
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 diambil perpangkatan dari 2, G

G=2m
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. 2. 3. 4. 5. 6. Kecerahan (brightness) Kontras (contrast) Kontur (contour) Warna (colour) Bentuk (shape) 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 komputer sebagai berikut: digital secara fisik di dalam memori

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 operasi pengambangan (thresholding). menjadi

adalah

Algoritma citra biner

transformasi citra hitam-putih 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 suatu pixel hasil

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 berdasarkan pergeseran tidak geometri (translasi), berubah. Contoh operasi pemutaran titik

misalnya

(rotasi), (dilatasi),

penskalaan

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)} Contoh operasi beraras global adalah (4.10) 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) 2. B(x, y),

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 pengurangan suatu citra objek kedua dari dua buah citra. Hasil pertama

dengan

gambar

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) Perkalian citra sering digunakan untuk (4.13) 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 menghasilkan citra baru c, dan

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 intensitas perkalian setiap citra terang daripada A. Kenaikan c. Operasi kalibrasi

pixel sebanding dengan dengan skalar dipakai untuk

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). Operasi Boolean mempunyai terapan yang penting (4.16) 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 pengubahan citra, disebut juga image zooming, out yaitu atau

ukuran

citra

(membesar/zoom

mengecil/zoom in). Rumus penskalaan citra: x = sx y = sy x y (4.23)

yang dalam hal ini, sx dan sy adalah faktor skala masingmasing 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] Flipping vertikal adalah pencerminan pada (4.25) 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 operasi yang mendasar dalam pengolahan citra adalah

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 terjadi pada menggantung seperti ini selalu

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 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 dilakukan. konvolusi pixel-pixel pinggir dapat pinggir nilainya tetap sama

Konvolusi berguna pada proses pengolahan citra seperti : Karena konvolusi dilakukan per pixel dan untuk setiap pixel perbaikan kualitas citra (image enhancement) penghilangan derau mengurangi erotan penghalusan/pelembutan citra deteksi tepi, penajaman tepi

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 fungsi dari Transformasi Fourier. Sedangkan perubahan

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 amplitudo versus posisi spasial (pada satu matra) atau plot Pada

fungsi dwimatra).

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. Fourier Untuk perubahan dari

sebaliknya digunakan Transformasi Transformasi Fourier

Balikan.

Intisari

adalah menguraikan sinyal atau gelombang

menjadi sejumlah sinusoida dari berbagai frekuensi, yang jumlahnya ekivalen dengan gelombang asal.

Transformasi Fourier Malar Baik Balikan transformasi Fourier maupun Transformasi Fourier

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 nilainilai 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. 2. 3. 4. Pengubahan kecerahan gambar (image brightness) Peregangan kontras (contrast stretching) Pengubahan histogram citra. Pelembutan citra (image smoothing)

5. 6. 7.

Penajaman (sharpening) tepi (edge). Pewarnaan semu (pseudocolouring) 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 nilai intensitas perataan perataan

memperoleh harus diubah. histogram

citra yang baik, maka penyebaran Teknik yang lazim dipakai Tujuan

adalah dari

(histogram equalization).

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) histogram yang ditentukan oleh memberikan pengguna. cara Cara menghasilkan 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 muncul (noise) pada sebagai akibat citra. dari Gangguan tersebut biasanya

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). tinggi akan meloloskan (atau Penapis lolos-

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

penajaman

citra

lebih

berpengaruh sering

pada

tepi juga

objek,

maka penajaman citra

disebut

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 waktu pada citra proses yang memiliki citra,

gangguan yang terjadi pada misalnya pergeseran

perekaman

koordinat

citra (translasi),

perubahan

ukuran citra, dan perubahan orientasi koordinat citra (skew). Proses koreksi geometri untuk meningkatkan kualitas citra yang

tersebut disebut juga koreksi geometri. Koreksi geometri

sederhana adalah dengan operasi geometri sederhana seperti rotasi, translasi, dan penskalaan citra.