Superkkt Blog

Daubechies 9/7 또는 Cohen-Daubechies-Feauveau 9/7 (CDF 9/7)로 불리는 Wavelet Transform의 matlab code이다. 참고로 이 알고리즘은 JPEG2000의 lossy compression 알고리즘으로 채택되었다.

아래는 2-D grayscale image를 one-level wavelet transform하는 간단한 예제이다.

I = imread('test.jpg');
G = rgb2gray(I);
X = double(G) / 255;
w = waveletcdf97(X, 1);
imshow(uint8(wcodemat(w, 255)));

grayscale image를 바로 사용하면 안되고 0~1 사이로 rescaling된 데이터를 입력으로 사용해야 한다. 그리고 출력은 원본 이미지 크기의 배열에 approximation coefficients, details coefficients(horizontal, vertical, diagonal) 4개가 모두 저장된다. 출력값을 이미지로 보여주려면 역시 1~256 사이로 rescaling해야 한다. 그리고 출력값을 이미지로 보여주면 계수값이 작아서 잘 보이지 않는데, 이게 불편하면 좀 더 scaling을 해서 출력하면 된다.

reconsturction은 decompose 결과를 입력으로해서 minus level을 사용하면 된다.
r = waveletcdf97(w, -1);

더 자세한 내용은 첨부된 소스코드의 demo, doc 등을 참조한다.



2009/11/04 13:34 2009/11/04 13:34

trackbacks

trackbacks rss

http://superkkt.com/trackback/423

Leave a Comment