Kita pasti sudah sering dengar istilah kompresi. banyak data yang dikompresi seperti lagu, word, gambar dsb. kali ini saya akan membahas bagaimana sebenarnya suatu gambar bisa dikompres tanpa mempengaruhi hasilnya, sedangkan ukuran gambar bisa turun sangat drastis. metode yang digunakan kali ini adalah metode huffman, bisa dilihat pada contoh kasus berikut bagaimana sebenarnya metode huffman bekerja.
Misalnya kita memiliki citra dalam matrix sebagai berikut
2
|
4
|
4
|
5
|
2
|
3
|
4
|
5
|
3
|
2
|
3
|
3
|
5
|
5
|
5
|
5
|
Kita kelompkkan yang memiliki nilai yang sama :
222 3333 444 555555
222 3333 444 555555
Ada sebanyak 16 karakter, berarti memory yang dibutuhkan
sebelum dikompresi adalah :
16 x 8 bit = 128 bit
Selanjutnya kita akan mencari
Huffman tree, pertama yang kita lakukan adalah memberi kode nilai
2
|
3
|
Karakter 2 Sebanyak 3
|
3
|
4
|
Karakter 3 Sebanyak 4
|
4
|
3
|
Karakter 4 Sebanyak 3
|
5
|
6
|
Karakter 5 Sebanyak 6
|
Selanjutnya mencari root dengan cara binary.
root telah didapat, selanjutnya mencari Huffman Tree
Selanjutnya kita akan mencari bit dari Huffman Tree yang baru kita buat
5
|
0
|
3
|
10
|
2
|
110
|
4
|
1111
|
Dengan tabel di atas kita bisa lihat bahwa karakter 5 tinggal membutuh 1, 3 membutuhkan 2 bit... 4 membutuhkan 4 bit.
sekarang kita akan hitung tempat yang dibutuhkan setelah dikompresi.
2
|
3
|
Karakter 2 Sebanyak 3
|
3
|
4
|
Karakter 3 Sebanyak 4
|
4
|
3
|
Karakter 4 Sebanyak 3
|
5
|
6
|
Karakter 5 Sebanyak 6
|
Ukuran citra = 3*3 + 4*2 + 3*4 + 6*1 = 9 + 8 + 12 + 6 = 35 bit
berarti citra setelah dikompresi tinggal 35 bit.
bisa dilihat perbandinganya saat sebelum dikompres, dibutuhkan tempat penyimpanan sebanya 128 bit, tetapi setelah dikompresi tinggal 35 bit saja.
sekarang kita akan menghitung hasil kompresi citra
Hasil Kompresi = ((nilai awal - nilai akhir) / nilai awal ) * 100% = ((128-35)/128)*100=72,65 %
Kang, Mohon petunjuknya..
ReplyDeleteUkuran citra = 3*3 + 4*2 + 3*4 + 6*1 = 9 + 8 + 12 + 6 = 35 bit
Itu didapat darimana perkaliannya?
perhatikan ini gan...
Delete222 3333 444 555555
2 sebanyak 3
3 sebanyak 4
4 sebanyak 3
5 sebanyak 6
kemudian ambil dari huffman tree :
Dengan tabel di atas kita bisa lihat bahwa karakter...
5 membutuhkan 1 bit
3 membutuhkan 2 bit
2 membutuhkan 3 bit
4 membutuhkan 4 bit
untuk mengalikan saya buat berurutan berdasarkan jumlah karakter....
33 pixel bukan 35
Deletesangat membantu sekali penjelasannya kang, terima kasih :)
ReplyDeletesama-sama.. :)
Deletemohon petunjuknya master...
ReplyDeletepada citra digital nilai-nilai diatas, yaitu 222 3333 444 555555 menunjukan nilai apa? apakah warna atau informasi lainnya?
thanks.
itu adalah nilai dari citranya gan, karena citra yang diproses harus terlebih dahulu diambil nilai binernya kemudian dikonversi ke desimal.. dst..
Deletethanks gan infonya. ane lagi latihan bikin project kompresi citra dengan hiffman coding di android. btw agan punya projectnya untuk android atau java, bisa tolong kirim ke auliawildan01@yahoo.com . ane butuh buat referensi gan. thanks..
Deletethank u , really helpful :)
ReplyDeleteGan, ada syntax matlab nya?? Utk kompresi image
ReplyDeletegan.. bisa mintak coding untuk algoritma huffmannya ?
ReplyDelete