PENGOLAHAN CITRA
Ujian Tengah Semester
Makalah Bab 1 -7 Pengolahan Citra
Disusun oleh:
Nama : ABDULLAH AZZAM AL HAQQONI
Nim : 5302410097
Rombel : 03
PENDIDIKAN TEKNIK INFORMATIKA DAN
KOMPUTER
TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI SEMARANG
2012
BAB I
PENDAHULUAN
Dalam zaman sekarang ini, kebutuhan akan informasi merupakan sebuah hal yang sangat vital dalam kelangsungan hidup di dunia. Data atau informasi yang dibutuhkan bukan hanya sekedar berbentuk tulisan (teks), tapi juga bisa disajikan dalam bentuk audio (suara, musik, dan bunyi), gambar, dan video. Keseluruhan data diatas biasa disebut dengan multimedia. Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Citra (image) sendiri merupakan istilah lain untuk gambar sebagai salah satu komponen multimedia memegang peranan sanagat penting sebagai bentuk informasi visual. Citra umumnya memiliki karakterisitik yang tidak dimiliki oleh data teks, yaitu citra kaya akan informasi. Di dalam bidang computer, ada 3 bidang studi yang berkaitan dengan citra, namun tujuan ketiganya berbeda, yaitu : Grafika computer (Computer Graphics), Pengolahan Citra (Image Processing), Pengenalan Pola (Pattern recognition/image interpretation). Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi ), misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang. Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing). Pengolahan citra ini sendiri didefinisikan sebagai sebuah cara untuk memroses suatu citra yang sesuai dengan kita atau kualitasnya menjadi lebih baik. Dalam pengolahan citra juga dikenal istilah computer vision, yang artinya merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti: Akuisisi citra, pengolahan citra, klasifikasi, pengenalan (recognition), membuat keputusan.
Ada sebuah peribahasa yang berbunyi “sebuah gambar bermakna lebih dari seribu
kata” (a picture is more than a thousand words). Maksudnya tentu sebuah gambar dapat
memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam bentuk
kata-kata (tekstual).
Bab pertama berisi pembahasan mengenai citra dan pengolahannya. Selain itu, di
dalam bab ini dipaparkan pula bidang-bidang yang berkaitan dengan pengolahan citra, seperti
grafika komputer dan pengenalan pola. Secara harafiah, citra (image) adalah gambar pada
bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan
fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya
menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan
cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera,
1
pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut
terekam.
2
BAB II
PEMBAHASAN
BAB 1 PENGANTAR PENGOLAHAN CITRA
Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa
gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini
sering disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan dari
multimedia. Situs web (website) di Internet dibuat semenarik mungkin dengan menyertakan
visualisasi berupa gambar atau video yang dapat diputar. Beberapa waktu lalu istilah SMS
(Short Message Service) begitu populer bagi pengguna telepon genggam (handphone atau
HP). Tetapi, saat ini orang tidak hanya dapat mengirim pesan dalam bentuk teks, tetapi juga
dapat mengirim pesan berupa gambar maupun video, yang
dikenal dengan layanan MMS (Multimedia Message Service).citra (image) adalah gambar
pada bidang dwimatra (duadimensi). Merupakan suatu kesatuan yang saling berhubungan
atau terintegrasi untuk membentuk suatu sistem antara data, perangkat keras, perangkat
lunak, prosedure pengolahan, dan tenaga pelaksana dalam ekplorasi citra digital.
Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari
intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek
memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap
3
oleh oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan
sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat [MUR92]:
1. optik berupa foto,
2. analog berupa sinyal video seperti gambar pada monitor televisi,
3. digital yang dapat langsung disimpan pada suatu pita magnetik.
Citra yang dimaksudkan di dalam keseluruhan isi buku ini adalah “citra diam” (still images).
Citra diam adalah citra tunggal yang tidak bergerak. Gambar 1.1 adalah dua buah citra diam.
Untuk selanjutnya, citra diam kita sebut citra saja.
Citra bergerak (moving images) adalah rangkaian citra diam yang ditampilkan secara
beruntun (sekuensial) sehingga memberi kesan pada mata kita sebagai gambar yang bergerak.
Setiap citra di dalam rangkaian itu disebut frame.
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila :
Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas
penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam
citra,
Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
Sebagian citra perlu digabung dengan bagian citra yang lain.
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data
citra, namun tujuan ketiganya berbeda, yaitu:
1. Grafika Komputer (computer graphics).
2. Pengolahan Citra (image processing).
3. Pengenalan Pola (pattern recognition/image interpretation).
4
Aplikasi Pengolahan Citra dan Pengenalan PolaPengolahan citra mempunyai aplikasi yang sangat luas dalam berbagai bidang kehidupan. Di
bawah ini disebutkan beberapa aplikasi dalam beberapa bidang [MEN89].
1. Bidang perdagangan
(a) Pembacaan kode batang (bar code) yang tertera pada barang (umum
digunakan di pasar swalayan/supermarket).
(b) Mengenali huruf/angka pada suatu formulir secara otomatis.
2. Bidang militer
(a) Mengenali sasaran peluru kendali mela lui sensor visual.
(b) Mengidentifikasi jenis pesawat musuh.
3. Bidang kedokteran
(a) Pengolahan citra sinar X untuk mammografi (deteksi kanker payudara)
(b) NMR (Nuclear Magnetic Resonance)
(c) Mendeteksi kelainan tubuh dari foto sinar X.
(d) Rekonstruksi foto janin hasil USG
4. Bidang biologi
Pengenalan jenis kromosom melalui gambar mikroskopik
5. Komunikasi data
Pemampatan citra yang ditransmisi.
6. Hiburan
Pemampatan video (MPEG)
7. Robotika
Visualy-guided autonomous navigation
8. Pemetaan
Klasifikasi penggunaan tanah melalui foto udara/LANDSAT
9. Geologi
Mengenali jenis batu-batuan melalui foto udara/LANDSAT
10. Hukum
(a) Pengenalan sidik jari
(b) Pengenalan foto narapidana.
5
Citra UjiPada pembahasan operasi-operasi pengolahan citra, biasanya penulis buku/ literatur
menggunakan beberapa contoh citra uji (test images) atau sampel. Terdapat sejumlah citra
yang sering dipakai di dalam literatur pengolahan citra atau computer vision.
6
BAB 2 PEMBENTUKAN CITRA
Citra ada dua macam: citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari
sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra
diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik
dilengkapi dengan fungsi digitalisasi sehingga ia mampu menghasilkan citra diskrit, misalnya
kamera digital dan scanner. Citra diskrit disebut juga citra digital. Komputer digital yang
umum dipakai saat ini hanya dapat mengolah citra digital. Bab 2 ini berisi konsep
pembentukan citra, baik citra kontinu maupun citra digital.
Citra merupakan fungsi malar (kontinyu) dari intensitas cahaya pada bidang
dwimatra. Secara matematis fungsi intensitas cahaya pada bidang dwimatra disimbolkan
dengan f(x, y). Komputer digital yang digunakan pada sistem pemroses citra dapat bervariasi dari
komputer mikro sampai komputer besar yang mampu melakukan bermacam-macam fungsi pada citra
digital resolusi tinggi.
Agar dapat diolah dengan dengan komputer digital, maka suatu citra harus direpresentasikan
secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi malar (kontinu)
menjadi nilai-nilai diskrit disebut digitalisasi . Citra yang dihasilkan inilah yang disebut citra
digital (digital image). Pada umumnya citra digital berbentuk empat persegipanjang, dan
dimensi ukurannya dinyatakan sebagai tinggi lebar (atau lebar panjang).
Citra ada 2 macam :
1. Citra Kontinu : Dihasilkan dari sistem optik yang menerima sinyal analog. Contoh : mata
manusia, kamera analog.
2. Citra Diskrit / Citra Digital : Dihasilkan melalui proses digitalisasi terhadap citra kontinu.
Contoh : kamera digital, scanner
Model Citra
Citra merupakan fungsi kontinu dari intensitas cahaya pada bidang 2D
Secara matematis fungsi intensitas cahaya pada bidang 2D disimbolkan dengan f(x,y),
dimana:
(x,y): koordinat pada bidang 2D
f(x,y) : intensitas cahaya (brightness)pada titik (x,y)
7
Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0 sampai
tidak berhingga, 0 ≤f(x,y) ≤∞ f(x,y) = i(x,y) . r(x,y)
Dimana : i(x,y) : jumlah cahaya yang berasal dari sumbernya (illumination)yang nilainya
0≤i(x,y) ≤∞. Nilai i(x,y)ditentukan oleh sumber cahaya r(x,y): derajat kemampuan obyek
memantulkan cahaya (reflection) yang nilainya 0 ≤r(x,y) ≤1. Nilai r(x,y)ditentukan oleh
karakteristik obyek di dalam citra. r(x,y)=0 mengindikasikan penyerapan total. r(x,y)=1
mengindikasikan pemantulan total.
Derajat Keabuan (grey level): intensitas f citra hitam-putih pada titik (x,y)
– Derajat keabuan bergerak dari hitam ke putih.
– Skala keabuan memiliki rentang : lmin< f < lmaxatau [0,L], dimana intensitas 0
menyatakan
hitam dan Lmenyatakan putih.Contoh : citra hitam-putih dengan 256 level, artinya
mempunyai skala abu-abu dari 0 sampai 255 atau [0,255], dalam hal ini nilai 0 menyatakan
hitam dan 255 menyatakan putih, nilai antara 0 sampai255 menyatakan warna keabuan yang
terletak antara hitam dan putih.
Citra berwarna : citra spektral , karena warna pada citra disusun oleh tiga komponen warna
RGB (Red-Green-Blue). Intensitas suatu titik pada citra berwarna merupakan kombinasi dari
intesitas : merah (f merah (x,y)), hijau (f hijau (x,y)) dan biru (f biru (x,y)).
DigitalisasiCitra
Digitalisasi citra : representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit,
sehingga disebut Citra Digital.
Citra digital berbentuk empat persegipanjang dan dimensi ukurannya dinyatakan sebagai
tinggi x lebar (lebar x panjang).
Citra digital yang tingginya N, lebarnya M dan memiliki Lderajat keabuan dapat dianggap
sebagai fungsi :
8
Proses digitalisasi citra ada dua macam:
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). Perhatikan Gambar 2.3.
Terdapat perbedaan antara koordinat gambar (yang diterok) dengan koordinat
matriks (hasil digitalisasi). Titik asal (0, 0) pada gambar dan elemen (0, 0) pada
matriks tidak sama. Koordinat x dan y pada gambar dimulai dari sudut kiri bawah,
sedangkan penomoran pixel pada matriks dimulai dari sudut kiri atas (Gambar 2.4).
9
Gambar 2.6 mempelihatkan efek perbedaan penerokan pada citra Lena,
masingmasing 256 ´ 256, 128 ´ 128, 64 ´ 64, dan 32 ´ 32 pixel, seluruh citra
mempunyai jumlah derajat keabuan sama, yaitu 256 buah. Karena area tampilan
untuk keempat citra Lena pada Gambar 2.6 sama, (yaitu 256 ´ 256 pixel), maka pixel-
pixel citra yang beresolusi rendah diduplikasi untuk mengisi seluruh bidang tampilan.
Hal ini menghasilkan efek blok-blok yang sering diamati pada gambar beresolusi
rendah pada umumnya.
Elemen-elamen Citra Digital
1. Kecerahan (brightness).
Kecerahan adalah kata lain untuk intensitas cahaya. Sebagaimana telah dijelaskan pada
bagian penerokan, kecerahan pada sebuah titik (pixel) di dalam citra bukanlah intensitas yang
riil, tetapi sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya. Sistem
visual manusia mampu menyesuaikan dirinya dengan tingkat kecerahan (brightness level)
mulai dari yang paling rendah sampai yang paling tinggi dengan jangkauan sebesar 1010
[MEN89].
2. Kontras (contrast).
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah gambar.
Citra dengan kontras rendah dicirikan oleh sebagian besar komposisi citranya adalah terang
atau sebagian besar gelap. Pada citra dengan kontras yang baik, komposisi gelap dan terang
tersebar secara merata.
3. Kontur (contour)
10
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixelpixel yang
bertetangga. Karena adanya perubahan intensitas inilah mata kita mampu mendeteksi tepi-
tepi (edge) objek di dalam citra.
4. Warna (color)
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang
gelombang cahaya yang dipantulkan oleh objek.
Setiap warna mempunyai panjang gelombang () yang berbeda. Warna merah mempunyai
panjang gelombang paling tinggi, sedangkan warna ungu (violet) mempunyai panjang
gelombang paling rendah.
5. Bentuk (shape)
Shape adalah properti intrinsik dari objek tiga dimensi, dengan pengertian bahwa shape
merupakan properti intrinsik utama untuk sistem visual manusia [BAL82]. Manusia lebih
sering mengasosiasikan objek dengan bentuknya ketimbang elemen lainnya (warna
misalnya). Pada umumnya, citra yang dibentuk oleh mata merupakan citra dwimatra (2
dimensi), sedangkan objek yang dilihat umumnya
berbentuk trimatra (3 dimensi). Informasi bentuk objek dapat diekstraksi dari citra pada
permulaaan pra-pengolahan dan segmentasi citra. Salah satu tantangan utama pada computer
vision adalah merepresentasikan bentuk, atau aspek-aspek penting dari bentuk.
6. Tekstur (texture)
Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel-
pixel yang bertetangga [JAI95]. Jadi, tekstur tidak dapat didefinisikan untuk sebuah pixel.
Sistem vissual manusia pada hakikatnya tidak menerima informasi citra secara independen
pada setiap pixel, melainkan suatu citra dianggap sebagai suatu kesatuan. Resolusi citra yang
diamati ditentukan oleh skala pada mana tekstur tersebut dipersepsi. Sebagai contoh, jika kita
mengamati citra lantai berubin dari jarak jauh, maka kita mengamati bahwa tekstur terbentuk
oleh penempatan ubin-ubin secara keseluruhan, bukan dari persepsi pola di dalam ubin itu
sendiri. Tetapi, jika kita mengamati citra yang sama dari jarak yang dekat, maka hanya
beberapa ubin yang tampak dalam bidanng pengamatan, sehingga kita mempersepsi bahwa
tekstur terbentuk oleh penempatan pola-pola rinci yang menyusun tiap ubin.
11
Digitizer (atau digital image acquisition system) merupakan sistem penangkap citra digital
yang melakukan penjelajahan citra dan mengkonversinya ke representasi numerik sebagai
masukan bagi komputer digital. Hasil dari digitizer adalah matriks yang elemen-elemennya
menyatakan nilai intensitas cahaya pada suatu titik. Contoh digitizer adalah kamera digital,
scanner. Digitizer terdiri dari tiga komponen dasar: sensor citra yang bekerja sebagai
pengukur intensitas cahaya, perangkat penjelajah yang berfungsi merekam hasil pengukuran
intensitas pada seluruh bagian citra, dan pengubah analog-ke-digital yang berfungsi
melakukan penerokan dan kuantisasi. Komputer digital yang digunakan pada sistem
pemroses citra dapat bervariasi dari komputer mikro sampai komputer besar yang mampu
melakukan bermacam-macam fungsi pada citra digital resolusi tinggi.
12
BAB 3 STRUKTUR DATA UNTUK 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). Di dalam bab ini
akan mendefinisikan struktur data matriks untuk citra digital. Notasi algoritmik yang kita
gunakan untuk menjelaskan struktur data ini (beserta beberapa primitif operasi citra) adalah
notasi Bahasa C. Pemrograman citra digital lebih cocok menggunakan Bahasa C karena
Bahasa C mempunyai penanganan tipe pointer yang lebih dinamis daripada Bahasa Pascal.
Pada pembahasan nanti kita akan melihat bahwa struktur data matriks direpresentasikan
dengan menggunakan tipe pointer mengingat ukuran matriks tidak diketahui sebelum
pemrosesan citra digital.
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.
Matriks
13
ATAU
Menampilkan Citra ke Layar
Jika citra yang ditampilkan adalah citra hitam-putih (matriks intensitas pixel-nya adalah f), maka
perubahan yang dilakukan adalah pada: setpixel(f[i][j],f[i][j],f[i][j], j, i);
Pixel (i,j) ditampilkan pada posisi (j,i) di layar karena perbedaan sistem koordinat yang digunakan
pada representasi citra dan layar peraga (lihat Gambar 3.2).
Membaca Citra dari Arsip
Citra disimpan di dalam arsip biner untuk sewaktu-waktu dibuka dan dibaca kembali.
Arsip tersebut ada yang mempunyai header dan ada yang tanpa header. Header adalah
informasi yang terletak pada bagian awal arsip. Header berisi informasi bagaimana citra
disimpan. Kita perlu mengetahui header agar kita mengetahui cara membaca data citra. Saat
14
ini terdapat bermacam-macam format penyimpanan citra di dalam arsip (misalnya BMP, GIF,
TIFF, PCX, JPG, dan lain-lain). Dua format yang populer saat ini dan seolah-olah menjadi
standard adalah GIF dan JPG. Pembahasan format-format citra di dalam arsip diluar cakupan
buku ini, namun khusus format bitmap (BMP) akan diberikan di dalam Bab 3 ini sebagai satu
studi kasus.
Format Berkas Bitmap
Citra disimpan di dalam berkas (file) dengan format tertentu. Format citra yang baku
di lingkungan sistem operasi Microsoft Windows dan IBM OS/2 adalah berkas bitmap
(BMP). Saat ini format BMP memang “kalah” populer dibandingkan format JPG atau GIF.
Hal ini karena berkas BMP pada umumnya tidak dimampatkan, sehingga ukuran berkasnya
relatif lebih besar daripada berkas JPG maupun GIF. Hal ini juga yang menyebabkan format
BMP sudah jarang digunakan. Meskipun format BMP tidak mangkus dari segi ukuran berkas,
namun format BMP mempunyai kelebihan dari segi kualitas gambar. Citra dalam format
BMP lebih bagus daripada citra dalam format yang lainnya, karena citra dalam format BMP
umumnya tidak dimampatkan sehingga tidak ada informasi yang hilang (pemampatan citra
dibahas secara mendalam di dalam Bab 10). Terjemahan bebas bitmap adalah pemetaan bit.
Artinya, nilai intensitas pixel di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit yang
umum adalah 8, artinya setiap pixel panjangnya 8 bit. Delapan bit ini merepresentasikan nilai
intensitas pixel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0
sampai 255.
BagianBerkasBMP (2)
Header berkas
Header bitmap : bagaimanadata bitmap dikodekandandisimpan, mis. ukurancitra, resolusi,
jumlahwarnayang digunakan, dll.
Informasipaletdinyatakandalamtabelyang terdiridari3 field: Red, Green, Blue.
Data bitmapdisusunterbalikdaribawahkeatasdalambentukmatriksberukuranHeight x Width.
15
Informasi Header Bitmap
Primitif Citra Bitmap
Meskipun saat ini kakas pemrograman visual (visual programming) seperti Visual C+
+, Delphi, Borland C++ Builder, dan lain-lain, sudah banyak memberikan kemudahan untuk
memprogram citra bitmap (dengan menyediakan komponen, struktur data, dan metode-
metode untuk mengkases citra bitmap), namun ada baiknya kita membuat sendiri primitif-
primitif citra bitmap. Primitif tersebut adalah berupa fungsi dan prosedur untuk membaca
citra dari arsip, menyimpan citra ke dalam arsip, dan menampilkan citra ke layar. Berikut ini
diberikan beberapa primitif citra bitmap. Citra bitmap yang ditangani hanyalah citra dengan
kedalaman 8-bit (256 warna) dan citra 24-bit (16,7 juta warna), baik berupa citra skala-abu
maupun citra berwarna. Citra biner (1-bit)tidak ditangani di sini karena citra biner
dimampatkan dengan metode RLE (Run Length Encoding).
1. Berkas header
16
Nama arsip: bitmap.h
Penjelasan: Berkas header berisi struktur data untuk citra bitmap.
2. Membaca citra dari arsip.
Nama fungsi: BacaBerkasCitra(char *NamaArsip)
Include: bitmap.h
Penjelasan: Fungsi untuk membaca citra dari arsip.
3. Membaca header berkas bitmap.
Nama fungsi: BacaHeader(FILE *fp)
Include: bitmap.h
Penjelasan: Fungsi untuk membaca header berkas bitmap.
4. Membaca data bitmap.
Nama fungsi: BacaDataBitmap(FILE *fp, int N, int M)
Include: bitmap.h
Penjelasan: Fungsi untuk membaca data bitmap.
5. Menampilkan citra ke layar.
Nama fungsi: TampilkanCitra(int N, int M)
Include: bitmap.h
Penjelasan: Fungsi untuk menampilkan citra ke layar.
6. Alokasi/dealoaksi memori matriks (citra).
17
Nama fungsi: a. AlokasiMemoriCitra(int N, int M)
b. AlokasiMemoriCitra24Bit(int N, int M)
c. **alokasi(int N, int M, int UkuranElemen)
d. *xalloc(unsigned ukuran)
e. DealokasiMemoriCitra(int N, int jumlahbit)
Include: bitmap.h
Penjelasan: Fungsi-fungsi untuk alokasi/dealokasi memori matriks.
18
BAB 4 OPERASI-OPERASI DASAR PENGOLAHAN CITRA
Citra dijital direpresentasikan dengan matriks. Operasi pada citra dijital pada dasarnya adalah
memanipulasi elemen-elemen matriks. Elemen matriks yang dimanipulasi dapat berupa
elemen tunggal (sebuah pixel), sekumpulan elemen yang berdekatan, atau keseluruhan
elemen matriks.
Di dalam bab ini akan diuraikan operasi-operasi dasar pada pengolahan citra digital. 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.
Arah Komputasi
1.Arah TitikOperasi pada aras titik hanya dilakukan pada pixel tunggal di dalam citra.
Operasi titik dikenal juga dengan nama operasi pointwise.
fB(x, y) = Otitik{fA(x, y)}
a. Berdasarkan intensitas.
Nilai intensitas u suatu pixel diubah dengan transformasi h menjadi nilai intensitas baru v:
v = h(u), u, v Î [0, L]
19
Contoh operasi titik berdasarkan intensitas adalah operasi pengambangan (thresholding).
Pada operasi pengambangan, nilai intensitas pixel dipetakan ke salah satu dari dua nilai, a1
atau a2, berdasarkan nilai ambang (threshold) T:
Jika a1 = 0 dan a2 = 1, maka operasi pengambangan mentransformasikan citra hitam-
putih ke citra biner. Dengan kata lain, nilai intensitas pixel semula dipetakan ke dua nilai
saja: hitam dan putih. Nilai ambang yang dipakai dapat berlaku untuk keseluruhan pixel atau
untuk wilayah tertentu saja (berdasarkan penyebaran nilai intensitas pada wilayah tersebut).
Operasi 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)
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:
20
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
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.
2.Arah Lokal
Operasi pada aras lokal menghasilkan citra keluaran yang intensitas suatu pixel
bergantung pada intensitas pixel-pixel tetangganya (Gambar 4.4). fB(x, y)’ = Olokal{fA(xi,
yj); (xi, yj) Î N(x, y) } (keterangan: N = neighborhood, yaitu pixel-pixel yang berada di sekitar
(x, y) )
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)}
21
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.
Operasi Aritmatika
1. Penjumlahan atau pengurangan antara 2 buah citra.
2. Perkalian dua buah citra
1.Penjumlahan dua Citra
Persamaannya adalah :
C(x,y) = A(x,y) + B(x,y)
• C adalah citra baru yang intensitas setiap pixelnya adalah jumlah dari intensitasnya.
Jika 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.
• Misalnya untuk citra yang sama direkam dua kali f1 dan f2, lalu dihitung intensitas
rata-rata untuk setiap pixel.
f’(x,y) = ½ {f1(x,y) + f2(x,y)}
2.Pengurangan dua Citra
• Persamaannya C(x,y) = A(x,y) – B(x,y)
• C adalah citra baru yang intensitas setiap pixelnya 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.
22
Contoh operasi pengurangan citra adalah untuk memperoleh suatu objek dari dua buah citra
Citra pertama misalnya foto sebuah ruangan yang kosong, citra kedua adalah foto ruangan
yang sama tetapi ada orang didalamnya.
3. Perkalian Citra
Persamaannya:
C(x, y) = A(x, y) B(x, y)
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
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.
5. Perkalian/pembagian Citra dengan Skalar
Persamaannya:
B(x, y) = c × A(x, y), dan B(x, y) = A(x, y) / c
Perkalian citra A dengan skalar c menghasilkan citra baru B yang intensitasnya lebih terang
daripada A. Kenaikan intensitas setiap pixel sebanding dengan c. Operasi perkalian citra
dengan skalar dipakai untuk kalibrasi kecerahan (callibration of brightness).
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).
(dalam notasi Bahasa C, ketiga operasi di atas ditulis sebagai:
C[x][y]=A[x][y]&B[x][y]
C[x][y]=A[x][y]|B[x][y]
23
C[x][y]=!A[x][y]
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))
a. Translasi
Rumus translasi citra :
x’ = x + m
y’ = y + n
yang dalam hal ini, m adalah besar pergeseran dalam arah x, sedangkan n adalah besar
pergeseran dalam arah y.
b. Rotasi
Rumus rotasi citra :
x’ = x cos(q) – y sin(q)
y’ = x sin(q) + y cos(q)
yang dalam hal ini, q = sudut rotasi berlawanan arah jarum jam.
c. Penskalaan Citra
Penskalaan citra, disebut juga image zooming, yaitu pengubahan ukuran citra
(membesar/zoom out atau mengecil/zoom in). Rumus penskalaan citra:
x’ = sx × x
y’ = sy × y
yang dalam hal ini, sx dan sy adalah faktor skala masing-masing dalam arah x dan arah y.
d. Flipping
Flipping adalah operasi geometri yang sama dengan pencerminan (image reflection).
24
BAB 5 KONVOLUSI DAN TRANSFORMASI FOURIER
Bab ini berisi konsep matematis yang melandasi teori pengolahan citra. Dua operasi
matematis penting yang perlu dipahami dalam mempelajari pengolahan citra dijital adalah
operasi konvolusi dan Transformasi Fourier. Konvolusi terdapat pada operasi pengolahan
citra yang mengalikan sebuah citra dengan sebuah mask atau kernel (akan dijelaskan
kemudian), sedangkan
Transformasi Fourier dilakukan bila citra dimanipulasi dalam ranah (domain)
frekuensi ketimbang dalam ranah spasial. Bagian pertama di dalam Bab 5 ini akan membahas
konvolusi, dan bagian kedua akan membahas Transformasi Fourier.
Transformasi Fourier adalah menguraikan sinyal atau gelombang menjadi sejumlah
sinusoida dari berbagai frekuensi, yang jumlahnya ekivalen dengan gelombang asal.
Keuntungan utama dari penggunaan ranah frekuensi adalah proses konvolusi dapat
diterapkan dalam bentuk perkalian langsung. 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).
Teori Konvolusi
Operasi yang mendasar dalam pengolahan citra adalah operasi konvolusi. Konvolusi
2 buah fungsi f(x) dan g(x) didefinisikan sebagai berikut:
yang dalam hal ini, tanda * menyatakan operator konvolusi, dan peubah (variable) a adalah
peubah bantu (dummy variable). Untuk fungsi diskrit, konvolusi didefinisikan sebagai :
Pada operasi konvolusi di atas, g(x) disebut kernel konvolusi atau kernel penapis
(filter). Kernel g(x) merupakan suatu jendela yang dioperasikan secara bergeser pada sinyal
25
masukan f(x), yang dalam hal ini, jumlah perkalian kedua fungsi pada setiap titik merupakan
hasil konvolusi yang dinyatakan dengan keluaran h(x). 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. 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 :
Konvolusi Pada Fungsi Dwimatra
Untuk fungsi dengan dua peubah (fungsi dua dimensi atau dwimatra), operasi
konvolusi didefinisikan sebagai berikut:
a) untuk fungsi malar
b) untuk fungsi diskrit
Fungsi penapis g(x,y) disebut juga convolution filter, convolution mask, convolution
kernel, atau template. Dalam ranah diskrit kernel konvolusi dinyatakan dalam bentuk matriks
(umumnya 3 ´ 3, namun ada juga yang berukuran 2 ´ 2 atau 2 ´ 1 atau 1 ´ 2). Ukuran matriks
ini biasanya lebih kecil dari ukuran citra. Setiap elemen matriks disebut koefisien konvolusi.
Ilustrasi konvolusi ditunjukkan pada Gambar 5.7.
Operasi konvolusi dilakukan dengan menggeser kernel konvolusi pixel per pixel. Hasil
konvolusi disimpan di dalam matriks yang baru. Operasi konvolusi antara citra f(x, y) dengan
kernel g(x, y),
26
f(x, y) * g(x, y) dapat diilutrasikan sebagai berikut:
(1) Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai pixel pada
posisi (0, 0) dari kernel :
Hasil konvolusi = 3. Nilai ini dihitung dengan cara berikut:
(0 ´ 4) + (-1 ´ 4) + (0 ´ 3) + (-1 ´ 6) + (4 ´ 6) + (-1 ´ 5) + (0 ´ 5) +
(-1 ´ 6) + (0 ´ 6) = 3
(2) Geser kernel satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,
0) dari kernel :
Hasil konvolusi = 0. Nilai ini dihitung dengan dengan cara berikut:
(0 ´ 4) + (-1 ´ 3) + (0 ´ 5) + (-1 ´ 6) + (4 ´ 5) + (-1 ´ 5) + (0 ´ 6) +
(-1 ´ 6) + (0 ´ 6) = 0
(3) Geser kernel satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,
0) dari kernel :
27
Hasil konvolusi = 2. Nilai ini dihitung dengan cara berikut:
(0 ´ 3) + (-1 ´ 5) + (0 ´ 4) + (-1 ´ 5) + (4 ´ 5) + (-1 ´ 2) + (0 ´ 6) +
(-1 ´ 6) + (0 ´ 2) = 2
(4) Selanjutnya, geser kernel satu pixel ke bawah, lalu mulai lagi melakukan konvolusi dari
sisi kiri citra. Setiap kali konvolusi, geser kernel satu pixel ke kanan: Hasil konvolusi = 6.
Nilai ini dihitung dengan cara berikut:
(0 ´ 5) + (-1 ´ 5) + (0 ´ 2) + (-1 ´ 6) + (4 ´ 6) + (-1 ´ 2) + (0 ´ 5) +
(-1 ´ 5) + (0 ´ 3) = 6
Konvolusi berguna pada proses pengolahan citra seperti:
- perbaikan kualitas citra (image enhancement)
- penghilangan derau
- mengurangi erotan
- penghalusan/pelembutan citra
- deteksi tepi, penajaman tepi
- dll
28
Karena konvolusi dilakukan per pixel dan untuk setiap pixel dilakukan operasi
perkalian dan penjumlahan, maka jelas konvolusi mengkonsumsi banyak waktu. Jika citra
berukuran N ´ N dan kernel berukuran m ´ m, maka jumlah perkalian adalah dalam orde
N2m2. Sebagai contoh jika citra berukuran 512 ´ 512 dan kernel berukuran 16 ´ 16, maka ada
sekitar 32 juta perkalian yang dibutuhkan. Ini jelas tidak cocok untuk proses yang real time
tanpa perangkat keras yang
dedicated. Satu cara mengurangi waktu komputasi adalah mentransformasi citra dan kernel
ke dalam ranah frekuensi (dengan menggunakan Transformasi Fourier – akan diuraikan di
upabab 5.2), selanjutnya konvolusi dilakukan dalam ranah waktu. Keuntungan utama dari
penggunaan ranah frekuensi adalah proses konvolusi dapat diterapkan dalam bentuk
perkalian langsung. 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
29
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 Diksrit
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.
30
BAB 6 HISTOGRAM CITRA
Informasi penting mengenai isi citra digital dapat diketahui dengan membuat
histogram citra. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai
intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram
dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut.
Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan
kontas (contrast) dari sebuah gambar. Karena itu, histogram adalah alat bantu yang berharga
dalam pekerjaan pengolahan citra baik secara kualitatif maupun kuantitatif.
Histogram : Grafik yang menggambarkan penyebaran nilai intensitas pixel dari suatu citra.
Dapat menjadi penunjuk kadar kecerahan (brightness) dan kontras citra.
Histogram dihitung dengan :
ni = jumlah pixel yang memiliki derajat keabuan i
n = jumlah seluruh pixel dalam citra
Contoh : Citra dengan matriks 8x8, derajat keabuan 0‐15 :
31
Histogram Citra Contoh :
Informasi Dari Histogram : Puncak histogram → intensitas pixel yang paling menonjol.
Lebar puncak → rentang kontras. Over‐exposed (terlalu terang) dan under‐ exposed (terlalu
gelap) memiliki rentang kontras sempit. Citra yang baik mengisi daerah derejat keabuan
secara penuh dan merata pada setiap nilai intensitas pixel.
Histogram citra banyak memberikan informasi penting sebagai berikut:
1. Nilai hi menyatakan peluang (probability) pixel, P(i), dengan derajat keabuan i. Jumlah
seluruh nilai hi sama dengan 1, atau
2. Puncak histogram menunjukkan intensitas pixel yang menonjol. Lebar dari puncak
menunjukkan rentang kontras dari gambar. Citra yang mempunyai kontras terlalu terang
32
(overexposed) atau terlalu gelap (underexposed) memiliki histogram yang sempit.
Histogramnya terlihat hanya menggunakan setengah dari daerah derajat keabuan. Citra yang
baik memiliki histogram yang mengisi daerah derajat keabuan secara penuh dengan distribusi
yang merata pada setiap nilai intensitas pixel (Gambar 6.4).
Gambar 6.5 memperlihatkan tiga buah citra Lena. Citra Lena yang pertama terlalu gelap.
Histogramnya banyak menumpuk pada bagian kiri karena citra tersebut mengandung banyak
nilai intensitas yang dekat dengan 0 (hitam). Citra Lena yang kedua terlalu terang.
Histogramnya banyak menumpuk pada bagian kanan karena citra tersebut mengandung
banyak nilai intensitas yang dekat dengan 255 (putih). Citra Lena yang ketiga adalah citra
yang normal (bagus). Histogramnya tersebar merata di seluruh daerah derajat keabuan. Tiga
buah histogram tersebut dihasilkan dengan program Adobe Photoshop.
33
34
BAB 7 PERBAIKAN KUALITAS CITRA
Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal
dalam pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan karena
seringkali citra yang dijadikan objek pembahasan mempunyai kualitas yang buruk, misalnya
citra mengalami derau (noise) pada saat pengiriman melalui saluran transmisi, citra terlalu
terang/gelap, citra kurang tajam, kabur, dan sebagainya. Melalui operasi pemrosesan awal
inilah kualitas citra diperbaiki sehingga citra dapat digunakan untuk aplikasi lebih lanjut,
misalnya untuk aplikasi pengenalan (recognition) objek di dalam citra.
Tujuan dari teknik peningkatan mutu citra adalah untuk melakukan pemrosesan
terhadap citra agar hasilnya mempunyai kwalitas relative lebih baik dari citra awal untuk
aplikasi tertentu.
Yang dimaksud dengan perbaikan kualitas citra adalah proses mendapatkan citra yang
lebih mudah diinterpretasikan oleh mata manusia. Pada proses ini, ciri-ciri tertentu yang
terdapat di dalam citra lebih diperjelas kemunculannya. Secara matematis, image
enhancement dapat diartikan sebagai proses mengubah citra f(x, y) menjadi f ’(x, y) sehingga
ciri-ciri yang dilihat pada f(x, y) lebih ditonjolkan.
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 geometric
Pada umumnya, f(x,y) sudah diketahui sehingga persoalannya adalah memilih h(x,y)
sedemikian rupa sehingga f ’(x, y) merupakan citra yang menonjolkan cirri tertentu dari f(x,
y).
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
35
(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
Jika b positif, kecerahan gambar bertambah, sebaliknya jika b negatif kecerahan gambar
berkurang. Nilai pixel hasil pengubahan mungkin £ derajat keabuan minimum (0) atau ³
derajat keabuan maksimum (255). Karena itu, pixel tersebut perlu dilakukan clipping ke nilai
keabuan minimum atau ke nilai keabuan maksimum.
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.
Citra kontras-bagus memperlihatkan jangkauan nilai keabuan yang lebar tanpaada
suatu nilai keabuan yang mendominasi. Histogram citranya memperlihatkan sebaran nilai
keabuan yang relatif seragam. Citra kontras-tinggi, seperti halnya citra kontras bagus,
memiliki jangkauan nilai keabuan yang lebar, tetapi terdapat area yang lebar yang didominasi
oleh warna
gelap dan area yang lebar yang didominasi oleh warna terang. Gambar dengan langit terang
denganlatar depan yang gelap adalah contoh citra kontras-tinggi. Pada histogramnya terlihat
dua puncak, satu pada area nilai keabuan yang rendah dan satu lagi pada area nilai keabuan
yang tinggi. Citra dengan kontras-rendah dapat diperbaiki kualitasnya dengan operasi
peregangan kontras. Melalui operasi ini, nilai-nilai keabuan pixel akan merentang dari 0
sampai 255 (pada citra 8-bit), dengan kata lain seluruh nilai keabuan pixel terpakai secara
merata.
36
Algoritma peregangan kontras adalah sebagai berikut :
1. Cari batas bawah pengelompokan pixel dengan cara memindai (scan) histogram dari nilai
keabuan terkecil ke nilai keabuan terbesar (0 sampai 255) untuk menemukan pixel pertama
yang melebihi nilai ambang pertama yang telah dispesifikasikan.
2. Cari batas atas pengelompokan pixel dengan cara memindai histogram dari nilai keabuan
tertinggi ke nilai keabuan terendah (255 sampai 0) untuk menemukan pixel pertama yang
lebih kecil dari nilai ambang kedua yang dispesifikasikan.
3. Pixel-pixel yang berada di bawah nilai ambang pertama di-set sama dengan 0, sedangkan
pixel-pixel yang berada di atas nilai ambang kedua di-set sama dengan 255.
4. Pixel-pixel yang berada di antara nilai ambang pertama dan nilai ambang kedua dipetakan
(diskalakan) untuk memenuhi rentang nilai-nilai keabuan yang lengkap (0 sampai 255)
dengan persamaan :
Super Resolusi
Teknik citra super resolusi adalah salah satu teknik untuk mendapatkan citra yang beresolusi
tinggi dari sekumpulan citra yang beresolusi rendah . Resolusi tinggi yang dihasilkan dapat
berupa citra tunggal atau lebih. Citra resolusi tinggi didapat dari sekumpulan resolusi rendah
yang diambil dari scene (adegan) yang sama. Karena dari scene yang sama akan
menyediakan informasi yang mungkin dapat digunakan untuk merekonstruksi citra resolusi
tinggi .Berdasarkan output yang dihasilkan (High Resolution), super resolusi dibedakan
menjadi 2, yaitu super resolusi statis dan super resolusi dinamis. Super resolusi statis adalah
metode super resolusi yang menghasilkan citra keluaran resolusi tinggi tunggal dan super
resolusi dinamis adalah metode super resolusi yang menghasilkan citra keluaran resolusi
tinggi yang lebih dari satu . Super resolusi secara umum terdiri dari tiga tahap algoritma yaitu
registrasi, interpolasi dan rekonstruksi .
1) Registrasi
Registrasi citra adalah proses menemukannya kembali titik-titik yang bersesuaian antara citra
I1 dengan citra I2 di mana citra I2 adalah citra I1 yang mengalami transformasi geometri.
Registrasi citra pada domain spasial dapat dilakukan dengan metode average, median, atau
37
ukuran statistika lainnya pada setiap nilai derajat keabuan (grayscale) atau RGB citra [5,6].
Penelitian ini menggunakan registrasi average dan registrasi median.
a) Registrasi Average
Registrasi average adalah salah satu metode registrasi sederhana yang melakukan pencarian
nilai rata-rata pixel dari beberapa frame citra pada posisi pixel yang bersesuaian . Pencarian
nilai rata-rata pixel dilakukan dengan menjumlahkan nilai pixel yang bersesuaian pada
beberapa frame citra yang mengalami transformasi geometri, kemudian membaginya dengan
banyaknya frame citra. Persamaan pencarian nilai rata-rata pixel ditunjukkan pada persamaan
(2). 𝑁𝑖𝑙𝑎𝑖 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 = (𝑛𝑖𝑙𝑎𝑖 𝑝𝑖𝑥𝑒𝑙 𝑓𝑟𝑎𝑚𝑒1 + ⋯+ 𝑛𝑖𝑙𝑎𝑖 𝑝𝑖𝑥𝑒𝑙 𝑓𝑟𝑎𝑚𝑒 𝑛)/𝑛 (2)
b) Registrasi Median
Registrasi median adalah metode registrasi citra yang melakukan pencarian nilai pixel tengah
dari beberapa frame citra pada posisi pixel yang bersesuaian dengan melakukan pengurutan
terlebih dahulu. Pengurutan nilai dimulai dari nilai piksel terkecil hingga nilai piksel
terbesar . Registrasi median ini hanya menghasilkan bilangan bulat tanpa menghasilkan
bilangan pecahan .
2) Interpolasi
Interpolasi (biasa disebut resampling) adalah sebuah metode pencitraan untuk meningkatkan
(atau mengurangi) jumlah piksel dalam citra digital.Interpolasi citra bekerja dalam dua arah
dan mencoba untuk mencapai pendekatan yang terbaik dari sebuah piksel yang warna dan
intensitasnya didasarkan pada nilai-nilai di sekitar piksel. Penelitian ini menggunakan
interpolasi bilinier dan bikubik untuk proses pembesaran (zooming) citra.
a) Interpolasi Bilinier Interpolasi bilinier menentukan nilai piksel baru berdasarkan rata-rata (dengan memberi
bobot) dari 4 piksel dari ukuran 2×2 piksel tetangga terdekat dalam gambar asli. Persamaan
dari interpolasi bilinier dapat dituliskan seperti pada persamaan (3).
38
b) Interpolasi Bikubik Interpolasi bikubik adalah bagian dari interpolasi kubik untuk interpolasi data dalam bentuk
dua dimensi. Interpolasi ini menghasilkan pembesaran citra lebih halus pada bagian tepi-
tepinya daripada interpolasi bilinier. Bikubik menggunakan 4x4 piksel tetangga untuk
mengambil informasi. Persamaan interpolasi konvolusi bikubik dituliskan sebagai berikut.
3) Smoothing Proses ini dilakukan dengan menggunakan metode median filter. Metode median filter adalah
salah satu teknik filtering citra tidak linier yang berfungsi untuk memperhalus citra dan
menghilangkan noise atau gangguan yang berupa bintik putih. Median dicari dengan
melakukan pengurutan terhadap nilai piksel dari mask yang sudah ditentukan, kemudian
dicari nilai tengahnya .
Peregangan Kontras
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalamsebuah gambar.
Citra dapat dikelompokkan ke dalam tiga kategori kontras: citrakontras-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. Citra kontras-bagus memperlihatkan jangkauan nilai
39
keabuan yang lebar tanpa ada suatu nilai keabuan yang mendominasi. Histogram citranya
memperlihatkan sebaran nilai keabuan yang relatif seragam.
Citra kontras-tinggi, seperti halnya citra kontras bagus, memiliki jangkauan nilai keabuan
yang lebar, tetapi terdapat area yang lebar yang didominasi oleh warna gelap dan area yang
lebar yang didominasi oleh warna terang. Gambar dengan langit terang denganlatar depan
yang gelap adalah contoh citra kontras-tinggi. Pada histogramnya terlihat dua puncak, satu
pada area nilai keabuan yang rendah dan satu lagi pada area nilai keabuan yang tinggi.
40
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 dengan bentuk yang dispesifikasikan oleh pengguna.
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.
41
Meskipun perataan histogram bertujuan menyebarkan secara merata nilai-nilai derajat
keabuan, tetapi seringkali histogram hasil perataan tidak benar-benar tersebar secara merata
(misalnya pada contoh di atas). Alasannya adalah :
1. Derajat keabuan terbatas jumlahnya. Nilai intensitas baru hasil perataan merupakan
pembulatan ke derajat keabuan terdekat.
2. Jumlah pixel yang digunakan sangat terbatas. Agar hasil perataan benar-benar seragam
sebarannya, maka citra yang diolah haruslah dalam bentuk malar (continue), yang dalam
praktek ini jelas tidak mungkin.
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
42
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.
Dasar teorinya adalah sebagai berikut: misalkan Pr(r) dan Pz(z) masing-masing
adalah histogram citra semula dan histogram yang diinginkan. Fungsi transformasi T mula-
mula memetakan intensitas citra semula menjadi histogram yang seragam dengan cara
perataan histogram.
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.
Pixel yang mengalami gangguan umumnya memiliki frekuensi tinggi (berdasarkan
analisis frekuensi dengan transformasi Fourier). Komponen citra yang berfrekuensi rendah
umumnya mempunyai nilai pixel konstan atah berubah sangat lambat. Operasi pelembutan
citra dilakukan untuk menekan komponen yang berfrekuensi tinggi dan meloloskan
komponen yang berfrekuensi rendah.
43
Operasi penapisan ini mempunyai efek pemerataan derajat keabuan, sehingga gambar
yang diperoleh tampak lebih kabur kontrasnya. Efek pengaburan ini disebut efek blurring.
Penapis h(x,y) pada operasi pelembutan citra disebut juga penapis lolos-rendah (low-pass
filter), karena penapis tersebut menekan komponen yang berfrekuensi tinggi (misalnya pixel
gangguan, pixel tepi) dan meloloskan komponen yang berfrekuensi rendah.
Penapis Lolos-Rendah
Penapis rata-rata adalah salah satu penapis lolos-rendah yang paling sederhana. Aturan untuk
penapis lolos-rendah adalah :
1. Semua koefisien penapis harus positif
2. Jumlah semua koefisien harus sama dengan 1, Jika jumlah semua koefisien lebih besar dari
1, maka konvolusi menghasilkan penguatan (tidak diinginkan). Jika jumlah semua koefisien
kurang dari 1, maka yang dihasilkan adalah penurunan, dan nilai mutlak setiap pixel di
seluruh bagian
citra berkurang. Akibatnya, citra hasil pelembutan tampak lebih gelap. Penapis lolos-rendah
yang disebutkan di atas merupakan penapis lanjar (linear). Operasi pelembutan dapat juga
dilakukan dengan menggunakan penapis nirlanjar, yaitu:
a. Penapis minimum (min filter)
b. Penapis maksimum (max filter)
c. Penapis median (median filter)
44
Penapis Median
Penapis nirlanjar yang akan dijelaskan adalah penapis median. Penapis ini
dikembangkan oleh Tukey. Pada penapis median, suatu “jendela” (window) memuat sejumlah
pixel (ganjil). Jendela digeser titik demi titik pada seluruh daerah citra. Pada setiap
pergeseran dibuat jendela baru. Titik tengah dari jendela ini diubah dengan nilai median dari
jendela tersebut.
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). Gambar 7.14 adalah citra Lena setelah
ditajamkan gambarnya.
45
Penapis Lolos-Tinggi
Aturan penapis lolos-tinggi :
1. koefisien penapis boleh positif, negatif, atau nol
2. jumlah semua koefisien adalah 0 atau 1
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.
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
46
47
BAB III
PENUTUP
1.Kesimpulan
Dari makalah yang telah dibuat dan di dalam nya membahas tentang Pengolahan Citra dari
BAB 1 sampai 7 ini banyak sekali penerapan pengolahan citra dan kegunaannya dalam
kehidupan sehari-hari dalam lingkuan kita. Dengan mempelajari pengolahan citra ini maka
kita dapat mempergunakanya untuk membantu dalam menyelesaikan masalah yang ada
dalam aktivitas kita sehari-hari yang berhubungan dengan pencitraaan. Dari makalah yang
telah dibuat ini membahas tentang BAB 1 PENGENTAR PENGOLAHAN CITRA dimana
di dalam bab ini kita dapat mempelajari dan mengenal pengolahan citra ini seperti apa, BAB
2 PEMBENTUKAN CITRA di dalam bab ini kita bisa mempelajari bagaimana membentuk
citra yang baik , BAB 3 STRUKTUR DATA UNTUK CITRA DIGITAL DAN FORMAT
CITRA BITMAP merupakan slah satu bab yang memperesentasikan citra dalam memori
komputer, BAB 4 OPERASI-OPERASI DASAR PENGOLAHAN CITRA merupakan bab
yang mempelajari elemen-elemen matrik pada citra, BAB 5 KONVOLUSI DAN
TRANSFORMASI FOURIER merupakan bab yang mempelajari pengealihan citra dan
merubah frekuensi konvolusi, BAB 6 HISTOGRAM CITRA bab yang ensitas mempelajari
penyebaran nilai-nilai intensitas pixel, dan BAB 7 PERBAIKAN KUALITAS CITRA
merupakan bab yang memperbaiki kualitas citra yang derau dan rusak untuk diperbaiki
menjadi baik .
DAFTAR PUSTAKA
48
http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Pengolahan%20Citra%20Digital/Bab-
3_Struktur%20Data%20untuk%20Citra%20Digital.pdf
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-1_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-2_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-3_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-4_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-5_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-6_
informatika.stei.itb.ac.id/.../Pengolahan%20Citra%20Digital/Bab-7_
www2.ukdw.ac.id/kuliah/si/erickblog/...10E92/CitraDigital.pdf
jre.elektro.unsyiah.ac.id/wp-content/uploads/.../9_3_6_137_142.pdf
49
Top Related