• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PEMBAHASAN PROGRAM

D. Perbandingan Hasil Pemampatan

2. Metode “Langsung”

a. Citra dengan resolusi 64 x 64 pixel

Citra ini diuji dengan nilai prosentase kuantisasi yang berbeda.

Hasil dari pengujian tersebut terlihat seperti tabel di bawah ini:

Tabel 4.11 Data pengujian program metode Langsung 64x64

No Ukuran file Asli Prosentase Kuantisasi Besar data asli (Matriks) Besar data transformasi MSE Total PSNR Total (dB) Rasio (%) 1 8 KB 10 4096 3686 223,65 24,64 89,99 2 20 4096 3276 210,66 24,90 79,98 3 50 4096 2048 144,99 26,52 50,00 4 75 4096 1024 242,64 24,28 25,00 5 90 4096 409 364,31 22,52 9,99 6 99 4096 40 731,60 19,49 0,98

Hasil pengujian citra dengan metode yang berbeda ini

menunjukkan hasil yang berbeda pula. Dalam tabel 4.11 terlihat citra

dengan besar data matriks asli adalah 4096 (64x64 pixel) diuji dengan tingkatan prosentase kuantisasi yang berbeda. Prosentase ini yang nantinya

akan dipakai untuk melakukan proses kuantisasi, sampai seberapa persen

matriks yang akan di-nol-kan.

Dari hasil pengujian tersebut, semakin besar prosentase kuantisasi,

yang berarti bahwa semakin banyak nilai matriks yang di-nol-kan, maka

besar data yang harus disimpan (besar data transformasi) akan semakin

kecil. Hal ini berakibat pada nilai error (MSE) yang didapat semakin besar, sedangkan nilai PSNR (Peak Signal to Noise Ratio) akan semakin

kecil. Jika nilai-nilai tersebut direpresentasikan sebagai sebuah citra, maka

kualitas citra akan terlihat lebih buruk, dan hasil matriks citra rekonstruksi

semakin berbeda dari matriks citra asli. Demikian pula yang terjadi pada

nilai rasio (prosentase perbandingan antara “Besar Data Transformasi”

dengan “Besar Data Asli”) akan semakin kecil.

b. Citra dengan resolusi 128 x 128 pixel

Tabel 4.12 Data pengujian program metode Langsung 128x128

No Ukuran file Asli Prosentase Kuantisasi Besar data asli (Matriks) Besar data transformasi MSE Total PSNR Total (dB) Rasio (%) 1 8 KB 10 16384 14745 422,48 21,87 90,00 2 20 16384 13107 390,64 22,21 80,00 3 50 16384 8192 222,22 24,66 50,00 4 75 16384 4096 450,99 21,59 25,00 5 90 16384 1638 771,04 19,26 10,00 6 99 16384 163 1420,11 16,61 0,99

Tabel di atas menggambarkan bahwa berapapun ukuran citra, dengan

prosentase kuantisasi yang semakin besar maka data transformasi (data

yang harus disimpan) akan semakin kecil, yang berakibat pada besarnya

nilai error yang didapat. Sehingga kualitas citra pun akan semakin tidak menyerupai citra aslinya. Demikian pula sebaliknya, semakin kecil

prosentase kuantisasi, maka semakin kecil pula error yang didapat, tetapi data transformasi menjadi lebih besar jika dibandingkan dengan prosentase

kuantisasi yang lebih besar. Tetapi hal ini mengakibatkan kualitas citra

93 BAB V

KESIMPULAN DAN SARAN

A. Kesimpulan

Dari data yang diperoleh saat hasil pengujian program, maka dapat diambil beberapa kesimpulan yang dapat diambil dari penulisan tugas akhir ini adalah: 1. Metode Discrete Cosine Transform (DCT) dapat digunakan untuk proses

pemampatan file citra.

2. Dalam proses pemampatan tersebut dapat menggunakan berbagai cara kuantisasi, diantaranya adalah dengan menentukan nilai ambang kuantisasi atau dengan menentukan prosentase untuk kuantisasi.

3. Kualitas pemampatan tergantung dari cara dan besarnya ambang kuantisasi. Semakin kecil ukuran file yang dihasilkan, maka semakin besar pula nilai MSE yang didapat dan semakin kecil nilai PSNR.

4. Dari kedua metode yang diterapkan, metode “Blok Matriks” menghasilkan output yang lebih baik daripada metode “Langsung”. Hal tersebut disebabkan karena nilai ambang kuantisasi pada metode “Blok Matriks” dapat ditentukan oleh user sehingga nilai-nilai yang penting dapat diminimalisasi untuk dikuantisasi. Sedangkan pada metode “Langsung” user tidak dapat menentukan sendiri batas nilai yang akan dikuantisasi karena metode tersebut

akan mengambil nilai berdasarkan prosentase, dan tidak menghiraukan apakah nilai yang dikuantisasi itu nilai yang penting atau bukan.

5. Dari hasil pengujian yang dilakukan, dengan citra “naga.bmp” yang mempunyai resolusi 128x128 pixel, maka nilai yang didapat untuk hasil yang masih baik adalah dengan metode blok matriks, dengan besar blok 8x8 dan nilai ambang kuantisasi dibawah 50.

B. Saran

Pada perkembangan selanjutnya dapat dikembangkan suatu program pemampatan citra dengan resolusi M x N dan citra berwarna. Dan juga dapat dikembangkan sebuah aplikasi yang tidak hanya sekedar untuk menganalisis, tetapi juga hasil dari pemampatan dapat disimpan, sehingga dapat benar-benar menghemat media penyimpanan data.

Daftar Pustaka

Gonzales, Rafael C., Richard E. Woods, Steven L. Eddins, 2004, Digital Image Processing Using MATLAB, Upper Saddle River, Prentice Hall, New Jersey.

Hankerson, Darel, Greg A. Harris, and Peter D. Johnson, Jr., 2003, Introduction to Information Theory and Data Compression, 2nd ed., A CRC Press Company, Wasington, DC.

Hansen Per C., James G. Nagy, Dianne P. O’Leary, 2006, Deblurring Images Matrices, Spectra, and Filtering, Society for Industrial and Applied Mathematics, Philadelphia.

Magrab, Edward B., Shapour Azarm, Balakumar Balachandran, James H. Duncan, Keith E. Herold, Gregory C. Walsh, 2005, An Engineer’s Guide to MATLAB, 2nd ed., Upper Saddle River, Prentice Hall, New Jersey. Munir, Renaldi, 2004, Pengolahan Citra Digital dengan Pendekatan Algoritmik,

Informatika, Bandung.

Nelson, Mark, 1992, The Data Compression Book, M&T Publishing Inc, Borel Avenue, San Mateo, California.

Pitas, Ioannis, 1993, Digital Image Processing Algorithms, Prentice Hall International, United Kingdom.

Salomon, David, 2001, Data Compression The Complete Reference, Dept. Of Computer Science, California State University, Northridge, USA.

Sonka, M., Vaclav Hlavac, dan Roger Boyle, Image Processing, Analysis, and Machine Vision, 2nd ed., 1998, International Thompson Publishing, CA Steinmetz, Ralf dan Klara Nahrstedt, Multimedia: Computing, Communication,

and Application, 1995, Prentice Hall Inc., NJ

Yonata, Yosi, 2002, Kompresi Video, PT Elex Media Komputindo, Jakarta: Gramedia

http://en .wikipedia.org, diakses tanggal 08 Oktober 2006

http://www.cs.af.ac.uk, diakses tanggal 20 Maret 2007

 

PERBANDINGAN CITRA ASLI DENGAN CITRA HASIL REKONSTRUKSI

Citra resolusi 128x128 dengan Blok Matriks 8x8

Citra Asli

Ambang kuantisasi = 10 Ambang kuantisasi = 50

 

Citra resolusi 128x128 dengan Blok Matriks 16x16

Citra Asli

Ambang kuantisasi = 10 Ambang kuantisasi = 50

 

Citra resolusi 128x128 dengan Blok Matriks 32x32

Citra Asli

Ambang kuantisasi = 10 Ambang kuantisasi = 50

 

Citra resolusi 128x128 dengan Blok Matriks 64x64

Citra Asli

Ambang kuantisasi = 10 Ambang kuantisasi = 50

 

Citra resolusi 128x128 dengan Blok Matriks 128x128

Citra Asli

Ambang kuantisasi = 10 Ambang kuantisasi = 50

 

Citra resolusi 128x128 dengan metode langsung

Citra asli Prosentase = 10%

Prosentase = 20% Ambang kuantisasi = 50%

  LISTING PROGRAM %---DCT---% function citra_transform=dct2blok(citra,blk,selek); %Input: % X - matriks harus 2^n x 2^n

% blok - ukuran blok harus square (8x8, 16x16, ...) %

%Output:

% citra_transform - DCT matriks terbagi dalam blok % global selek if selek==1 blok=blk; elseif selek==0 [m n]=size (citra); blok=m; end j1=0:blok-1; j2=0:blok-1; [J1,J2]=meshgrid(j1,j2); C=cos(((2.*J1+1).*J2*pi)/(blok*2)); D=C'; citra=double(citra)./(blok/2); ukuran=size(citra,1); nblok=ukuran/blok; brsklm=1:blok;

[baris,kolom]=meshgrid(0:(nblok-1), 0:(nblok-1));

baris=baris(:); kolom=kolom(:); citra_transform = zeros(size(citra)); for k=1:length(baris) x=citra(baris(k)*blok+brsklm,kolom(k)*blok+brsklm); D1=x*D; D2=C*D1; D2(:,1)=D2(:,1).*(1/sqrt(2)); D2(1,:)=D2(1,:).*(1/sqrt(2)); citra_transform(baris(k)*blok+brsklm,kolom(k)*blok+brsklm)=D 2(brsklm,brsklm); end; %---IDCT---% function citra_rekons=blkidct2cos(citra,dqZig,blk,selek,qZig); %Output:

% citra - inverse transformed matrix

% qmtrx=get(findobj(figura,'Tag','quant_axes'),'UserData'); % dqZig=round(blkproc(Z,[8 8],'x./P1',qmtrx)); if selek==1 blok=blk; else [m n]=size (citra); blok=m; end blok=blk; j1=0:blok-1; j2=0:blok-1; [J1,J2]=meshgrid(j1,j2); C=cos(((2.*J1+1).*J2*pi)/(blok*2)); D=C';

 

dqZig=double(dqZig)./(blok/2);

ukuran=size(dqZig,1);

nblok=ukuran/blok;

brsklm=1:blok;

[baris,kolom]=meshgrid(0:(nblok-1), 0:(nblok-1));

baris=baris(:); kolom=kolom(:); citra_rekons = zeros(size(dqZig)); for k=1:length(baris) x=dqZig(baris(k)*blok+brsklm,kolom(k)*blok+brsklm); x(:,1)=x(:,1).*(1/sqrt(2)); x(1,:)=x(1,:).*(1/sqrt(2)); D1=x*C; D2=D*D1; citra_rekons(baris(k)*blok+brsklm,kolom(k)*blok+brsklm)=D2 (brsklm,brsklm); end;

Dokumen terkait