Skip to main content

KOMPRESI CITRA GRAY SCALE DENGAN MODIFIKASI ALGORITMA KUANTISASI

loading...
KOMPRESI CITRA GRAY SCALE DENGAN MODIFIKASI
ALGORITMA KUANTISASI



1.      Pendahuluan

Perkembangan media penyimpan berkapasitas besar mengakibatkan orang tidak lagi menemui masalah jika mempunyai file dengan ukuran yang besar. Lebih-lebih jika file yang kita punya merupakan file image. Walaupun demikian, adakalanya ukuran file yang besar tersebut terasa mengganggu jika kita harus memanage media penyimpan yang kita punya untuk bermacam-macam data. Apalagi jika file tersebut akan akan kita kirim secara elektronik, tentunya kapasitas file menjadi masalah tersendiri.
Kompresi citra (image compression) adalah proses untuk meminimalkan jumlah bit yang merepresentasikan suatu citra sehingga ukuran citra menjadi lebih kecil. Pada dasarnya teknik kompresi citra digunakan untuk proses transmisi data (data transmission) dan penyimpanan data (storage). Kompresi citra banyak diaplikasikan pada penyiaran televisi, penginderaan jarak jauh (remote sensing), komunikasi militer, radar dan lain-lain.
Ada banyak metode kompresi data, salah satunya adalah metode kuantisasi. Metode kuantisasi bekerja dengan mengurangi jumlah intensitas warna, sehingga jumlah bit yang digunakan untuk merepresentasikan citra menjadi berkurang. Oleh karena jumlah bit berkurang maka ukuran file menjadi lebih kecil. Dengan berkurangnya intensitas warna tentu saja ada informasi yang hilang dari citra asal. Oleh karena itu metode ini termasuk dalam loossy compression. Oleh karena itu citra yang sudah dikompresi sulit didekompresi kembali karena adanya informasi yang hilang.
Proses kompresi tentunya akan berdampak kepada banyak hal. Yang pertama adalah ukuran citra hasil kompresi. Ukuran citra diharapkan lebih kecil dari citra asal. Kedua adalah kualitas citra untuk input terhadap proses berikutnya. Sampai berapa persenkah citra asli bisa dikompresi ini tentunya tergantung pada banyak factor. Faktor inilah yang ingin diketahui pula dalam penelitian ini.
Ada beberapa teknik kompresi yang dapat dikategorikan ke dalam Lossless maupun Lossy Compression, antara lain:
1.      Kompresi berbasis Statistik (Lossless)
Merepresentasikan citra dengan frekuensi kemunculan nilai intensitas tertentu.
2.      Kompresi berbasis Kuantisasi (Lossy)
Mengurangi jumlah intensitas warna.
3.      Kompresi berbasis Transformasi (Lossless/Lossy)
Mengoptimalkan kinerja kompresi berbasis statistik dan kuantisasi dengan cara melakukan transformasi terlebih dahulu sebelum menerapkan salah satu teknik tersebut. Sehingga kompresi bersifat lossy atau lossles tergantung teknik mana yang digunakan setelah transformasi apakah itu statistik (lossless) atau kuantisasi (lossy).
4.      Kompresi berbasis fraktal (Lossy)
Fraktal merupakan bentuk rekursif yang merepresentasikan komponen dasar objek. Dalam konsep kompresi, data direpresentasikan sebagai pasangan antar elemen fraktal, pola umum konfigurasi yang membentuk objek secara keseluruhan, dan koefisien transformasi spasial (affine) untuk masing-masing fraktal sesuai dengan posisinya dalam konfigurasi pembentuk objek.


1.1 Proses Kompresi

1.1.1        Kompresi Berbasis Kuantisasi

Kompresi berbasis kuantisasi menggunakan metode pengurangan jumlah intensitas warna, sehingga dapat mengurangi jumlah bit yang digunakan untuk merepresentasikan citra. Kompresi ini bersifat lossy, karena intensitas warna berkurang, sehingga kualitas gambar hasil kompresi menjadi kurang baik.
Secara algoritma teknik kompresi ini diberikan sebagai berikut:
  1. Buat histogram citra asal.
Histogram citra adalah grafik yang menunjukkan distribusidari intensitas citra. Histogram citra menyatakan frekuensi kemunculan berbagai derajat keabuan dalam citra. Teknik pemodelan histogram mengubah citra hingga memiliki histogram sesuai keinginan. Untuk meningkatkan kualitas citra salah satunya dapat dilakukan dengan ekualisasi histogram. Dengan ekualisasi histogram dapat diperoleh histogram citra dengan distribusi seragam.
  1. Tentukan jumlah kelompok dalam histogram. Jumlah tersebut menunjukkan tingkat intensitas warna citra kompresi.
  2. Buat kelompok intensitas warna baru dengan menghitungjumlah piksel/jumlah kelompok.
  3. Atur pengelompokan.
  4. Lakukan kuantisasi.
  5. Kodekan nilai intensitas warna hasil kuantisasi ke dalam citra kompresi.
Contoh: Diketahui citra array berukuran 6x6 piksel (8 derajat keabuan, 3 bit) sebagai berikut :

Citra diatas memiliki histogram sebagai berikut:

 

Misalnya citra akan dikompresi menjadi 4 derajat keabuan (0 – 3), sehingga setiap derajat keabuan direpresentasikan dalam 2 bit. Citra asli terdiri dari 36 piksel, sehingga jika dibagi menjadi 4 kelompok maka dibuat 36/4= 9 piksel tiap kelompok sehingga histogram baru menjadi sebagai berikut:

 

Dari histogram baru tersebut diperoleh citra baru (dengan 4 derajat keabuan, 2 bit) sebagai berikut:

 

Ukuran citra sebelum kompresi = 36 piksel x 3 bit = 108 bit
Ukuran citra setelah kompresi = 36 piksel x 2 bit = 72 bit


1.1.2        Pengembangan Algoritma Kompresi

Pengembangan dilakukan dengan mengubah proses pengkodean warna baru. Pengkodean dilakukan dengan cara yang lebih sederhana dengan mengelompokkan intensitas warna yang ada ke intensitas warna kompresi yang diinginkan.
Contoh: Citra asal terdiri dari 8 derajat keabuan akan dikompresi menjadi 4 derajat keabuan.


Histogram citra terkompresi menjadi sebagai berikut:


Dari histogram diatas didapat matrik citra terkompresi sebagai berikut:


Untuk ukuran citra kompresi tidak berubah dari algoritma asal yakni 36 piksel x 3 bit = 108 bit.


2.      Pembahasan

Allgoritma diatas diimplementasikan dengan MatLab 6.5. Gambar lama yang semula mempunyai 256 derajat keabuan (8 bit), dikompresi menjadi 128 derajat keabuan (7 bit). Langkah pertama
adalah melakukan pembacaan terhadap file citra sebagai berikut:

clc;clear;
j=imread('anakblm.jpg');
gblama=j;

Selanjutnya dicari ukuran matrik citra. Ukuran ini nantinya akan digunakan sebagai indek perulangan dalam proses selanjutnya. Selain itu juga harus diketahui derajat keabuan minimum dan maksimun untuk menentukan ukuran vektor histogram citra.

[m,n]=size(gblama);      % ukuran gblama
array=double(gblama);         % indeks perulangan
figure,imshow(gblama);        % tampilan gambar gblama
%cari derajat keabuan min dan max
abumax=max(max(array));       % indeks dari abu2 maximum
abumin=min(min(array));       % indeks dari abu2 maximum

Histogram citra asal dapat diketahui dengan cara menghitung kemunculan untuk setiap derajat keabuan yang ada di dalam citra.

%bikin histogram image yg pake fungsi imhist
arraybaru=zeros(1,256);
for i=1:256
for j=1:m
for k=1:n
if (array(j,k)==i)
arraybaru(i)=arraybaru(i)+1;
end
end
end
end;
%hitung jumlah pixel
jpixel=m*n;
%gambar histogram
figure,plot(arraybaru);
%cari rentang derajat keabuan
derajatabu=(abumax-abumin)+1;
%membuat histogram kompresi
%256 drjt keabuan (8 bit) menjadi
%128 derajat keabuan (7bit)
hiskompresi=zeros(1,128);
j=1;
for i=1:128
hiskompresi(i)=arraybaru(j)+arraybaru(j+1);
j=j+2;
end
%bikin array image baru dari hasil kompresi
gbbaru=zeros(m,n);
for i=1:m
for j=1:n
if mod(double(gblama(i,j)),2)==0
gbbaru(i,j)=((double(gblama(i,j))+1))/2;
else
gbbaru(i,j)=double(gblama(i,j))/2;
end
end
end
%konversi array gambar terkompresi
%dari double ke uint8
gbbaru1=uint8(gbbaru);
%Tampilkan histogram gambar hasil kompresi
%dan gambar hasil kompresi
figure, plot(hiskompresi);
figure, imshow(gbbaru1);
%Simpan gambar ke media penyimpan
imwrite(gbbaru1,'anakkomp.jpg');

Hasil pada saat program dijalankan dengan beberapa sampel gambar yang berbeda adalah sbb:


Rerata rasio kompresi didapat sebesar 30.33%


3.      Kesimpulan

Modifikasi yang dilakukan terhadap algoritma asal tidak mengubah kapasitas file dari citra hasil kompresi. Presentase kompresi dipengaruhi oleh histogram citra yang diberikan citra asal. Tingkat kemunculan derajat keabuan suatu citra, antara citra yang satu dengan citra yang lainpun berbeda-beda.

loading...

Comments

POSTINGAN POPULER

Biodata Lengkap Ceng Zam-Zam

 Asalamualaikum,. Hallo Sazam comunity dan para sobat-sobat ku, Sekarang saya mau menulis nieh beberapa Info dan Biodata Ceng zamzam, "Lupa sama temen tuh hal biasa, tapi kalo Lupa sama Ceng zamzam Mana Bisa?" bner gak? hhe.. jangan lupa yah mampir terus ke blog ini.. ya sudahlah Ayo kita Lihat-Lihat Nieh biodata dan Info tentang Ceng Zamzam   Nama Lengkap : Ahmad Zamzam Zainal Mutaqin  Nama Panggilan : Ceng zamzam Atau Azam  Kelas : 10 berinjak ke 11  Anak ke : 1 dari 3 bersaudara Hoby : Mengaji, Olahraga, dll Cita-Cita : Dokter atau Ilmuan T,T,L : Garut,05-Desember-1995 No HP : (0......) Nama Fb : Ceng Zamzam N.twitter : @Ceng Zamzam Alamat    :Kp.Babakan sukaluyu                  Desa.suka Mukti Rt/04 Rw/04                  Kec.Cilawu,Garut-Jawa barat,Indonesia N.pesantren Ceng Zamzam : Madrasah Ashidiqiyyah Prestasi Ceng zamzam : 1.Tahun 2008    Juara I Tilawah Anak-Anak Tingkat NASIONAL Pada FASI (Festival Anak Sholeh)_Di Bekasi 2.Tahun 2009

Sistem Monitoring Dan Pengendalian Beban Daya Listrik Solar Home System (SHS) Menggunakan Mikrokontroler VIA Internet Of Things (IOT)

Pada bab ini akan dijelaskan tentang perancangan system monitoring dan pengendali beban solar home system (SHS) atau pembangkit listrik tenaga surya untuk perumahan. Fungsi dari sistem pengontrolan dan monitoring pada SHS ini yaitu untuk mempermudah pengguna dalam mengatur konsumsi daya yang digunakan sehingga pengguna dapat memaksimalkan pemakaian SHS. Blok diagram merupakan gambaran dasar dari sistem yang akan dirancang. Blok diagram ini dibuat agar mempermudah memahami cara kerja dari sistem yang telah dibuat. Gambar  1. Blok Diagram Sistem Monitoring dan Kontrol SHS     Garis yang berwarna merah merupakan system kerja dari solar home sytem, sedangkan garis yang berwarna biru merupakan alur sistem control dan monitoring SHS. Secara sederhana cara kerja dari solar home system ini adalah sebagai berikut:  1. Panel Surya Panel surya akan mengubah sinar matahari yang mengenai setiap sel surya menjadi arus dan tegangan, namun nilainya tidak konstan. Besar kecil

SAKADANG PEUCANG JEUNG BUAYA

Sakadang Buhaya keur moyan di sisi walungan. Jol sakadang Peucang. “Rék naon Sakdang Peucang ka dieu? Rék maling cai, nya? Di leuweung euweuh cai. Da halodo banget.” Jawab Peucang, “Kuring mah tara nginum deui cai walungan. Komo ayeuna keur saat. Nya teu ngeunah nya loading... kiruh. Ayeuna mah nginum téh cai kalapa. Nya beresih nya ngeunah. Amis.” “Rék naon atuh kadieu?” cék Buhaya. Omong Peucang, “Tadina mah rék ngalalajoan kulit sampéan. Resep ting gareret, hérang. Komo mun katojo ku panonpoé. Euweuh baé nu kulitna alus saperti kulit sampéan. Ngan geuning bet kotor. Pinuh ku leutak.” Omong Buhaya, “Walungan saat. Kuring teu bisa teuteuleuman pikeun meresihan tonggong.” “Emh, lebar. Kulit saalus-alus jadi kotor. Kumaha mun diberesihan ku kuring” ceuk Peucang. “Nya sukur baé ari daek mah,” jawab Buhaya, “kumaha caranya?”, ceuk Buhaya keneh “Kulit tonggong sampéan dikumbah ku kuring. Tapi caina kudu anu beresih. Tuh di tengah!, ceuk Peucang “Pek atuh. G

Bagaimana Cara Membuat CNC dengan menggunakan Arduino

Membuat CNC dengan menggunakan Arduino Proyek ini adalah tentang Bagaimana membuat mesin CNC mini dari OLD SCRAP DVD Drives menggunakan Arduino sebagai otak dari mesin CNC mini ini dan L293D Motor shield digunakan sebagai driver penggerak motor itu sendiri. Sangat menakjubkan melihat bagaimana mesin kecil ini menggambar gambar dengan sangat baik dengan akurasi yang baik. Pada dasarnya semua gambar yang ingin Anda gambar dengan mesin ini perlu dikonversi dalam file Gcode menggunakan INKSCAPE SOFTWARE. aliran Gcode ini pada arduino melalui pemrosesan program GCTRL. dan L293D Perisai motor sesuai dengan instruksi motor stepper cara memindahkan, menggabungkan dan menyinkronkan gerakan steppers berakhir dengan gambar yang bagus. Mesin ini memiliki dua sumbu X-AXIS & Y-AXIS. Sumbu X adalah merencanakan, kertas ditempatkan pada sumbu X. Sumbu Y memegang pulpen. Untuk lebih jelasnya anda dapat melihat gambar ilustrasi di bawah ini!!! Untuk lebi

PEMFILTERAN PADA SINYAL WICARA

MODUL 4 PEMFILTERAN PADA SINYAL WICARA I. TUJUAN Mahasiswa mampu menyusun filter digital dan melakukan pemfilteran pada sinyal wicara II.DASAR TEORI 2.1. Filter IIR Yang perlu diingat disini bahwa infinite inpulse response (IIR) dalam hal ini bukan berarti filter yang bekerja dari nilai negatif tak hingga sampai positif tak hingga.Pengertian sederhana untuk infinite impulse respon filter disini adalah bahwa output filtermerupakan fungsi dari kondisi input sekarang, input sebelumnya dan output di waktu sebelumnya. Konsep ini kemudian lebih kita kenal sebagai recursive filter , yang manamelibatkan proses feedback dan feed forward . Dalam bentuk persamaan beda yangmenghubungkan input dengan output dinyatakan seperti persmaaan (1) berikut ini.      …… (1) dimana: - { b k } koefisien feed forward - { a l } koefisien feed back - banyaknya (total koefisien) = M+N+1 - N ditetapkan sebagai orde filter IIR Untuk merealisasikan ke dalam sebua

Ebook Gratis Pengolahan Citra

PRINSIP KERJA GENERATOR BESERTA KONSTRUKSI SISTEMNYA

Berikut ini merupakan pembahasan tentang generator, pengertian generator, generator arus bolak balik, generator arus searah, pengertian alternator, macam-macam generator, jenis-jenis generator, cara kerja generator listrik, cara kerja mesin genset, cara kerja generator ac, prinsip kerja generator dc, prinsip kerja generator ac. Pengertian Generator Alat-alat elektronika, seperti televisi, setrika, radio, lemari es, dan lampu memerlukan energi listrik dapat bekerja. Nah, listrik dihasilkan oleh mesin pembangkit listrik yang dinamakan generator (genset) atau dinamo. Apakah generator itu? Generator adalah mesin yang mengubah energi kinetik atau energi gerak menjadi energi listrik. Generator menghasilkan arus listrik induksi dengan cara memutar kumparan di antara celah kutub utara-selatan sebuah magnet. Jika kumparan diputar, jumlah garis gaya magnetik yang menembus kumparan akan berubah-ubah sesuai dengan posisi kumparan terhadap magnet. Perubahan jumlah garis ga

CONTO DONGENG SASAKALA

Conto dongeng sasakala Di handap ieu aya sababaraha rupa conto dongeng sasakala di Bahasa sunda. Pek kuhidep klik link di handap ieu sangkan bisa maca carita dina tiap-tiap judul: 1.        Sasakala Gunung Tangkuban Parahu 2.          SasakalaSitu Bagendit 3.          Sasakala Talaga Warna 4.          Sasakala Gunung Gajah 5.        Sasakala Ratna Inten Déwata 6.          Sasakala Cika-Cika Di Cianjur 7.          Sasakala Hayam Pelung 8.          Sasakala Kuda Kosong 9.          Sasakala Béas Pandanwangi 10.      Sasakala Lembur Sabadar 11.      Sasakala Kampung Sodong 12.      Sasakala Leuwi Batok jeung Asal-Usul Cianjur 13.    Sasakala Ciguriang, 14.      Sasakala Cikalong 15.      Sasakala Gunteng, 16.      Sasakala Pasir Panglay, 17.      Sasakala Hegar Manah 18.    Sasakala Gang Laksana 19.    Sasakala Kampung Samolo 20.    Sasakala Kampung Warung Jambu 21.    Sasakala Rancagoong 22.      Sasakala Lembur Cimaja,

soal-soal beserta jawaban teknik tenaga listrik UNIKOM

SOAL SOAL  TRANSMISI: 1.   Transmisi energi listrik jarak jauh dilakukan dengan menggunakan tegangan tinggi, Jelaskan alasan2nya. Jawab: Beberapa alasan Transmisi energi listrik jarak jauh dilakukan dengan menggunakan tegangan tinggi , yaitu: a.   Bila tegangan dibuat tinggi maka arus listriknya menjadi kecil. b.   Dengan arus listrik yang kecil maka ener gi yang hilang pada kawat transmisi (energi     disipasi) juga kecil. c.    J uga dengan arus kecil cukup digunakan    kawat berpenampang relatif lebih kecil, sehingga lebih ekonomis. 2.   Sebutkan komponen utama saluran transmisi. (minimal 4 buah) Jawab:     Komponen-komponen utama : a.   Menara/tiang Transmisi b.   Isolator c.    Kawat Penghantar (Conductor) d.   Kawat Tanah (Ground wire) 3.   Sebutkan kelebihan dan kekurangan Saluran Udara (Overhead Lines) dibanding Saluran Kabel Tanah (Underground Cable). Jawab: Berdasarkan pemasangannya, saluran transmisi dibagi menjadi dua katego

Membuat WIFi Control Arduino Robot Car

Membuat Wifi Control Arduino Robot car NodeMCU ESP8266 dalam mode access point: cara termudah untuk membuat Mobil Robot yang Dikendalikan Wi-Fi dari Bluetooth Arduino Robot Car + Android App. Sebelum anda membuat robot tersebut pertama yang harus anda persipkan adalah 1.       NodeMCU ESP8266 Breakout Board 2.       Arduino UNO dan Genuin UNO 3.       Breadboard generic 4.       Driver motor 5.       Chasis robot 6.       LED 7.       Resistor 221 ohm 8.       Kabel jumper 9.       Batu baterai Dalam proyek saya Smartphone Controlled Arduino 4WD Robot Car Saya mempresentasikan mobil robot Arduino 4WD yang dikontrol smartphone atau robot Bluetooth Arduino . Kemudian saya memutuskan untuk membuat mobil robot yang dikendalikan Wi-Fi dari kamera yang dikontrol Bluetooth. Untuk tujuan ini saya hanya melepas modul Bluetooth dan menambahkan NodeMCU dengan koneksi kawat yang sama (App Andriod yang sesuai sudah dibuat). Dibawah ini ada beberapa blok diagr