Pengolahan Citra
- ..
Tugas Pengolahan Citra
Membaca file citra
Kalau di java, kita perlu mengerti konsep Java Graphical User Interface (GUI) programming yang terdapat dalam package Swing, di Matlab, kita hanya perlu mengetahui perintah-perintah penting saja.
Untuk membaca file citra, kita dapat menggunakan perintah imread yang berarti image read. Output dari imread ini berupa matrix citra yang mirip dengan apa yang telah dibahas pada artikel berikut ini. Matrix citra ini bisa berupa matrix 3 dimensi untuk citra berwarna, ataupun matrix 2 dimensi untuk citra monokrom.
Berikut ini adalah contohnya.
1: [matrixCitra] = imread('fruit.jpeg');
Menampilkan data citra
Langkah selanjutnya ketika kita sudah mempunyai data citra. Kita dapat menampilkannya. Bagaimana caranya? sangat mudah! yaitu dengan menggunakan perintah imshow yang berarti image show.
Berikut adalah salah satu contohnya.
1: imshow(matrixCitra);
Memodifkasi data citra
Pengubahan data citra sangat lazim dilakukan. Proses ini adalah inti dari pengolahan citra. Segala macam algoritma dapat dijalankan pada langkah ini. Ok, dalam tutorial kali ini, kita akan mencoba untuk mengubah citra menjadi citra monokrom. Rumus untuk mengubah citra menjadi citra monokrom dapat dilihat pada artikel ini.
Berikut ini adalah implementasi pada Matlab.
1: Monokrom = (matrixCitra(:,:,1) + matrixCitra(:,:,2) + matrixCitra(:,:,3) ...
2: ) / 3;
3: matrixCitra(:,:,1) = Monokrom;
4: matrixCitra(:,:,2) = Monokrom;
5: matrixCitra(:,:,3) = Monokrom;
Pertanyaannya adalah, kan kita harus merata-rata nilai RGB pada setiap pixel. Mengapa tidak ada For atau Looping di sini???? Yes! ini adalah keunggulan Matlab. Matlab dapat melakukan pertambahan secara matrix. Jadi kalimat pada baris satu bisa dibaca seperti berikut:
Dalam pengolahan citra, saya sangat menganjurkan untuk menghindari looping atau for sebanyak mungkin sehingga kita dapat menggunakan keunggulan Matlab secara maksimal.
Lalu berikutnya adalah, bagaimana dengan baris 3, 4 dan 5? Apa itu maksudnya? Begini penjelasannya. Pada baris 1 dan 2, kita telah melakukan operasi monokrom. Apa yang terjadi? Yang terjadi adalah citra hasil operasi tersebut kehilangan informasi warnanya (hanya mempunyai 1 komponen informasi). Pada citra berwarna, sebenarnya ini berarti ketiga komponen memiliki nilai yang sama. Jadi, pada ketiga baris ini lah kita memasukan nilai yang sama pada setiap komponen warna.
Sebenarnya ada banyak cara untuk membuat monokrom sepanjang kita memberikan informasi yang sama pada setiap komponen. Jadi bisa saja seperti ini.
1: matrixCitra(:,:,2) = matrixCitra(:,:,1);
2: matrixCitra(:,:,3) = matrixCitra(:,:,1);
Menyimpan data citra ke dalam file
Langkah terakhir dalam pengolahan citra biasanya menyimpan data citra ke dalam file. Untuk melakukan hal ini, Matlab menyediakan fungsi yang bernama imwrite yang berarti image write. Matlab mensupport beberapa jenis format penyimpanan citra. Silahkan ketik help imwrite untuk mengetahui lebih lanjut mengenai format-format yang didukung oleh Matlab.
Berikut ini adalah contoh penggunaan imwrite.
1: imwrite(matrixCitra,'FruitModifed.jpeg');
Program keseluruhan
Berikut ini adalah script Matlab secara utuh yang dijelaskan pada tutorial ini.
1: % Skrip tutorial citra
2: % Membaca file Citra
3: matrixCitra = imread('Fruit.jpeg');
4:
5: % Membuat citra menjadi monokrom
6: Monokrom = (matrixCitra(:,:,1) + matrixCitra(:,:,2) + matrixCitra(:,:,3) ...
7: ) / 3;
8: matrixCitra(:,:,1) = Monokrom;
9: matrixCitra(:,:,2) = Monokrom;
10: matrixCitra(:,:,3) = Monokrom;
11:
12: % Menampilkan Citra hasil operasi
13: imshow(matrixCitra);
14:
15: % Menyimpan citra
16: imwrite(matrixCitra,'FruitModified.jpeg');
Menghitung Depth Resolution
Untuk menghitung Depth Resolution untuk menguji perhitungan besar kapasitas gambar namun sebelum masuk ke perhitungan kita buat dulu gambar jpg tadi menjadi bmp agar perhitungan kita sudah benar atau belum.
misalkan gambar adidas tadi resolutionnya adalah 640×427.
24 bit image :
640 x 427 = 273280
File Size :
273280 x 3 = 819840 bytes
konversi ke KB :
819840 / 1024 = 800,625 KB = 801 KB