Blog Archives

Pengolahan Citra Digital Menggunakan Transformasi Wavelet


Pada bidang pengolahan sinyal digital, kita dapat menggunakan transformasi Fourier untuk memperoleh informasi berapa besar frekuensi dari sebuah sinyal, tetapi kita tidak dapat mengetahui informasi kapan frekuensi itu terjadi. Transformasi Fourier hanya cocok untuk sinyal stasioner (sinyal yang frekuensinya tidak berubah terhadap waktu). Untuk mengatasi hal tersebut maka kita dapat menggunakan transformasi Wavelet yang mampu merepresentasikan informasi waktu dan frekuensi suatu sinyal dengan baik.

Penerapan transformasi wavelet pada bidang pengolahan citra digital antara lain adalah untuk kompresi, filtering, dan analisis tekstur. Berikut ini merupakan contoh pemrograman matlab untuk melakukan transformasi wavelet. Pemrograman meliputi proses transformasi terhadap citra grayscale ke dalam empat buah koefisien yaitu koefisien aproksimasi, koefisien detail vertikal, koefisien detail horizontal, dan koefisien detail diagonal.

1. Dekomposisi citra menggunakan wavelet haar level 1 (ukuran citra menjadi 1/2 kali ukuran semula)

clc; clear; close all;

% membaca citra grayscale
Img = imread('lena_gray_512.tif');

% dekomposisi wavelet haar level 1
[c,s] = wavedec2(Img,2,'haar');
[H1,V1,D1] = detcoef2('all',c,s,1);
A1 = appcoef2(c,s,'haar',1);
V1img = wcodemat(V1,255,'mat',1);
H1img = wcodemat(H1,255,'mat',1);
D1img = wcodemat(D1,255,'mat',1);
A1img = wcodemat(A1,255,'mat',1);

figure;
subplot(2,2,1);
imagesc(A1img);
colormap gray;
title('Approximation Coef. of Level 1');

subplot(2,2,2);
imagesc(H1img);
title('Horizontal detail Coef. of Level 1');

subplot(2,2,3);
imagesc(V1img);
title('Vertical detail Coef. of Level 1');

subplot(2,2,4);
imagesc(D1img);
title('Diagonal detail Coef. of Level 1');

-read more->

%d bloggers like this: