TUGAS AKHIR
Oleh :
UMI AFESENA
0634015080
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Skripsi yang berjudul “Perbesaran Data Citra Digital Hasil Cropping dengan Menggunakan Metode Hybrid” tepat pada waktunya.
Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.
Melalui Skripsi ini penyusun merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya, Nopember 2010
Penyusun menyadari bahwasanya dalam menyelesaikan Skripsi ini telah mendapat banyak bantuan dan dukungan dari berbagai pihak, untuk itu pada kesempatan yang berharga ini, penyusun mengucapan terima kasih kepada:
1. Ibu, Bapak, Mas-masku dan AdikKu di rumah yang senantiasa memberikan dukungan dan mendoakan penyusun agar Skripsi ini segera terselesaikan. 2. PamanKu Cak Ito yang memberikan kesempatan buat kuliah, membiayai,
serta menyediakan semua keperluan kuliah.
3. Bapak Ir. Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri.
4. Bapak Basuki Rahmat S.Si, MT, selaku Ketua Jurusan Teknik Informatika. 5. Ibu Ir. Kartini, MT, selaku Dosen Pembimbing I yang telah giat meluangkan
banyak waktu untuk memberikan arahan, ilmu dan dorongan serta motivasi kepada penyusun untuk menyelesaikan Skripsi ini.
6. Ibu Fetty Tri anggraeny S.Kom, selaku Dosen Pembimbing II yang dengan sabar telah meluangkan banyak waktu, pikiran dan tenaga di antara kesibukan beban-beban kegiatan akademik untuk memberikan bimbingan dan kesempatan penyusun untuk berkreasi dalam proses pembuatan Skripsi ini. 7. Bapak Wahyu yang telah banyak meluangkan waktu untuk memberikan solusi
dan membantu menyelesaikan masalah yang dihadapi penulis.
10.Teman-teman spesial satu angkatan yang telah banyak membantu penyusun Tatik (membantu cari judul, ngajari matlab, pinjemin buku dan pemberi semangat dan saran) , Hajar (ngasih saran dan dorongan), Yulisah, Mamik ”PartnerQ” (ngasih semangat dan selamat), dan teman-teman satu Grup seperjuangan lainnya (Bagus, asrofi, firman, doni, hanif, tio, dapit, aziz, angga, mutia).
Hal.
1.6 Metodologi Penulisan Skripsi... 4
1.7 Sistematika Penulisan... 5
BAB II TINJAUAN PUSTAKA ... 8
2.1 Definisi Citra... 8
2.1.1 Definisi Citra Analog... 8
2.1.2 Definisi Citra Digital... 9
2.1.2.1 Jenis-Jenis Citra Digital... 9
2.2 Operasi Pengolahan Citra... 13
2.3 Perubahan Ukuran Citra... 15
2.3.1 Pebesaran Citra………... 15
2.3.2 Pengecilan Citra (Srinking)... 16
2.4.3 Interpolasi Dengan Orde Lebih Tinggi………..…… 21
BAB III ANALISA DAN PERANCANGAN APLIKASI... 40
3.1 Analisa Permasalahan... 40
3.2 Pengolahan Citra... 41
3.3 Perancangan system... 43
3.3.1 Pemotongan (cropping)... 44
3.4.1 Algoritma Perbesaran Citra Hasil Cropping
BAB IV IMPLEMENTASI DAN EVALUASI... 57
4.1 Kebutuhan Sistem... 57
BAB V UJI COBA DAN EVALUASI... 71
5.1 Uji Coba Perbesaran Data Citra Hasil Cropping... 72
5.1.1 Uji Coba Pembesaran Citra Cropping Pada Citra
BAB VI PENUTUP... 78
6.1. Kesimpulan... 78
6.2. Saran... 78
DAFTAR PUSTAKA... 80
No. Hal.
2.11 Mekanisme Cropping... 24
2.12 Transformasi Maju... 26
2.13 Transformasi Balik... 27
2.14 Format Koordinat Frekuensi Pada Citra... 27
2.15 Perhitungan Konvolusi Secara Grafis... 30
2.16 Perbesaran dengan Metode Hybrid... 32
2.17 Tampilan Jendela Utama Matlab... 36
2.18 Tampilan Workspace... 36
2.19 Tampilan Current Directory... 37
2.20 Tampilan Command History... 37
2.21 Tampilan Command Window... 38
2.22 Tampilan Matlab Editor... 38
2.23 Tampilan Help... 39
3.1 Proses Pengolahan Citra Digital... 42
3.2 Flowchart Secara Garis Besar... 46
3.3 Flowchart Proses Preprocessing...... 47
3.4 Flowchart Proses Cropping... 48
3.5 Proses Konvolusi dengan Low Pass Filter... 48
3.6 Proses Perbesaran Menggunakan Metode Bilinear Interpolation ... 51
5.1 Motor.jpg (Citra Asli 100x75)... 81 5.2 Motor.jpg (Hasil Pembesaran 2 Kali Dengan Metode Nearest Neighbor)... 81 5.3 Motor.jpg (Hasil Pembesaran 2 Kali Dengan Metode Hybrid)... 81 5.4 Motor.jpg (Hasil Pembesaran 3 Kali Dengan Metode Nearest Neighbor)... 82 5.5 Motor.jpg (Hasil Pembesaran 3 Kali Dengan Metode Hybrid)... 82 5.6 Motor.jpg (Hasil Pembesaran 4 Kali Dengan Metode Nearest Neighbor)... 83 5.7 Motor.jpg (Hasil Pembesaran 4 Kali Dengan Metode Hybrid)... 83 5.8 Motor.jpg (Hasil Pembesaran 5 Kali Dengan Metode Nearest Neighbor)... 84 5.9 Motor.jpg (Hasil Pembesaran 5 Kali Dengan Metode Hybrid)... 85 5.10 Motor.bmp (Citra Asli 100x75)... 86 5.11 Motor.bmp (Hasil Pembesaran 2 Kali Dengan Metode Nearest Neighbor). 86 5.12 Motor.bmp (Hasil Pembesaran 2 Kali Dengan Metode Hybrid)... 86 5.13 Motor.bmp (Hasil Pembesaran 3 Kali Dengan Metode Nearest Neighbor). 87 5.14 Motor.bmp (Hasil Pembesaran 3 Kali Dengan Metode Hybrid)... 87 5.15 Motor.bmp (Hasil Pembesaran 4 Kali Dengan Metode Nearest Neighbor). 88 5.16 Motor.bmp (Hasil Pembesaran 4 Kali Dengan Metode Hybrid)... 88 5.17 Motor.bmp (Hasil Pembesaran 5 Kali Dengan Metode Nearest Neighbor). 89 5.18 Motor.bmp (Hasil Pembesaran 5 Kali Dengan Metode Hybrid)... 90 5.19 Tanaman.jpg (Citra Input)... 91 5.20 Penyakit Tanaman.jpg (Citra Output Dari Citra Input Tanaman.jpg
Dengan Perbesaran 5 Kali)... 91 5.21 Laron.bmp (Citra Input)... 91 5.22 Seekor Laron.bmp (Citra Output Dari Citra Input Laron.bmp
Dengan Perbesaran 5 kali)... 91 5.23 Lalat.png (Citra Input)... 92 5.24 Satu Lalat.png (Citra Output Dari Citra Input Lalat.png Dengan
Perbesaran 5 Kali)... 92 5.25 Buku.tif (Citra Input)... 92 5.26 Nama Buku.tif (Citra Output Dari Citra Input Buku.tif Dengan
Perbesaran 5 Kali)... 92 5.27 Akar.jpg (Diambil Dari Kamera Hand Phone 3,2 MP)... 93 5.28 Akar Mati.jpg (Citra Output Dari Citra Input Akar.jpg Dengan
Perbesaran 3 Kali)... 93 5.29 Kamboja.jpg (Diambil Dari Kamera Digital 9 MP)... 93 5.30 Bunga Kamboja.jpg(Citra Output Dari Citra Input Kamboja Dengan
Perbesaran 3 Kali)... 93 5.31 Daun Tanaman.jpg (Diambil Dari Kamera Webcam 1.3 MP)... 94 5.32 Daun.jpg (Citra Output Dari Citra Input Daun Tanaman.jpg Dengan
5.1 Hasil Perhitungan MSE Untuk Citra BerextensiJpg... 72
5.2 Hasil Perhitungan PSNR Untuk Citra BerextensiJpg... 72
5.3 Hasil Perhitungan MSE untuk Citra BerextensiBmp... 74
5.4 Hasil Perhitungan PSNR untuk Citra Berextensi Bmp... 74
5.5 Hasil Uji Coba Untuk Extensi yang Berbeda-beda... 76
ABSTRACT
One technique in programming a digital image (digital image procesing) is to enlarge the size of the image. Research - research that has been done, only focused on enlarging the business all the objects in digital images, but sometimes it takes a certain object in the image magnification.
The purpose of this study is to make application program magnification of digital image data by cropping the hybrid method.
The procedure is done is digitize the image looks, then save the file in jpg or bmp berextentensi. The next process is the selection of objects in digital images is needed in the process of cropping. The process of magnification of digital image cropping results conducted through two channels. First undergo a process of filtration path further enlarged using bilinear interpolation method and the second line, the cropping directly magnified image using bilinear interpolation method. The output is equally - the average output of the two routes.
The results showed above image magnification process twice with the hybrid method has value Sequare Mean Error (MSE) smaller.
Key words : digital image, bilinear interpolation, hybrid, perbesaran.
ABSTRAK
Salah satu teknik dalam pemrograman citra digital (digital image procesing) adalah memperbesar ukuran citra. Penelitian – penelitian yang telah dilakukan, hanya terfokus pada usaha memperbesar seluruh objek dalam citra digital, namun kadang diperlukan perbesaran objek tertentu pada citra.
Tujuan penelitian adalah untuk membuat program aplikasi perbesaran data citra digital hasil cropping dengan metode hybrid.
Prosedur yang dilakukan adalah mendigitalisasi citra tampak, kemudian menyimpan dalam bentuk file berextentensi jpg atau bmp. Proses selanjutnya adalah melakukan pemilihan objek dalam citra digital yang dibutuhkan dalam proses cropping. Proses perbesaran citra digital hasil cropping dilakukan lewat dua jalur. Jalur pertama mengalami proses filterisasi selanjutnya diperbesar dengan menggunakan metode bilinear interpolation dan jalur kedua, citra hasil
cropping langsung diperbesar menggunakan metode bilinear interpolation. Keluarannya dengan merata – rata keluaran dari kedua jalur tersebut.
Hasil penelitian menunjukkan proses perbesaran citra diatas dua kali dengan metode hybrid memiliki nilai Mean Sequare Error (MSE) yang lebih kecil.
Dalam bab ini dijelaskan beberapa hal dasar yang meliputi latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, metodologi skripsi serta sistematika penulisan skripsi. Dari uraian tersebut diharapkan, gambaran umum permasalahan dan pemecahan yang diambil dapat dipahami dengan baik.
1.1 Latar Belakang
Pengolahan citra digital saat ini mengalami kemajuan yang sangat pesat, karena diikuti dengan kemajuan di bidang perangkat pengolahan citra itu sendiri. Komputer memiliki peranan yang sangat penting dalam proses pengolahan citra saat ini.
Salah satu teknik dalam pemrograman citra digital (digital image procesing) adalah memperbesar ukuran citra. Scaling techniques telah banyak dilakukan dan pernah diteliti oleh para peneliti berikut :
Penelitian perbesaran citra digital yang dilakukan oleh S. Battiato, G. Gallo, F. Stanco (2002) dengan judul “Smart Interpolation by Anisotropic Diffusion”. Dengan proses tiga tahap, yaitu: pertama melakukan perbesaran citra digital dengan menggunakan metode bicubik, kedua melakukan rekontruksi dari citra yang telah diperbesar dengan menggunakan algoritma anisotropic diffusion, dan yang ketiga mereduksi kembali citra yang mengalami kelebihan aliasing
dengan menggunakan low pass filter. Battiato melakukan percobaan dengan memperbesar citra sebesar 200% (dua kali) dengan nilai PSNR sebesar 36,31. Penelitian yang juga dilakukan oleh S. Battiato, G. Gallo, F. Stanco (2002) dengan menyisipi bagian pixel yang kosong dengan metoda Edge-Adaptive pada perbesaran citra digital, dan battiatio melakukan percobaan pada citra gray color
dan citra berwarna RGB.
Penelitian perbesaran citra digital dengan metode Edge-Forming yang dilakukan oleh Youngjoon Cha and Seongjai Kimy (2005), dan young joon menyatakan citra perbesaran yang dihasilkan lebih jelas dan tajam. Analisis yang dilakukannya hanya berdasarkan visualisasi yaitu membandingkan masing – masing citra hasil perbesaran dengan metoda yang berbeda, tidak berdasarkan matematika. [4]
dilakukan pencuplikan (cropping) bagian tertentu yang terkena penyakit kemudian dilakukan proses perbesaran diperbesar (zooming). contoh lain yang dapat dipakai adalah foto yang didapat dari penderita penyakit kulit maka dapat diambil sebagian saja yaitu pencuplikan bagian tertentu foto tersebut, kemudian baru dilakukan proses perbesarannya.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang dipaparkan di atas, maka dapat dirumuskan permasalahan yang akan diselesaikan dalam skripsi ini adalah sebagai berikut :
a. Bagaimana cara memperbesar data citra digital hanya pada bagian tertentu saja tanpa mengurangi kualitas citra.
b. Bagaimana cara mengimplementasikan metode hybrid perbaikan citra (low pass filter dengan filter rata – rata) dan perbesaran (bilinear interpolation) dengan faktor perbesaran sesuai yang diinputkan user.
c. Menggabungkan perbaikan citra dan metode perbesaran dengan metode perbesaran saja.
1.3 Batasan Masalah
Dalam pembuatan skripsi ini, ruang lingkup permasalahan hanya akan dibatasi pada :
b. Citra input yang digunakan dalam uji coba berekstensi bmp, jpg, tif dan png c. Citra input yang digunakan dalam uji coba dicropping terlebih dahulu d. Citra input yang digunakan dianggap sudah bebas noise
e. Metode perbesaran citra ini diimplementasikan dalam perangkat lunak MATLAB 7.1
1.4 Tujuan
Tujuan skripsi ini adalah untuk membuat program aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metoda hybrid.
1.5 Manfaat
Manfaat yang diperoleh dari skripsi ini antara lain sebagai berikut:
a. Dapat membantu memperbesar data citra tanpa merubah struktur yang ada pada citra aslinya.
b. Dapat memperbesar citra sebagian saja dengan proses cropping.
1.6 Metodologi Pembuatan Skripsi
Pembuatan skripsi terbagi menjadi beberapa tahapan sebagai berikut: 1. Studi Literatur
2. Perumusan Masalah dan Penyelesaiannya
Tahap ini meliputi perumusan masalah, batasan-batasan masalah dan penyelesaiannya serta penentuan parameter untuk mengukur hasilnya.
3. Perancangan Perangkat Lunak
Pada tahap ini dilakukan perancangan perangkat lunak untuk menerapkan permasalahan dan penyelesaiannya pada tahap sebelumya.
4. Pembuatan Perangkat Lunak
Pada tahap ini dilakukan pembuatan perangkat lunak sesuai dengan perancangan perangkat lunak yang telah dilakukan. Dalam tahap ini dilakukan konversi algoritma menjadi kode program yang siap dieksekusi. 5. Uji Coba dan Evaluasi Hasil
Pada tahap ini dilakukan uji coba dan analisis serta dilakukan evaluasi
kelebihan dan kekurangan terhadap perangkat lunak yang telah dibuat. 6. Dokumentasi
Pada tahap terakhir ini disusun buku sebagai dokumentasi dari pelaksanaan skripsi yang berisi konsep penunjang, perancangan perangkat lunak, pembuatan perangkat lunak, dokumentasi dari uji coba dan pada bagian akhir berisi tentang kesimpulan dan saran.
1.7 Sistematika Penulisan
BAB I : PENDAHULUAN
Bab satu berisi penjelasan tentang latar belakang permasalahan, rumusan masalah, batasan masalah, tujuan, metodologi pembuatan skripsi, dan sistematika penulisan laporan skripsi ini. BAB II : TINJAUAN PUSTAKA
Pada bab dua dijelaskan mengenai landasan teori yang terkait dengan skripsi ini. Yaitu tentang definisi citra, teori mengenai perubahan ukuran citra yang meliputi proses pembesaran citra dan pengecilan citra, interpolasi, operasi geometri, transformasi spasial, filtering, metode hybrid serta penjelasan mengenai
software yang digunakan
BAB III : ANALISIS DAN PERANCANGAN APLIKASI
Pada bab tiga diuraikan mengenai tahapan – tahapan perancangan perangkat lunak untuk perbesaran data citra digital hasil cropping dengan menggunakan metoda hybrid yang terdiri atas penjelasan dari analisa permasalahan, perancangan sistem, prosedur metode yang digunakan, contoh permasalahan serta rancangan antarmuka sistem yang akan dibuat.
BAB IV : IMPLEMENTASI SISTEM
meliputi : kebutuhan sistem, dan implementasi tampilan-tampilan antarmuka aplikasi.
BAB V : UJI COBA DAN EVALUASI
Pada bab kelima berisi penjelasan lingkungan uji coba aplikasi, pelaksanaan uji coba dan evaluasi dari hasil uji coba yang telah dilakukan untuk kelayakan pemakaian aplikasi
BAB VI : KESIMPULAN DAN SARAN
Pada bab keenam berisi kesimpulan dan saran untuk pengembangan aplikasi lebih lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja aplikasi yang lebih baik.
Pada bab ini akan dibahas beberapa teori dasar untuk menunjang penyelesaian skripsi ini, yaitu beberapa pengertian umum, konsep, dan teori yang berhubungan dengan pembuatan aplikasi Pembesaran Data Citra Digital Hasil
Cropping Dengan Metoda Hybrid, antara lain: definisi citra, teori mengenai perubahan ukuran citra yang meliputi proses pembesaran citra dan pengecilan citra, interpolasi, operasi geometri, transformasi spasial, filtering, metode hybrid
serta penjelasan mengenai software yang digunakan.
2.1 Definisi Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. [9]
2.1.1 Definisi Citra Analog
2.1.2 Definisi Citra Digital
Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y),
dimana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitas citra pada
koordinat tersebut, hal tersebut diilustrasikan pada gambar dibawah ini. Teknologi
dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan
pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar,
yaitu merah, hijau, dan biru (Red, Green, Blue - RGB). [7]
Gambar 2.1. Citra Digital
2.1.2.1 Jenis-jenis Citra Digital
Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra
digital yang sering digunakan adalah citra warna, citra grayscale, dan citra biner.
1. Citra Warna
RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru,
dasar, misalnya merah, dapat diberi rentang-nilai. Untuk monitor komputer,
nilai rentangnya paling kecil = 0 dan paling besar = 255. Pilihan skala 256 ini
didasarkan pada cara mengungkap 8 digit bilangan biner yang digunakan oleh
mesin komputer. Dengan cara ini, akan diperoleh warna campuran sebanyak
256 x 256 x 256 = 1677726 jenis warna. Sebuah jenis warna, dapat
dibayangkan sebagai sebuah vektor di ruang 3 dimensi yang biasanya dipakai
dalam matematika, koordinatnya dinyatakan dalam bentuk tiga bilangan,
yaitu komponen-x, komponen-y dan komponen-z. Misalkan sebuah vektor
dituliskan sebagai r = (x,y,z). Untuk warna, komponen-komponen tersebut
digantikan oleh komponen R(ed), G(reen), B(lue). Jadi, sebuah jenis warna
dapat dituliskan sebagai berikut: warna = RGB(30, 75, 255). Putih = RGB
(255,255,255), sedangkan untuk hitam= RGB(0,0,0).
Gambar 2.2. Citra Warna
2. Citra Gray
Graysacale adalah warna-warna piksel yang berada dalam rentang gradasi
Gambar 2.3. Color Dialog
Pada Color Dialog seperti yang terlihat pada gambar diatas, jika memilih
warna solid hitam, putih, atau abu-abu, maka akan berada dalam pita
warna Grayscale. Apabila tanda panah digeser ( ke atas menuju putih atau
ke bawah menuju ke hitam ) maka red, green dan blue akan memberikan
nilai yang sama. Untuk pengubahan warna image menjadi grayscale,
cara yang umumnya dilakukan adalah dengan memberikan bobot untuk
masing-masing warna dasar red, green, dan blue. Tetapi cara yang cukup
mudah adalah dengan membuat nilai rata-rata dari ketiga warna dasar
tersebut dan kemudian mengisikannya untuk warna dasar tersebut dengan
nilai yang sama ( seperti pada contoh color dialog di atas ).
3. Citra Biner
Citra biner diperoleh melalui proses pemisahan piksel-piksel berdasarkan
derajat keabuan yang dimilikinya. Piksel yang memiliki derajat keabuan lebih
kecil dari nilai batas yang ditentukan akan diberikan nilai 0, sementara piksel
yang memiliki derajat keabuan yang lebih besar dari batas akan diubah
menjadi bernilai 1.
Gambar 2.5. Citra Biner
(2.1)
Jika a1 =0 dan a2 = 1, maka operasi ini akan mentransformasikan suatu citra
menjadi citra biner. Misal suatu citra memiliki gray level 256, dipetakan
menjadi citra biner, maka fungsi fungsi trasformasinya adalalah sebagai
berikut:
(2.2)
pixel-pixel yang nilai intensitasnya di bawah 128 diubah menjadi hitam (nilai
intensitas = 0), sedangkan pixel-pixel yang nilai intensitasnya di atas 128
2.2 Operasi Pengolahan Citra
Operasi-operasi yang dilakukan dalam pengolahan citra banyak ragamnya,
namun secara umum operasi pengolahan citra dapat diklasifikasikan dalam
beberapa jenis sebagai berikut:[6]
1. Perbaikkan Kualitas Citra (image enhancement)
Jenis operasi ini bertujuan untuk memperbaiki citra dengan cara
memanipulasi parameter-parameter citra. Dengan operasi ini, cirri-ciri khusus
yang khusus yang terdapat didalam citra lebih ditonjolkan.
Contoh-contoh operasi perbaikkan citra:
a. Perbaikkan kontras gelap/terang
b. Perbaikkan tepian objek (edge enhancement)
c. Penajaman (sharpening)
d. Pemberian warna semu (pseudocoloring)
e. Penapisan derau (noise filtering)
2. Pemugaran Citra (image restoration)
Operasi ini bertujuan menghilangkan cacat pada citra. Tujuan pemugaran
citra hampir sama dengan operasi perbaikkan citra. Bedanya, pada pemugaran
citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra :
a. Penghilangan kesamaran (deblurring)
3. Pemampatan Citra (image compression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk
yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal
penting yang harus diperhatikan dalam pemampatan citra adalah citra yang
telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus.
4. Segmentasi Citra (image segmentation)
Jenis operasi ini bertujuan untuk memecah suatu citra kedalam beberapa
segmen dengan suatu criteria tertentu. Jenis operasi ini berkaitan erat dengan
pengenalan pola.
5. Pengorakan Citra (Image Analysis)
Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk
menghasilkan diskripsinya. Tehnik pengolahan citra mengekstraksi cirri-ciri
tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadang
kala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Contoh-contoh operasi pengorakan citra :
a. Pendeteksian tepian objek (edge detection)
b. Ekstraksi batas (boundary)
c. Representasi Daerah (region)
6. Rekonstruksi Citra (Image Reconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra
hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang
2.3 Perubahan Ukuran Citra
Perubahan ukuran citra dapat dilakukan melalui dua proses utama, yaitu pembesaran ukuran citra dan pengecilan ukuran citra (shrinking). Perubahan ukuran citra berkaitan dengan proses sampling dan kuantisasi (quantization) pada citra, dimana proses pembesaran citra bisa dipandang sebagai oversampling
sementara untuk pengecilan ukuran citra dipandang sebagai undersampling. Perbedaan antara perubahan ukuran citra dengan proses sampling dan kuantisasi terletak pada obyek yang diproses, dimana proses sampling dan kuantisasi dilakukan pada citra kontinyu asli (original continuous image) sementara proses pembesaran citra dan pengecilan citra dilakukan pada citra digital.
2.3.1 Pembesaran Citra
menunjukkan detail-detail yang semula kurang mencolok dan memiliki resolusi serta kualitas yang lebih baik dari citra semula.
2.3.2 Pengecilan Citra (Shrinking)
Konsep pengecilan citra secara umum sama saja dengan pembesaran citra, yaitu dengan menentukan ukuran baru untuk citra subjektif dan menempatkan nilai untuk setiap piksel-nya. Apabila pada pembesaran citra ukuran baris dan kolom citra diperbesar, maka pada pengecilan citra, citra diperkecil dengan cara menghapus kolom dan baris tertentu dari citra input hingga dihasilkan citra yang lebih kecil.
2.4 Interpolasi
Dalam pengolahan citra digital, interpolasi digunakan untuk menentukan nilai pada koordinat tertentu dalam citra. Untuk itu, interpolasi merupakan konsep dasar dalam perubahan ukuran citra yang membutuhkan proses penentuan nilai pada koordinat tertentu dalam citra yang mengalami perubahan ukuran. [2]
Interpolasi dapat dinyatakan dengan notasi sebagai berikut :
(2.3) dimana merupakan bobot piksel, sedangkan h adalah kernel atau jarak
2.4.1 Interpolasi Tetangga Terdekat
Pada interpolasi tetangga terdekat (nearest neighbor interpolation), nilai keabuan titik hasil diambil dari nilai keabuan pada titik asal yang paling dekat dengan koordinat hasil perhitungan dari transformasi spasial. Untuk citra dua dimensi, tetangga terdekat dipilih di antara 6 titik asal yang saling berbatasan satu sama lain. [2]
Kelebihan dari interpolasi tetangga terdekat adalah kemudahan dan kecepatan eksekusinya. Namun pada banyak kasus, penggunaan interpolasi tetangga terdekat menghasilkan citra yang kurang memuaskan karena timbulnya efek aliasing pada bagian tepi obyek.
Replikasi piksel adalah kasus khusus dalam interpolasi tetangga terdekat.
Replikasi piksel dapat digunakan ketika kita ingin memperbesar ukuran citra dengan skala bilangan integer. Sebagai contoh, untuk memperbesar ukuran citra dua kali dari citra input, mula–mula ukuran kolom digandakan untuk melipat duakan ukuran citra pada arah vertikal. Prosedur yang sama juga dilakukan untuk memperbesar ukuran citra sebesar tiga kali, dan seterusnya.
Duplikasi dilakukan hanya untuk mencapai ukuran yang diinginkan. Penempatan nilai keabuan pada tiap piksel ditentukan berdasarkan fakta bahwa lokasi yang baru adalah dupliksai pasti dari lokasi yang sama.
2.4.2 Interpolasi Bilinier
Interpolasi bilinier dapat dilakukan dengan memanfaatkan empat tetangga terdekat dari suatu titik yang di rata-rata. [2]
Dibandingkan interpolasi tetangga terdekat atau replikasi piksel sedehana, citra hasil dari pembesaran citra akan tampak lebih halus (smooth), namun tentu saja membutuhkan waktu pengolahan yang lebih lama.
Jika kita memiliki satu set dari dua titik data, a dan b, seperti yang
ditunjukkan di bawah ini ( a= 2, b = 3), nilai fungsi y = f (x) pada titik-titik ini
dapat didefinisikan sebagai:
a=f( a)
b=f( b)
Gambar 2.6 data point y=f(x)
Asumsikan bahwa kita ingin lebih banyak data poin di antara nilai-nilai ini. Kita telah melihat apa yang terjadi dengan interpolasi tetangga terdekat, kami mendapatkan pendekatan discountinuous bergerigi. f (xi), untuk setiap datapoint,
Gambar 2.7 interpolasi linear menggunakan y=f(x)
Teknik ini dikenal sebagai interpolasi linier, dan masing-masing titik data dapat dihitung dengan menggunakan rumus sederhana y-intercept kemiringan = b .
Jika kita memisahkan parameter, kita bisa memecahkan setiap nilai-y menurut:
i=f( 1)=( ) a+( ) b (2.4)
Untuk nilai W, kita dapat menyelesaikan hal ini dengan asumsi bahwa kita ingin memasukkan titik data n yaitu 0, 1,……. n antara a dan b. Jadi, untuk
setiap titik data, = ( i a ) dan = ( b i). Dengan menggunakan
rumus di atas, kita dapat membuat sebuah loop sederhana yang menghitung , dan i untuk i masing-masing. Silakan lihat diagram kiri bawah untuk
penjelasan visual.
Sekarang, mari kita memperluas ini untuk pengolahan gambar dan langkah ke atas satu atau dua. Jadi, kami ingin upsampler gambar, seperti terlihat di bawah :
Gambar 2.9 contoh perbesaran
Untuk melakukan hal ini, seperti yang kita lakukan dengan interpolasi tetangga terdekat, kita perlu mendefinisikan transformasi antara koordinat dari gambar sumber dan akhir kita (upsampled) output gambar. Seperti yang ditunjukkan di bawah ini .
Gambar 2.10 kordinat system
, ditentukan oleh posisi relatif dari pixel baru dibandingkan dengan piksel – piksel tetangganya. Juga mencatat bahwa ini merupakan garis berat dalam dua dimensi. Jadi, secara umum, kita dapat interpolasi nilai apapun untuk menempatkan piksel dalam gambar target sebagai: [2]
Y(J,K) = (1 – W ) (1 – H) X (A,B) + (W) (1 – H) X (A + 1,B) + (1 – W) (H) X (A,B+1) +
(W) (H) X (A + 1,B+1) (2.5)
2.4.3 Interpolasi Dengan Orde Lebih Tinggi
Meskipun interpolasi bilinier menghasilkan citra kontinyu, namun tepat pada keempat koordinat tetangga tersebut, slope-nya tidak kontinyu. Hal ini terjadi karena interpolasi yang digunakan untuk menginterpolasi sebelah kanan sebuah titik akan berbeda dengan yang digunakan untuk menginterpolasi sebelah kiri. Discontinyuitas dari slope ini mengakibatkan hasil yang tidak diinginkan apabila citra hasil interpolasi akan dioperasikan lebih lanjut.
2.4.4 Interpolasi Bikubik
Cubic Convolution dapat dicari dengan menyelesaikan dalam baris per baris terlebih dahulu. Kemudian disusul dengan penyelesaian kolom per kolomnya. Berdasarkan hasil per baris yang telah diselesaikan.
2.5 Operasi Geometri
Operasi Geometri pada pengolahan citra ditujukan untuk memodifikasi koordinat piksel dalam suatu citra dengan pendekatan tertentu, tetapi dalam perkembangannya dimungkinkan juga memodifikasi nilai skala keabuan. Operasi geometri berhubungan dengan perubahan bentuk geometri citra, antara lain: pencerminan (flipping), rotasi/ pemutaran (rotating), pemotongan (cropping), penskalaan (scaling/ zooming). [3]
2.5.1 Pencerminan (flipping)
Operasi pencerminan merupakan salah satu operasi geometri yang paling sederhana.
Efek pencerminan
horisontal : pencerminan pada sumbu Y vertikal : pencerminan pada sumbu X
kombinasi : pencerminan pada sumbu Y dan X Formula/ rumus yang digunakan
Pencerminan Horizontal : x’ = w – 1 – x
Pencerminan Kombinasi : x’ = w – 1 – x
y’ = h – 1 – y (2.8)
2.5.2 Rotasi/ Pemutaran (rotating)
Operasi rotasi dengan memutar koordinat yang akan dibahas adalah rotasi putaran (90°) dan putaran (180°).
2.5.2.1Rotasi searah jarum jam (CW/clock wise)
1. Rotasi putaran (90°) searah jarum jam (CW/clock wise) w’ = h dan h’ = w > pertukaran ukuran lebar & tinggi citra
x’ = w’ – 1 – y (2.9)
y’ = x (2.10)
2. Rotasi putaran (180°) searah jarum jam (CW/clock wise)
x’ = w’ – 1 – x (2.11) y’ = h’ – 1 – y (2.12)
2.5.2.2Rotasi berlawanan dengan arah jarum jam (CCW/counter clock wise)
Rotasi Bebas Dengan asumsi berlawanan arah jarum jam (CCW/counter clock wise)
x’ = x cos(θ) + y sin(θ) (2.13)
y’ = -x sin(θ) + y cos(θ) (2.14)
w’ = |w cos(θ)| + |h sin(θ)| (2.15)
2.5.3 Pemotongan (cropping)
Pemotongan (cropping) : Adalah pengolahan citra dengan kegiatan memotong satu bagian dari citra.
Rumus yang digunakan :
x’ = x – xL untuk x = xL sampai xR (2.17) y’ = y – yT untuk y = yT sampai yB (2.18) (xL,yT) dan (xR,yB) adalah koordinat titik pojok kiri atas dan pojok kanan bawah citra yang akan di-crop, ukuran citra menjadi :
w’ = xR – xL (2.19)
h’ = yB –YT (2.20)
Gambar 2.11 Mekanisme Cropping.
2.5.4 Penskalaan (scaling/ zooming)
Operasi penskalaan (scaling) dimaksudkan untuk memperbesar (zoom-in) atau memperkecil (zoom-out) citra.
Nilai skala >1, memperbesar citra asli Nilai skala <1, memperkecil citra asli Rumus yang dipakai :
Keterangan :
Sh = faktor skala horizontal Sv = faktor skala vertikal
Ukuran citra juga berubah menjadi :
(2.23) (2.24) Operasi zoom in dengan faktor 2 (Sh=Sv=2) : menyalin setiap piksel sebanyak 6 kali, jadi citra 2x2 piksel menjadi citra 6x6 piksel.
2.6 Transformasi Spasial
Terdiri atas transformasi maju dan transformasi mundur.
a. Transformasi maju
Transformasi Maju memetakan koordinat titik citra asal ke koordinat titik-titik citra hasil. Ciri – ciri transformasi maju :
bila koordinat hasil pemetaan jatuh di antara 6 buah titik hasil
nilai keabuan titik asal didistribusikan ke keempat titik pada citra hasil
dengan aturan interpolasi tertentu
Gambar 2.12. Transformasi Maju.
cara ini sering disebut pixel carry-over
b. Transformasi Mundur/Balik
Transformasi Mundur/Balik memetakan koordinat titik-titik citra hasil ke koordinat titik-titik citra asal
x = f x '(x', y' ) (2.28)
y = f y '(x' , y' ) (2.29) keterangan :
(x,y) → koordinat asal (x’,y’) → koordinat hasil
f’x , f’y → invers fungsi transformasi spasial Ciri – cirri Transformasi mundur/balik :
nilai x dan y hasil transformasi balik tidak bulat
jika hasil pemetaan balik jatuh di antara 6 titik
Gambar 2.13. Transformasi Mundur/ Balik.
Cara ini sering disebut pixel filling
2.7 Filtering
Filtering adalah suatu proses dimana diambil sebagian sinyal dari frekwensi tertentu, dan membuang sinyal pada frekwensi yang lain. Filtering pada citra juga menggunakan prinsip yang sama, yaitu mengambil fungsi citra pada frekwensi tertentu dan membuang fungsi citra pada frekwensi-frekwensi tertentu. [7]
2.7.1 Prinsip – prinsip filtering
Berdasarkan sifat transformasi fourier dari suatu citra dan format koordinat frekwensi seperti gambar 6.1. berikut ini:
Berikutnya kita perhatikan bagaimana pengaruh frekwensi rendah dan frekwensi tinggi pada citra dengan memanfaatkan hasil dari transformasi fourier. Dimana frekwensi pada citra dipengaruhi oleh gradiasi warna yang ada pada citra tersebut.
Dari sifat-sifat citra pada bidang frekwensi, maka prinsip-prinsip filtering dapat dikembangkan adalah sebagai berikut:
1. Bila ingin mempertahankan gradiasi atau banyaknya level warna pada suatu citra, maka yang dipertahankan adalah frekwensi rendah dan frekwensi tinggi dapat dibuang atau dinamakan dengan Low Pass Filter. Di dalam Low Pass Filter terdapat filter rata – rata ataupun filter gaussian
Hal ini banyak digunakan untuk reduksi noise dan proses blur.
2. Bila ingin mendapatkan threshold atau citra biner yang menunjukkan bentuk suatu gambar maka frekwensi tinggi dipertahankan dan frekwensi rendah dibuang atau dinamakan dengan High Pass Filter. Hal ini banyak digunakan untuk menentukan garis tepi (edge) atau sketsa dari citra. 3. Bila ingin mempertahankan gradiasi dan bentuk, dengan tetap mengurangi
2.7.2 Konvolusi
Konvolusi adalah perkalian total dari dua buah fungsi f dan f yang didefinisikan dengan:
(2.30) Untuk fungsi f dan h yang berdimensi 2, maka konvolusi dua dimensi didefinisikan dengan:
(2.31) Konvolusi 2D inilah yang banyak digunakan pengolahan citra digital, sayangnya rumus diatas sangat sulit diimplementasikan menggunakan komputer, karena pada dasarnya komputer hanya bisa melakukan perhitungan pada data yang diskrit sehingga tidak dapat digunakan untuk menghitung intregral di atas.[7]
Konvolusi pada fungsi diskrit f(n,m) dan h(n,m) didefinisikan dengan:
(2.32) Perhitungan konvolusi semacam ini dapat digambarkan dengan:
Gambar 2.15 Perhitungan Konvolusi Secara Grafis.
Filter pada citra pada bidang spasial dapat dilakukan dengan menggunakan konvolusi dari citra (I) dan fungsi filternya (H), dan dituliskan dengan:
I’ = H ٔ I
Dan dirumuskan dengan:
(2.33)
Dimana :
m,n adalah ukuran dari fungsi filter dalam matrik.
Rumus konvolusi di atas digunakan untuk berbagai macam proses filter yang akan dijelaskan pada sub bab-sub bab berikut.
Seperti telah dijelaskan di atas bahwa Low Pass Filter adalah proses filter yang mengambil citra dengan gradiasi intensitas yang halus dan perbedaan intensitas yang tinggi akan dikurangi atau dibuang. Ciri-ciri dari fungsi l Low Pass Filter adalah sebagai berikut:
(2.34) Sebagai contoh dibuat program Low Pass Filter dengan fungsi filter rata-rata sebagai berikut:
2.7.4 High Pass Filter
Seperti telah dijelaskan di atas bahwa high pass filter adalah proses filter yang mengambil citra dengan gradiasi intensitas yang tinggi dan perbedaan intensitas yang rendah akan dikurangi atau dibuang. Ciri-ciri dari fungsi low pass filter adalah sebagai berikut:
2.8 Metode Hybrid
Metode hybrid yang dimaksudkan adlah penggabungan antara perbaikan citra (filter) yaitu low pass filter dengan metode perbesaran yaitu bilinear interpolation. Citra hasil perbesaran biasanya cenderung kontras, maka dibuat blok diagram sebagai berikut yang terdapat dua jalur, yaitu jalur atas yang melewati sebuah low pass filter kemudian dilakukan proses perbesaran dengan metode bilinear yang bertujuan untuk menurunkan kontras karena low pass filter
akan menghasilkan citra yang cenderung agak gelap. Sedangkan pada jalur bawah, citra langsung diperbesar dengan menggunakan metode bilinear, maka jalur ini menghasilkan perbesaran citra yang cenderung lebih kontras. Keluaran dari kedua jalur kemudian dijumlahkan dan diambil nilai rata – ratanya untuk keluaran system. [4]
Gambar 2.16 Perbesaran dengan Metode Hybrid.
2.9 MSE dan PSNR
Disamping MSE, dua ukuran obyektif yang sering dipakai dalam pengolahan citra adalah SNR dan PSNR. Nilai SNR dan PSNR disukai karena skornya menunjukkan kualitas dari sinyal atau citra, artinya, citra dengan SNR atau PSNR yang tinggi memiliki kualitas yang lebih baik dari pada yang memiliki SNR atau PSNR rendah. Hal ini berlawanan dengan MSE. SNR dan PSNR didefinisikan sebagai berikut:[8]
(2.36) (2.37)
2.10 Matlab 7.1
Matlab (Matrix Laboratory) merupakan salah satu bahasa pemrograman yang dikembangkan oleh MathWorks. Matlab tidak hanya berfungsi sebagai bahasa pemrograman, tetapi sekaligus sebagai alat visualisasi, yang berhubungan langsung dengan ilmu Matematika.Penggunaan matlab, yaitu :[5]
a. Matematika dan komputasi b. Pengembangan algoritma
c. Pemodelan, simulasi dan pembuatan “prototipe” d. Analisis data, eksplorasi dan visualisasi
e. Grafik untuk sains dan teknik
f. Pengembangan aplikasi, termasuk pembuatan antarmuka grafis untuk pengguna (Graphical User Interface)
Bagian ini adalah bahasa (pemrograman) tingkat tinggi yang menggunakan matrik/array dengan pernyataan aliran kendali program, struktur data, masukan/keluaran, dan fitur – fitur pemrograman berorientasi objek.
2. Lingkungan kerja Matlab
Bagian ini adlah sekumpulan peralatan dan fasilitas Matlab yang digunakan oleh pengguna. Fasilitas yang dimaksud misalnya untuk mengelola variable di dalam ruang kerja (workspace) dan melakukan import dan export data. Sedangkan peralatan yang disediakan untuk pengembangan, pengelolaan, proses debugging dan pembuatan M-file untuk aplikasi Matlab.
3. Penanganan grafik
Bagian ini adalah system grafik Matlab, termasuk printah – printah (program) tingkat tinggi untuk visualisasi data dimensi dua dan dimensi tiga, pengolahan citra, animasi, dan presentasi grafik. Selain itu juga, bagian ini juga termasuk perintah – perintah (program) tingkat rendah untuk menetapkan sendiri tampilan grafik seperti halnya membuat graphical user interface untuk aplikasi Matlab.
4. Pustaka (library) fungsi matematis Matlab
Bagian ini adalah koleksi algoritma komputasi mulai dari fungsi dasar seperti menjumlahkan (SUM), menentukan nilai sinus (SINE), kosinus (COSINE) dan aritmatika bilangan kompleks, serta fungsi – fungsi seperti
5. API (application program interface) Matlab
Bagian ini adalah pustaka untuk menuliskan program dalam bahasa C dan fortran yang berinteraksi dengan Matlab, termasuk fasilitas untuk memanggilrutin program dari Matlab, memanggil Matlabsebagai mesin komputasi dan untuk pembacaan serta penulisan MAT-files.
Versi Matlab terbaru adalah Matlab 7. Namun, Matlab 7 hanya dapat dijalankan pada Windows XP, sedangkan untuk Windows 98 atau Windows ME digunakan Matlab 7 ke bawah. [5]
Tampilan jendela matlab dapat dibagi menjadi beberapa bagian, yaitu : 1. Jendela Utama
Berikut adalah penjelasan fungsi ikon – ikon pada toolbar : a. New , untuk membuka lembar kerja Matlab editor baru. b. Open , untuk membuka file – file yang sudah tersimpan.
c. Cut , untuk menghapus suatu teks yang diketikkan supaya dapat disalin kembali.
d. Copy , untuk mengkopi suatu teks.
e. Paste , untuk menyalin kembali teks yang sudah dihapus atau dikopi. f. Undo , untuk mengembalikan suatu perintah yang dilakukan
sebelumnya.
h. Simulink , untuk mengakses Simulink Library Browser yang berfungsi sebagai bantuan.
i. Help , untuk mengakses Help yang berfungsi sebagai bantuan pula.
j. Current Directory ,
untuk memilih lembar kerja aktif yang digunakan selama Matlab berlangsung.
Tampilan jendela utama adalah :
Gambar 2.17. Tampilan Jendela Utama Matlab
2. Workspace
Gambar 2.18. Tampilan Workspace
Fungsi workspace adalah menginformasikan kepada pengguna tentang variable-variabel yang dipakai selama penggunaan Matlab berlangsung. 3. Current Directory
Tampilan current directory dalam Matlab adalah :
Gambar 2.19. Tampilan Current Directory
Fungsi current directory adalah memilih direktori yang aktif dan akan digunakan selama penggunaan Matlab berlangsung.
4. Command History
Tampilan command history dalam Matlab adalah :
Fungsi command history adalah menyimpan perintah – perintah yang pernah ditulis pada command window.
5. Command Window
Tampilan command window dalam matlab adalah :
Gambar 2.21. Tampilan Command Window
Fungsi command window adalah menjalankan seluruh fungsi yang disediakan Matlab. Command Window merupakan tempat pengguna berinteraksi dengan Matlab.
6. Matlab Editor
Fungsi Matlab editor adalah membuat script program pada Matlab. Untuk memunculkan Matlab editor, kita menggunakan perintah File – New – M-File atau dengan mengetikkan >>edit pada command window.
7. Help
Tampilan help dalam Matlab :
Metode hybrid adalah metode yang digunakan untuk memperbesar citra dengan sembarang factor perbesaran, metode ini adalah gabungan dari perbaikan kualitas citra (filter) dan metode Bilinear Interpolation. Dalam metode hybrid
terdapat dua tahap yang harus dilakukan yaitu melalui jalur atas dan jalur bawah. Jalur atas adalah perbesaran citra yang melalui proses perbaikan citra melalui low pass filter kemudian hasil dari filter tersebut akan diperbesar menggunakan metode Bilinear Interpolation. Sedangkan untuk jalur bawah citra hasil akan langsung diperbesar menggunakan metode Bilinear Interpolation. Pada bab ini akan dibahas tentang analisa permasalahan, perancangan system yang terdiri dari perbaikan kualitas citra dan juga metode Bilinear Interpolation, contoh permasalahan, serta rancangan antarmuka aplikasi yang akan dibuat.
3.1 Analisa Permasalahan
1. Preprocessing, merupakan kumpulan dari proses yang digunakan untuk dapat menghasilkan perbesaran citra yang baik.
a. Cropping yaitu proses pemotongan citra sebagian. Dalam hal ini citra hasil
cropping akan dijadikan objek untuk diperbesar.
b. Konvolusi yaitu proses perkalian total dari dua buah fungsi diskrit f(n,m) dan h(n,m) dimana f adalah citra hasil cropping sedangkan h adalah kernel matriks.Filterisasi yaitu proses peningkatan mutu citra dalam hal ini yang digunakan adalah low pass filter dengan fungsi filter rata – rata.
2. Perbesaran citra dengan metode hybrid yaitu melakukan perbesaran dengan penggabungan antara perbaikan citra dengan metode perbesaran bilinear interpolation.
3.2 Pengolahan Citra Digital
Citra digital direpresentasikan dengan dua dimensi yang disebut larik (array) atau matriks. Operasi pada citra digital pada dasarnya adalah manipulasi atau memodifikasi elemen – elemen matriks. Elemen yang dimanipulasi dapat berupa elemen tunggal (sebuah piksel), sekumpulan elemen yang berdekatan, atau keseluruhan elemen matriks. Citra digital dapat didefinisikan sebagai dua variabel
f(x,y), dimana x dan y adalah kordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut. Sebuah citra diubah kebentuk digital agar dapat disimpan dalam memori computer atau media lain. Proses pengubah citra kebentuk digital bias dilakukan dengan beberapa perangkat, misalnya scanner, kamera digital,
digital (selanjutnya disebut citra digital), bermacam – macam proses pengolahan citra dapat dilakukan terhadap citra tersebut. [7]
Gambar 3.1. Proses Pengolahan Citra Digital
Pada awal permulaan melalui proses pengolahan citra digital dari objek sampai pada merekam objek menggunakan kamera analog dihasilkan citra kontiniu ini berasal dari sumber cahaya menyinari objek, objek memantulkan kembali sebagian berkas cahaya tersebut, pantulan ini ditangkap oleh sensor visual pada system optic pada kamera analog.
digunakan untuk digitalisasi adalah scanner. Digitalisasi terdiri dari tiga komponen dasar yaitu sensor citra yang bekerja sebagai pengukur intensitas cahaya, perangkat penjelajah yang berfungsi merekam hasil pengukuran intensitas pada seluruh baian citra, dan mengubah analog ke digital yang berfungsi melakukan spasial dan kuantitas.
Komputer digital yang digunakan pada system pemrosesan citra dapat bervariasi dari computer mikro sampai komputer besar yang mampu melakukan bermacam – macam fungsi pada citra digital resolusi tinggi. Program pengolahan citra digital berfungsi untuk mengolah citra masukan yang akan diperbaiki kualitas atau mutu citra masukan menjadi citra keluaran yang menghasilkan citra yang lebih mudah dideskripsikan.
Piranti tampilan peraga berfungsi untuk mengkonversi matriks intensitas yang merepresentasikan citra kketampilan yang dapat diinterpretasikan oleh mata manusia. Contoh piranti tampilan adalah monitor. Media penyimpanan adalah piranti yang mempunyai kapasitas memori besar sehingga gambar dapat disimpan secara permanen sehingga dapat digunakan kembali dimasa mendatang. Alat yang digunakan untuk media penyimpanan adalah hard disk, disket, atau media penyimpanan lainnya.
3.3 Perancangan System
perbesaran citra menggunakan metode Bilinear Interpolation, jalur bawah meperbesar citra dengan metode Bilinear Interpolation.
3.3.1 Pemotongan (cropping)
Cropping adalah memotong satu bagian citra sehinga diperoleh citra yang berukuran lebih kecil. Operasi ini pada dasarnya adalah operasi translasi, yaitu menggeser koordinat titik citra.
3.3.2 Jalur Atas
Jalur atas adalah penggabungan antara perbaikan citra melalui proses
konvolusi dan juga low pass filter yang bertujuan untuk menurunkan kontras karena low pass filter akan menghasilkan citra yang cenderung agak gelap dengan metode perbesaran Bilinear Interpolation.
3.3.3 Jalur Bawah
Jalur bawah adalah perbesaran citra dengan metode Bilinear Interpolation
maka perbesaran ini menghasilkan perbesaran citra yan cenderung lebih kontras. Metode Bilinear Interpolation merupakan perpanjangan dari interpolasi – interpolasi linear untuk fungsi dua buah variable digrid biasa.
3.4 Algoritma dan Diagram Alir (flowchart)
3.4.1 Algoritma Perbesaran Citra Hasil Cropping dengan Menggunakan
Metode Hybrid
Untuk sampai pada perancangan program, akan ditentukan terlebih dahulu bentuk algoritma dalam mendukung proses perbesaran data citra digital hasil
cropping dengan menggunakan metode hybrid, yaitu. 1. Mengcropping citra inputan
2. Menghitung nilai konvolusi
3. Menghitung nilai (x,y) baru dalam hal ini disebut penskalaan dengan citra hasil dari konvolusi
4. Menentukan ratio antara dimensi lama dibandingkan dimensi baru 5. Menghitung jarak W(width) dan H(height)
6. Menghitung nilai ketetanggaan (1,1), (1,2), (2,1), (2,2) 7. Menghitung rumus Bilinear Interpolation.
8. Mengulang langkah no.3 samapi no.7 tetapi ciitra yang dipakai adalah citra hasil crop.
9. Menggabungkan perbesaran citra hasil konvolusi dan zoom Bilinear Interpolation dengan citra hasil zoomBilinear Interpolation.
3.4.2 Flowchart Secara Garis Besar
Secara garis besar algoritma perbesaran data citra digital hasil cropping
Gambar 3.2. Flowchart Secara Garis Besar
Keterangan :
(i) input file yang nantinya akan diperbesar (zoom), setelah nama file di-input, gambar di-load dan dipersiapkan untuk di-zoom.
(ii) Crop, citra inputan akan dicrop terlebih dahulu.
(v) Hasil dari jalur atas dan bawah akan dirata- rata dan akan menjadi keluaran dari system.
3.4.3 Flowchart Preprocessing
Preprocessing merupakan kumpulan dari proses yang digunakan untuk dapat menghasilkan perbesaran yang baik. Preprocessing yang digunakan adalah
cropping, konvolusi dengan low pass filter,. Flowchart ditunjukkan sebagai berikut.
Gambar 3.3. Flowchart Proses Preprocessing
Gambar 3.4. Flowchart Proses Cropping
Proses kedua setelah proses cropping adalah proses konvolusi
3.4.4 Flowchart perbesaran (zoom)
Proses perbesaran (zoom) citra merupakan proses utama dari pengolahan citra ini. Berikut ditampilkan flowchart dari proses tersebut.
start
Mencari nilai ketetanggaan (1,1), (1,2), (2,1), (2,2)
3.5 Contoh permasalahan
Dalam hal ini aplikasi ini digunakan matriks hasil cropping berdimensi 3, tetapi dalam contoh permasalahan akan diambil matriks berdimensi 1 saja yaitu :
gbr_crop(:,:,1) =
248 247 247 250 251
245 245 245 248 248
241 243 244 245 244
238 242 244 243 242
Matriks hasil cropping ini akan dilakukan perbesaran 2 kali menggunakan metode hybrid. Berikut langkah – langkah dalam menerapkan metode hybrid.
a. Melalui jalur atas
1. mereplikasi terlebih dahulu dalam hal ini disebut (padding) maka ukuran citra akan bertambah kekanan, kekiri, keatas, maupun kebawah.
gambar = padding matriks [1 1] gambar(:,:,1) =
248 248 247 247 250 251 251 248 248 247 247 250 251 251 245 245 245 245 248 248 244 241 241 243 244 245 244 248 238 238 242 244 243 242 242 238 238 242 244 243 242 242
2. Dari hasil padding makan akan dilakukan konvolusi dengan filter rata – rata dalam hal ini disebut mask/ kernel. Matriks mask yang dipakai dalam aplikasi ini adalah matriks [3 3].
h =
3. Proses konvolusi
perhitungan konvolusi dimulai dari matrik (2,2) = gambar(1,1)*h(1,1) + gambar(1,2)*h(1,2) + gambar(1,3)*h(1,3) + gambar(2,1)*h(2,1) + gambar(2,2)*h(2,2) + gambar(2,3)*h(2,3) + gambar(3,1)*h(3,1) + gambar(3,2)*h(3,2) + gambar(3,3)*h(3,3)
248*0.1111 248*0.1111 247*0.1111 247 250 251 251 248*0.1111 248*0.1111 247*0.1111 247 250 251 251 245*0.1111 245*0.1111 245*0.1111 245 248 248 244
241 241 243 244 245 244 248
238 238 242 244 243 242 242
238 238 242 244 243 242 242
Terlihat bahwa baris dan kolom ditepi bernilai 0 maka akan dihilangkan dan dapat mengembalikan matriks keukuran semula sperti sbelum dipadding. 4. Dari hasil konvolusi tersebut akan dizoom menggunakan metode Bilinear
Interpolation. Menggambarkan piksel – piksel yang baru yang berukuran (n.k x n.k), dari gambar berikut, dapat terlihat posisi piksel asli maupun posisi piksel hasil interpolasi. Karena akan dizoom 2 kali maka ukuran citra menjadi 2 kali yaitu x_new = 8, dan y = 10.
5. Menentukan ratio dimensi lama dibandingkan dimensi baru x_scale = 8/(4 – 1) = 2.6667
W = – (((count1/x_scale) – (count1/x_scale)) – 1) = 1
H = – (((count2/y_scale) – floor(count2/y_scale)) –1) = 0.2000
baru = matriks hasil konvolusi
baru11 = baru(1+ (count1/x_scale),1+ (count2/y_scale)) baru12 = baru(1+ (count1/x_scale),1+ (count2/y_scale)) baru21 = baru(1+ (count1/x_scale),1+ (count2/y_scale)) baru22 = baru(1+ (count1/x_scale),1+ (count2/y_scale))
8. Bilinear interpolation
Dari hasil no.5 dan no.7 berulang ulang dan dimasukkan kedalam rumus bilinear interpolation dibawah ini :
hasil= (1-W)*(1-H)*baru22 + (W)*(1-H)*baru21 + (1-W)*(H)*baru12 + (W)*(H)*baru11
b. Melalui jalur bawah
Pada dasarnya jalur bawah hampir sama dengan jalur atas akan tetapi pada jalur bawah tidak perlu dilakukan proses konvolusi jadi pada jalur bawah ini hanya memperbesar saja. Untuk langkah – langkahnya tinggal mengikuti langkah – langkah pada jalur atas mulai no.4 sampai dengan no.8 akan tetapi citra yang diperbesar adalah citra hasil cropping bukan citra hasil konvolusi.
3.6 Rancangan Antarmuka
Dalam melakukan perancangan antarmuka sistem diharapkan mampu memenuhi aspek-aspek seperti user friendly (mudah dimengerti oleh user), sederhana, dan mengurangi terjadinya kesalahan saat user menggunakan sistem. Untuk memberikan gambaran awal tentang antarmuka aplikasi serta menjaga konsistensi dari desain aplikasi, maka perlu dibuat suatu rancangan masukan dan keluaran aplikasi.
a. FormSplash
Form splash merupakan form yang muncul pertama kali ketika aplikasi dijalankan. Form splash menampilkan nama dari aplikasi yang dijalankan. Berikut merupakan rancangan antarmuka dari form splash.
Gambar 3.7. form splash
b. Form Utama
Form utama pada Gambar 3.6 ini digunakan untuk memasukkan objek berupa citra dengan format .jpg atau .bmp. Dalam form utama ini proses
utama. Proses zoom atau perbesaran juga terdapat didalam form utama setelah proses cropping dilakukan.
Gambar 3.8. form utama
c. Form Bantuan
4.1 Kebutuhan System
Sebelum melakukan implementasi dan menjalankan aplikasi untuk perbesaran data citra digital hasil cropping dengan menggunakan metode hybrid, dibutuhkan spesifikasi perangkat keras dan juga perangkat lunak dengan kondisi tertentu agar dapat berjalan dengan baik.
Berikut ini adalah perangkat keras yang digunakan untuk menjalankan aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metode
hybrid :
a. Komputer dengan prosesor Dual Core. b. Memori 1 GB.
Kebutuhan perangkat lunak yang digunakan untuk menjalankan aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metode hybrid
ini adalah sebagai berikut :
4.2 Potongan Program
Dalam sub bab ini akan dijelaskan mengenai beberapa potongan program matlab sebagai implementasi dari algoritma yang sudah dijelaskan pada bab sebelumnya.
a. Membuka dan menyimpan file
[namafile,direktori]=uigetfile({'*.jpg';'*.bmp'},'Buka
Gambar')
[namafile,direktori]=uiputfile({'*.jpg';'*.bmp'},'SimpanGambar
');
Fungsi “uigetfile()” digunakan untuk membuka file. Fungsi
“uigetfile()” menghasilkan dua keluaran, yaitu variable namafile dan variable direktori. Variable namafile digunakan untuk menyimpan nama file yang dibuka dan variable direkori digunakan untuk menyimpan path direktori. Fungsi untuk menyimpan file adalah “uiputfile()”.
b. Mengambil data dan mengcrop gambar
proyek=guidata(gcbo);
I=get(proyek.original_image,'Userdata');
gbr_crop=imcrop(I);
set(proyek.figUtama,'CurrentAxes',proyek.crop); set(imshow(gbr_crop));
set(proyek.figUtama,'Userdata',gbr_crop);
set(proyek.original_image,'Userdata',gbr_crop);
c. Mereplikasi matrik asli dan menentukan matrik mask/ kernel
% mereplikasi matrik asli dan menentukan mask/ kernel gambar=padarray(gbr_crop,[1 1],'replicate');
[b,k,j]=size(gambar); h=ones(3,3)/9;
Mereplikasi matriks asli dilakukan untuk proses selanjutnya yaitu proses konvolusi agar pada waktu proses konvolusi matriks asli tidak kehilangan data keasliannya. Dalam proses konvolusi yang menggunakan low pass filter dengan filter rata – rata memerlukan matriks mask/ kernel, karena menggunakan low pass filter maka matriks mask/ kernel dengan jumlah mariks harus sama dengan satu.
d. Mengalikan matriks asli dengan matriks mask/ kernel
for klm=2:k-1
Dalam aplikasi ini matriks asli akan dikalikan dengan matriks mask/ matriks kernel, perhitungan dimulai dari matriks hasil replikasi. Untuk citra dengan 24 bit maka perhitungan nilai RGB nya dihitung masing – masing setelah itu digabungkan dalam satu variable yang sama.
e. Menentukan ratio dimensi lama dibandingkan dimensi baru
%menentukan ratio dimensi lama dibandingkan dimensi baru
x_scale = x_new/(u-1); y_scale = y_new/(v-1);
Perhitungan ratio digunakan untuk perhitungan selanjutnya, perhitungan ratio didapat dari x dan y yang baru.
f. Menghitung nilai W dan H dan juga 4 nilai – nilai tetangganya
for count1 = 0:x_new-1 for count2 = 0:y_new-1
W = -(((count1/x_scale)-floor(count1/x_scale))-1); H = -(((count2/y_scale)-floor(count2/y_scale))-1);
Nilai W dan H digunakan digunakan untuk menghitung rumus bilinear interpolation yang sudah dijelaskan dalam bab – bab sebelumnya. Seperti yang telah ada rumus bilinear interpolation menggunakan 4 piksel tetangganya untuk mencari piksel – piksel baru.
Didalam matlab fungsi untuk menampilkan gambar adalah “imshow()”,
gambar akan ditampilkan dalam figure utama dan ditampilkan dalam sebuah
axes.
h. Menghitung Nilai MSE dan PSNR
% ---menampilkan nilai MSE dan PSNR---
Menghitung nilai MSE dan PSNR terlebih dahulu menghitung derajat keabuannya dengan menghitung masing – masing nilai RGBnya.
4.3 Implementasi Interface
Pada tahap ini akan dijabarkan tentang rancangan interface dari aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metode hybrid
berdasarkan perancangan yang telah dibuat terdapat menu – menu antara lain : 1. Menu File
2. Menu Edit 3. MenuBantuan
pada form splash menu – menu tersebut ditampilkan. Berikut adalah interface dari
form splash.
Gambar 4.1. Interface Form Splash
4.3.1 Menu File
Di dalam menu file terdapat beberapa sub – sub menu antara lain sub menu utama, sub menu open, sub menu save, dan sub menu keluar.
1. Sub Menu Utama
terdapat tempat untuk menampilkan hasil cropping dan tempat untuk mengetahui ni lai MSE atau nilai PSNR.
Berikut ini adalah tampilan dari form utama :
Gambar 4.2. Form Utama
2. Sub Menu Open
Gambar 4.3. Buka Gambar
Gambar 4.4. Konfirmasi Kesalahan
3. Sub Menu Save
Gambar 4.5. Save Hasil Crop
4. Sub Menu Keluar
Sub menu keluar digunakan untuk keluar dari aplikasi pembesaran data citra digital hasil cropping dengan menggunakan metode hybrid.
4.3.2 Menu Edit
Di dalam menu edit terdapat sub menu crop dan sub menu zoom yang digunakan untuk mengcrop dan juga memperbesar citra inputan. Dimana citra inputan harus dicrop terlebih dahulu sebelum diperbesar. Dalam tampilan form splash sub – sub menu di dalam menu edit dibuat off.
1. Sub Menu Crop
Gambar 4.6. Proses Crop
2. Sub Menu Zoom
Proses zoom dapat dilakukan setelah proses crop selesai. User dapat melakukan zoom dengan mengisikan terlebih dahulu berapa kali zoom yang ingin dilakukan, karena aplikasi perbesaran data citra digital hasil crooping
dengan menggunakan metode hybrid akan memproses berapa kali perbesaran yang diinputkan oleh user, setelah itu user dabat mengklik tombol zoom yang tersedia atau mengklik menu edit dan mengklik sub menu zoom. Gambar yang akan dizoom dapat dilihat pada axes yang kecil sedangkan hasil zoom
Gambar 4.7. Proses Zoom
Citra hasil pembesaran dapat di simpan, dengan mengklik menu file kemudian sub menu save maka akan muncul tampilan dimana file tersebut akan disimpan cara ini sama halnya dengan cara menyimpan citra hasil crop. File gambar hasil perbesaran, dapat disimpan dengan extensi sesuai dengan extensi
citra asli maupun extensi lain. Misal citra atau gambar awal berextensi jpg dan pada hasil perbesaran disimpan dengan extensi bmp, atau sebaliknya. Akan tetapi lebih baik disimpan sesuai dengan extensi citra atau gambar awal. Karena dapat mempengaruhi tampilan citra atau gambar. Apabila user ingin memperbesar citra atau gambar lagi, maka user dapat menekan button ‘zoom’ untuk melakukan proses perbesaran citra dengan perbesaran yang berdeda atau dengan mengklik menu edit kemudian mengklik sub menu zoom. Berikut tampilan dari proses
Gambar 4.8. Hasil Zoom
Semua proses yang dilakukan didesain pada form utama, didalam form
utama terdapat menu – menu beserta sub menunya. Di dalam tampilan form utama terdapat “original image” yaitu tempat gambar inputan maupun hasil akhir zoom
(output). Terdapat informasi yang berisi tentang informasi dari gambar yang diinputkan, gambar crop, maupun gambar output. Terdapat desain cropping yang digunakan untuk menampilkan gambar hasil crop yang juga tersediah inputan untuk mengisikan berapa kali perbesaran yang ingin user lakukan. Terdapat juga tempat untuk nilai MSE dan PSNR yang digunakan untuk melihat atau membandingkan nilai – nilai MSE atau PSNR dari beberapa metode yang ada.
4.3.3 Menu Bantuan
program aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metode hybrid.
1. Sub Menu Help
Sub menu help berisi tentang cara bagaimana menggunakan program aplikasi perbesaran data citra digital hasil cropping dengan menggunakan metode hybrid. Jika user mengklik sub menu help maka akan keluar form help seperti gambar 4.8 di bawah ini.
Gambar 4.9. Form Help
2. Sub Menu Nilai MSE dan PSNR
digital hasil cropping dengan menggunakan metode hybrid tidak perlu karena di dalam form utama sudah disediakan. Berikut tampilan dari sub menu nilai MSE dan PSNR yang dibuat di dalam form MSE_PSNR.
5.1 Uji coba perbesaran data citra hasil cropping
Uji coba pembesaran citra cropping yang dilakukan menggunakan emat uji coba yang berbeda. Uji coba pertama yaitu, melakukan proses pembesaran citra hasil cropping pada citra yang berextensi jpg dengan skala pembesaran serta ukuran citra yang berbeda, uji coba yang ke dua yaitu melakukan proses pembesaran citra cropping pada citra yang berextensi bmp dengan skala pembesaran serta ukuran citra yang berbeda dan metode yang berbeda – beda. Metode yang digunakan sebagai metode pembanding yaitu :
a. Metode Nearest Neighbor (tetangga terdekat)
b. Bilinear Interpolation
c. Bicubik Interpolation
Dengan dilakukannya uji coba pada empat cara yang berbeda ini, diharapkan dapat memperoleh hasil atau kesimpulan yang dapat digunakan sebagai bahan pertimbangan atau dapat digunakan sebagai acuan dalam penyusunan skripsi ini, terutama untuk mengetahui kelebihan dan kekurangan dari aplikasi pembesaran citra digital hasil cropping dengan menggunakan metode