Monday, November 5, 2007

Kompresi Citra RGB

Setelah kemaren bikin kompresi citra grayscale, berikutnya aku coba bikin kompresi buat yang RGB. Kalau citra grayscale hanya terdiri dari satu matrik dua dimensi yang berisi nilai derajat keabuan, maka citra RGB terdiri dari satu matrik tiga dimensi. Misal matriknya kita sebut M[baris,kolom,RGB]. Baris dan kolom menunjukkan resolusi citra (baris x kolom piksel). Sedangkan RGB bernilai 3, sehingga matrik M[baris,kolom,1] menunjukkan nilai derajat R(Red) dari citra, M[baris,kolom,2] menunjukkan nilai derajat G(Green) dan M[baris,kolom,3] menunjukkan nilai derajat B(Blue).
Kompresi dilakukan dengan metode kuantisasi(soalnya yang
paling gampang yang ini...ni...), yakni dengan mengurangi derajat R, G dan B. Pada percobaan digunakan citra RGB 256 bit dan dikompresi menjadi citra RGB 128 bit. Citra hasil kompresi terlihat lebih redup dibanding citra asal. Ini dapat dilihat dari histogram citra, yang semula 256 bit menjadi 128 bit. Ya....yang namanya dikompres, resiko kualitas citra menjadi tak seindah warna aslinya memang sering terjadi. Kalo udah gitu mau apa lagi...... Sekarang tinggal pilih yang mana...Ukuran citra besar dan tampilan visualnya bagus (cerah), atau ukuran citra kecil tapi tampilan visualnya jelek (redup). Pinginnya sih ukuran citra kecil dan tampilannya tetep bagus.... Namanya juga manusia...pinginnya semua yang terbaik. Tapi gak usah kuatir, untuk yang ini nanti akan coba aku buat lagi dengan algoritma lainnya.
Hasil visualisasi citra sebelum dan sesudah kompresi dapat dilihat dibawah.
Bagian atas adalah citra sebelum kompresi dan histogram citra sebelum kompresi, sedangkan yang dibawah adalah citra setelah kompresi dan histogram citra setelah kompresi. Silakan dinikmati.