아래는 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 등을 참조한다.
waveletcdf97.zip
comments
comments rss (+댓글 쓰러가기)