1 of 37

- tempat ngobrolin dunia pendidikan -

2 of 37

PENGOLAHAN CITRA

Condro Wibawa

PENGOLAHAN CITRA

Condro Wibawa

3 of 37

Pemampatan/Kompresi Citra

4 of 37

Pada umumnya, representasi citra digital

membutuhkan memori yang cukup besar.

Sebagagi contoh,�sebuah citra berukuran 512x512 pixel dengan depth 8-bit,�membutuhkan sektiar 256 KB memori.

Bagaimana jika resolusinya dan depth nya diperbesar ?

Padahal,�besar resolusi dan depth sebuah citra merupakan

hal pokok dalam pengolahan citra

yang tidak bisa dihindari di era saat ini

5 of 37

Mana yang akan kalian dipilih ?

6 of 37

Di sisi lain,�untuk mempercepat proses pengolahan citra,

maupun transmisi citra,��citra dituntut memiliki ukuran sekecil mungkin,�akan tetapi dengan kualitas semaksimal mungkin,�

Bagaimana solusinya ?

7 of 37

Solusi untuk masalah tersebut adalah dengan �Pemampatan Citra atau Kompresi Citra

8 of 37

Faktanya ...

Pertama,

besar kemungkinan suatu pixel dengan pixel tetanggganya memiliki initensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat.

Kedua,

citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena mubazir atau redundan.

9 of 37

Sehingga,�Prinsip umum pemampatan citra adalah

mengurangi duplikasi data di dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit,

akan tetapi memastikan bahwa kualitas citra tetap baik.

10 of 37

Ada dua isu utama dalam kompresi data

Pertama : Pemampatan Citra (Image Compression)

Citra yang tidak/kurang mampat (biasanya dalam format BMP) dimampatkan dengan representasi yang meminimalkan memori.

Contoh format nya adalah : JPG, GIF, dll

Kedua : Penirmampatan Citra (Image Decompression)

Mengembalikan citra yang sudah dimampatkan menjadi bentuk citra yang tidak dimampatkan. Proses ini diperlukan saat ditampilkan ke layar atau jika ingin diolah kembali.

Contoh nya adalah format BMP.

11 of 37

Aplikasi Pemampatan Citra

Data Storing

Pada umumnya ukuran storage disk terbatas, sehingga semakin kecil ukuran file (dalam hal ini citra), maka storage akan mampu menyimpan lebih banyak file.

Data Transmission

Di era saat ini, dimana pertukaran data melalui internet menjadi hal yang wajar,�maka semakin kecl ukuran file/citra, maka menjadikan pertukaran data semakin cepat.

Contoh : transmisi data lewat email, media sosial, messenger, pengiriman data rekam medis, pengiriman data dari luar angkasa, dll.

12 of 37

Kriteria Pemampatan Citra

Ukuran File

Tujuan utama dari pemampatan adalah ukuran file, sehingga file/citra hasil pemampatan haruslah lebih kecil dari file aslinya.

Waktu Pemampatan

Proses pemampatan dan penirmampatan (compressin dan decompression), sebaiknya cepat. Beberapa metode memiliki proses pemampatan cepat dan penirmampatan lambat, ada pula sebaliknya.

13 of 37

Kriteria Pemampatan Citra

Kualitas Citra

Citra yang sudah dimampatkan sebaiknya memiliki kualitas yang bagus. Akan tetapi biasanya kualitas citra berbanding lurus dengan ukurannya. Sehingga, semakin kecil ukuran file, biasanya akan memiliki kualitas yang juga rendah.

Kita dapat membuat ukuran kualitas hasil pemampatan citra dengan ukuran kuantitatif dengan menggunakan besarran PSNR (Peak Signal to Noise Ratio). PNSR dihitung dengan mengukur perbedaan antara citra semula dengan citra hasil pemampatan.

14 of 37

Pendekatan Metode Kompresi Citra

1. Pendekatan statistik.

Pemampatan citra didasarkan pada frekuensi kemunculan derajat keabuan

pixel di dalam seluruh bagian gambar.

Contoh metode: Huffman Coding.

2. Pendekatan ruang

Pemampatan citra didasarkan pada hubungan spasial antara pixel-pixel di

dalam suatu kelompok yang memiliki derajat keabuan yang sama di dalam

suatu daerah di dalam gambar.

Contoh metode: Run-Length Encoding.

15 of 37

Pendekatan Metode Kompresi Citra

3. Pendekatan kuantisasi

Pemampatan citra dilakukan dengan mengurangi jumlah derajat keabuan

yang tersedia.

Contoh metode: metode pemampatan kuantisasi.

4. Pendekatan fraktal

Pemampatan citra didasarkan pada kenyataan bahwa kemiripan bagian bagian di dalam citra dapat dieksploitasi dengan suatu matriks transformasi.

Contoh metode: Fractal Image Compression.

16 of 37

Klasifikasi Metode Pemampatan

  1. Metode Lossless
  2. Metode Lossy

17 of 37

Klasifikasi Metode Pemampatan

  1. Metode Lossless

Metode lossless selalu menghasilkan citra hasil penirmampatan yang tepat sama dengan citra semula, pixel per pixel. Tidak ada informasi yang hilang akibat pemampatan. Sayangnya nisbah (ratio) pemampatan citra metode lossless sangat rendah.

Metode lossless cocok untuk memampatkan citra yang mengandung informasi penting yang tidak boleh rusak akibat pemampatan. Misalnya memampatkan gambar hasil diagnosa medis.

Contoh : Metode Huffman.

18 of 37

Klasifikasi Metode Pemampatan

2. Metode Lossy

Metode lossy menghasilkan citra hasil pemampatan yang hampir sama dengan citra semula. Ada informasi yang hilang akibat pemampatan, tetapi dapat ditolerir oleh persepsi mata. Mata tidak dapat membedakan perubahan kecil pada gambar.

Metode pemampatan lossy menghasilkan nisbah pemampatan yang tinggi daripada metode lossless.

Contoh metode lossy adalah metode JPEG dan metode fraktal.

19 of 37

20 of 37

Metode Pemampatan�HUFFMAN

21 of 37

Metode Pemampatan Huffman

  1. Kelompokkan karakter dan hitung jumlah karakternya
  2. Urutkan karakter tersebut berdasar jumlah karakter terbanyak ke tersedikit. Karakter dan jumlah ini kemudian kita sebut sebagai pasangan node dan nilai.
  3. Gabungkan dua node terkecil menjadi satu node baru. Nilai node = node 1 + node 2
  4. Ulangi langkah 2 dan 3 hingga hanya terdapat 1 node
  5. Buat pohon binary (pohon Huffman), kemudian beri label. Label 0 untuk cabang kiri dan 1 untuk cabang kanan.
  6. Susun kode Huffman
  7. Encode karakter

22 of 37

Metode Pemampatan Huffman

Misal :

Saya mempunyai sebuah kalimat

“NAMA SAYA ANDRI”

Jika disimpan dalam kode ASCII (8 bit),

maka kalimat tersebut membutuhkan :

15 (karakter) x 8 (bit) = 90 bit data

Bagaimana jika diencode menggunakan

Metode Huffman ?

23 of 37

Metode Pemampatan Huffman

  1. Kelompokkan karakter dan hitung jumlah karakternya

NAMA SAYA ANDRI

N : 2�A : 5�M : 1�S : 1�Y : 1�D : 1�R : 1

I : 1�spasi : 2

24 of 37

Metode Pemampatan Huffman

2. Urutkan berdasar jumlah karakaternya dari yang terbesar

A : 5 A5�N : 2 N2�spasi : 2 spasi2

M : 1 M1�S : 1 S1�Y : 1 Y1�D : 1 D1�R : 1 R1

I : 1 I1�

25 of 37

Metode Pemampatan Huffman

3. Gabungkan 2 node terkecil menjadi 1 node baru

A(5) A(5) A(5) A(5) �N(2) N(2) (N2) N(2)�spasi (2) spasi(2) spasi(2) spasi(2)

M(1) M(1) RI(2) RI(2)�S(1) S(1) M(1) YD(2)�Y(1) Y(1) S(1) MS(2)�D(1) D(1) YD(2) �R(1) RI(2)

I(1) �

26 of 37

Metode Pemampatan Huffman

3. Gabungkan 2 node terkecil menjadi 1 node baru

A(5) A(5) A(5) A (5)�N(2) (YD)(MS)(4) (YD)(MS)(4) (YD)(MS) (4)�spasi (2) N(2) spasi(RI)(4) (spasi(RI))N (6)

RI(2) spasi(2) N(2)

YD(2) RI(2)

MS(2)

27 of 37

Metode Pemampatan Huffman

3. Gabungkan 2 node terkecil menjadi 1 node baru

(spasi(RI))N (6) A((YD)(MS)) (9) (A((YD)(MS))) ((spasi(RI))N) (15)

A(5) (spasi(RI))N (6)

(YD)(MS) (4) �

28 of 37

Metode Pemampatan Huffman

4. Buat Pohon Binary

29 of 37

Metode Pemampatan Huffman

5. Susun Kode Huffman

A : 5 00 �N : 2 10

spasi : 2 100

M : 1 0110 �S : 1 0111

Y : 1 0100

D : 1 0101

R : 1 1010

I : 1 1011

30 of 37

Metode Pemampatan Huffman

6. Encode Kalimat

NAMA SAYA ANDRI

10 00 0110 00 100 0111 00 0100 00 100 00 10 0101 1010 1011

31 of 37

Metode Pemampatan Huffman

7. Berapa jumlah bit yang dibutuhkan sekarang ?

A : 5 00 2 bit => 5 x 2 bit = 10 bit �N : 2 10 2 bit => 2 x 2 bit = 4 bit

spasi : 2 100 3 bit => 2 x 3 bit = 6 bit

M : 1 0110 4 bit => 1 x 4 bit = 4 bit Total : 40 bit �S : 1 0111 4 bit => 1 x 4 bit = 4 bit

Y : 1 0100 4 bit => 1 x 4 bit = 4 bit

D : 1 0101 4 bit => 1 x 4 bit = 4 bit

R : 1 1010 4 bit => 1 x 4 bit = 4 bit

I : 1 1011 4 bit => 1 x 4 bit = 4 bit

32 of 37

Metode Pemampatan Huffman

7. Berapa jumlah bit yang dibutuhkan sekarang ?

“NAMA SAYA ANDRI”

Kode ASCII : 90 bit

Kode Huffman : 40 bit

Nisbah Pemampatan :

= 100 % - ((nilai pemampatan/nilai asli) * 100 %)

= 100 % - ((40 / 90) * 100 %)

= 100 % - 44.4 %

= 55.6 %

33 of 37

Bagaimana jika yang

dimampatkan adalah Citra ?

34 of 37

Citra tak lain adalah array/deret 2 dimensi,

dan setiap indeks array memiliki nilai (depth),

sehingga,

Metode huffman bisa digunakan untuk pemampatan citra.

35 of 37

Referensi :

  • Rinaldi Munir, Pengolahan Citra digital dengan Pendekatan Algoritmik, Penerbit Informatika Bandung, 2004
  • Gonzales, Rafael C., Digital Image Processing, Second Edition, Addison-wesley publishing, 1992
  • Gazali, Wikaria, Penerapan Metode Konvolusi Dalam Pengolahan Citra Digital, Jurnal Mat Stat, Vol. 12 No. 02 Juli, 2012.
  • https://hasbinurhaqy.wordpress.com/2010/11/25/25/
  • Rinaldi Munir, Materi Ajar : Pendeteksian Tepi, Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, 2019.

36 of 37

Tugas :

Dengan menggunakan Metode Huffman,�coba buat encode citra 8-bit di bawah ini dan tentukan :

                • Ukuran file asli
                • Ukuran file hasil pemampatan
                • Nisbah pemampatan

Tugas dalam bentuk .doc/.docx/.pdf

Disubmit pada ramundro.dosen@gmail.com

37 of 37