Tugas mandiri ini membahas tutorial pengolahan citra digital menggunakan Octave. Terdapat 13 poin utama yang dijelaskan mulai dari pengertian pengolahan citra digital, pengenalan Octave, cara menjalankan dan membaca citra di Octave, sampai contoh-contoh operasi dasar seperti mengubah ke skala abu-abu, meningkatkan kecerahan, meregangkan kontrast, memutar, dan menyimpan hasil pengolahan citra.
1. i
TUGAS MANDIRI
TUTORIAL PENGOLAHAN CITRA MENGGUNAKAN OCTAVE
MATA KULIAH : Pengolahan Citra Digital (Praktek / Teori)
Nama Mahasiswa : Hegie Octori Hardianto
NPM : 130210264
Kode Kelas : 142-TI28T-M5 / 142-TI28P-M5
Dosen : Cosmas Eko Suharyanto, S.Kom.
UNIVERSITAS PUTERA BATAM
2015
2. ii
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah melimpahkan segala rahmat dan
karuniaNya, sehingga penulis dapat menyelesaikan laporan tugas mandiri mata kuliah
Pengolahan Citra Digital ini. Penulis menyadari bahwa laporan tugas mandiri ini masih
jauh dari sempurna dan masih banyak kekurangan. Karena itu, kritik dan saran akan
senang hati penulis terima.
Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas
mandiri ini takkan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai
pihak. Untuk itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terima
kasih kepada Cosmas Eko Suharyanto, S.Kom. selaku dosen mata kuliah Pengolahan
Citra Digital. Semoga Tuhan membalas kebaikan dan mencurahkan rahmatNya yang
melimpah, Amin.
Batam, Juni 2015
Penulis
4. 1
TUTORIAL PENGOLAHAN CITRA DIGITAL DENGAN
MENGGUNAKAN OCTAVE
1. Pengertian Pengolahan Citra Digital
Secara umum, istilah pengolahan citra digital menyatakan βpemrosesan
gambar berdimensi-dua melalui komputer digitalβ (Jain, 1989). Menurut Efford
(2000), pengolahan citra adalah istilah umum untuk berbagai teknik yang
keberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara.
Foto adalah contoh gambar berdimensi dua yang bisa diolah dengan mudah. Setiap
foto dalam bentuk citra digital (misalnya berasal dari kamera digital) dapat diolah
melalui perangkat-lunak tertentu. Sebagai contoh, apabila hasil bidikan kamera
terlihat agak gelap, citra dapat diolah agar menjadi lebih terang. Dimungkinkan
pula untuk memisahkan foto orang dari latarbelakangnya. Gambaran tersebut
menunjukkan hal sederhana yang dapat dilakukan melalui pengolahan citra digital.
Tentu saja, banyak hal lain yang lebih pelik yang dapat dilakukan melalui
pengolahan citra digital.
Pengolahan citra antara lain berperan untuk memisahkan objek dari
latarbelakang secara otomatis. Selanjutnya, objek akan diproses oleh
pengklasifikasi pola. Sebagai contoh, sebuah objek buah bisa dikenali sebagai
jeruk, apel, atau pepaya. Pada penginderaan jarak jauh, tekstur atau warna pada
citra dapat dipakai untuk mengidentifikasi objek-objek yang terdapat di dalam
citra. Pengolahan citra juga memungkinkan wajah seseorang dikartunkan.
2. Octave
GNU Octave adalah suatu perangkat lunak gratis (freeware) dan bahasa
tingkat tinggi untuk komputasi numerik dan visualisasi data. Octave dirancang
sebagai tiruan dari Matlab. Sumber informasi mengenai Octave dapat dilihat pada
website www.octave.org.
5. 2
Pada awalnya Octave dikembangkan oleh John W. Eaton (Universitas
Texas) dan sekarang pengembangan dan pemeliharaan Octave dilakukan oleh
beberapa orang volunteer dari berbagai penjuru dunia. Kelebihan utama dari
Octave yaitu gratis (freeware) dan tersedia untuk berbagai sistem operasi seperti
Windows 98/2000/XP, Mac OS/X, Debian, Suse, Fedora, RedHat Linux.
3. Menjalankan Program Octave
Pada kebanyakan sistem operasi program GNU Octave dapat dijalankan
dengan memberikan perintah octave pada shell command. Setelah perintah
tersebut kita berikan maka akan muncul suatu jendela GNU Octave. Pada jendela
tersebut akan ditampilkan beberapa pesan singkat mengenai Octave dan kemudian
di bawah pesan singkat tersebut ditampilkan sebuah prompt, yang menandakan
bahwa Octave siap untuk menerima perintah yang akan kita berikan. Gambar 1
adalah tampilan dari program Octave untuk sistem operasi Windows. Berikut
tampilan awal Program Octave:
4. Membaca dan Menampilakan Citra Pada Octave
Untuk kepentingan memudahkan dalam memahami hasil proses
pengolahan citra, Anda perlu mengenal perintah yang berguna untuk membaca
citra yang tersimpan dalam bentuk file. Octave menyediakan fungsi bernama
imread. Bentuk pemanggilannya:
Img = imread(nama_file_citra)
6. 3
Dalam hal ini, nama_file_citra menyatakan nama file citra yang hendak
dibaca dan Img menyatakan larik (array) yang menampung data citra yang dibaca.
Sedangakan Citra dapat ditampilkan dengan mudah melalui fungsi
imshow. Contoh berikut digunakan untuk menampilkan citra yang terdapat di Img:
>> imshow(Img);ο
Berikut Contohnya:
5. Menampilkan Banyak Citra
Dalam octave, kita juga dapat menampilkan beberapa gambar sekaligus
dengan menggunakan subplot. Contoh penggunaannya adalah sebagai berikut:
7. 4
Hasilnya:
Angka-angka seltelah perintah sublot diatas berturut-turut berarti (banyak baris
yang akan ditampilkan, banyak kolom yang akan ditampilkan, citra ke...)
Berikut untuk citra yang lebih banyak:
8. 5
6. Mengubah Citra Berwarna ke Citra Keabuan
Secara umum citra berwarna dapat dikonversikan ke citra berskala keabuan
melalui rumus:
πΌ = π π₯ π + π π₯ πΊ + π π₯ π΅, π + π + π = 1
Dengan R menyatakan nilai komponen merah, G menyatakan nilai
komponen hijau, dan B menyatakan nilai komponen biru. Misalnya, sebuah piksel
mempunyai komponen R, G, B sebagai berikut:
R = 50
G = 70
B = 61
Salah satu contoh rumus yang biasa dipakai untuk mengubah ke skala
keabuan yaitu:
πΌ = 0,2989 π₯ π + 0,5870 π₯ πΊ + 0,1141 π₯ π΅
Berikut contoh penerapannya:
9. 6
7. Menyimpan Citra
Apabila kita ingin menyimpan sebuah citra yang telah kita olah ke Drive
C:/Image dengan nama misalnya abu.jpg, maka dalam octave penerpannya
sebagai berikut:
10. 7
8. Menggunakan Histogram Citra
Histogram citra merupakan diagram yang menggambarkan frekuensi setiap
nilai intensitas yang muncul di seluruh piksel citra. Nilai yang besar menyatakan
bahwa piksel-piksel yang mempunyai intensitas tersebut sangat banyak. Pada citra
berskala keabuan, jumlah aras keabuan (biasa disimbolkan dengan L) sebanyak
256. Nilai aras dimulai dari 0 hingga 255. Untuk memperoleh histogram, gunakan
rumus berikut:
function histo(Img)
% HISTO Digunakan sebagai contoh pembuatan histogram
[jum_baris, jum_kolom] = size(Img);
Img = double(Img);
Histog = zeros(256, 1);
for baris=1 : jum_baris
for kolom=1 : jum_kolom
Histog(Img(baris, kolom)+1) = ...
Histog(Img(baris, kolom)+1) + 1;
end
end
% Tampilkan dalam bentuk diagram batang
Horis = (0:255)';
bar(Horis, Histog);
Selanjutnya untuk memunculkan histogram, panggil gambar yang akan dibuat
histogramnya, misalkan:
>> Img = imread('C:Imageabu.png'); ο
>> histo(Img); ο
Berikut contoh penerapan dari citra berikut:
12. 9
Berikut perbedaannya ketika kita menggunakan citra yang lebih cerah:
9. Meningkatkan Kecerahan
Operasi dasar yang sering dilakukan pada citra adalah peningkatan
kecerahan (brightness). Operasi ini diperlukan dengan tujuan untuk membuat
gambar menjadi lebih terang. Secara matematis, peningkatan kecerahan dilakukan
dengan cara menambahkan suatu konstanta terhadap nilai seluruh piksel.
13. 10
Misalkan, f(y, x) menyatakan nilai piksel pada citra berskala keabuan pada
koordinat (y, x). Maka, citra baru
π( π¦, π₯) = π( π¦, π₯) + π½
telah meningkat nilai kecerahan semua pikselnya sebesar π½ terhadap citra asli f(y,
x). Apabila Ξ² berupa bilangan negatif, kecerahan akan menurun atau menjadi lebih
gelap. Berikut contoh penerapannya :
Berikut perbedaan antara sebelum dan sesudahnya:
10. Meregangkan Kontras
Kontras dalam suatu citra menyatakan distribusi warna terang dan warna
gelap. Suatu citra berskala keabuan dikatakan memiliki kontras rendah apabila
distribusi warna cenderung pada jangkauan aras keabuan yang sempit.
Sebaliknya, citra mempunyai kontras tinggi apabila jangkauan aras keabuan lebih
terdistribusi secara melebar. Kontras dapat diukur berdasarkan perbedaan antara
nilai intensitas tertinggi dan nilai intensitas terendah yang menyusun piksel-piksel
dalam citra.
Sebelum Sesudah
14. 11
Perlu diketahui, citra dengan kontras rendah acapkali terjadi karena
kondisi pencahayaan yang jelek ataupun tidak seragam. Hal itu dapat diakibatkan
oleh sensor-sensor penangkap citra yang tidak linear (Jain, 1989). Agar distribusi
intensitas piksel berubah perlu dilakukan peregangan kontras. Hal ini dilaksanakan
dengan menggunakan rumus
π( π¦, π₯) = πΌ π( π¦, π₯)
Berdasarkan rumus di atas, kontras akan naik kalau Ξ± > 1 dan kontras akan
turun kalau Ξ± < 1. Berikut contoh penerapannya:
Berikut perbandingan antara sebelum dan sesudahnya:
11. Kombinasi Kecerahan dan Kontras
Operasi peningkatan kecerahan dan peregangan kontras dapat dilakukan
sekaligus untuk kepentingan memperbaiki citra. Secara umum, gabungan kedua
operasi tersebut dapat ditulis menjadi
π( π¦, π₯) = πΌ π( π¦, π₯) + π½
Berikut contoh implementasi rumus diatas:
Sebelum Sesudah
15. 12
Hasil penerapannya:
12. MenggeserCitra
Penggeseran citra ke arah mendatar atau vertikal dapat dilaksanakan
dengan mudah. Rumus yang digunakan sebagai berikut:
π₯ ππππ’ = π₯ ππππ + π π₯
π¦ ππππ’ = π¦ππππ + π π¦
Untuk penyederhanaan pembahasan, sx dan sy dianggap bertipe bilangan bulat.
Berikut contoh program yang digunakan untuk melakukan penggeseran citra:
Sebelum Sesudah
16. 13
13. Memutar Citra
Suatu citra dapat diputar dengan sudut π seiring arah jarum jam atau
berlawanan arah jarum jam dengan pusat putaran pada koordinat (0,0). Adapun
rumus yang digunakan untuk memutar citra dengan sudut π berlawanan arah jam
berupa:
π₯ ππππ’ = π₯ β πΆππ ( π) + π¦ β πππ( π)
π¦ ππππ’ = π¦ β πΆππ ( π) β π₯ β πππ(π)
Berdasarkan Persamaan diatas, pemutaran citra dengan sudut π searah
jarum jam dapat dilakukan. Caranya, dengan menggunakan x dan y sebagai posisi
baru dan xbaru justru sebagai posisi lama. Pada saat menghitung dengan rumus di
atas, apabila posisi koordinat (ybaru ,xbaru) berada di luar area [1, lebar] dan [1,
tinggi], intensitas yang digunakan berupa nol. Cara inilah yang merupakan contoh
pemetaan ke belakang. Implementasinya dapat dilihat berikut ini: