-1

我是小波和数字图像处理的新手..我写了一个小代码来对自己的人脸图像进行小波分解,但似乎有一些问题

X = imread('face.jpg');


[cA1,cH1,cV1,cD1] = dwt2(X,'db1');

i = [ cA1 cH1; cV1 cD1];
imshow(i)

谁能告诉我这里有什么问题,或者我是否遗漏了什么。

4

1 回答 1

1

我猜这可能是问题所在,这里有一个解决方案。尝试使用wcodemat重新缩放矩阵进行显示(无耻地撕掉http://www.mathworks.com/help/wavelet/ref/wcodemat.html):

load woman;
% Get the range of the colormap
NBCOL = size(map,1);
% Obtain the 2D dwt using the Haar wavelet
[cA1,cH1,cV1,cD1] = dwt2(X,'db1');
% Display without scaling
image(cA1);
colormap(map);
title('Unscaled Image');
figure;
% Display with scaling
image(wcodemat(cA1,NBCOL));
colormap(map);
title('Scaled Image');
于 2013-09-24T14:42:25.703 回答