我是小波和数字图像处理的新手..我写了一个小代码来对自己的人脸图像进行小波分解,但似乎有一些问题
X = imread('face.jpg');
[cA1,cH1,cV1,cD1] = dwt2(X,'db1');
i = [ cA1 cH1; cV1 cD1];
imshow(i)
谁能告诉我这里有什么问题,或者我是否遗漏了什么。
我是小波和数字图像处理的新手..我写了一个小代码来对自己的人脸图像进行小波分解,但似乎有一些问题
X = imread('face.jpg');
[cA1,cH1,cV1,cD1] = dwt2(X,'db1');
i = [ cA1 cH1; cV1 cD1];
imshow(i)
谁能告诉我这里有什么问题,或者我是否遗漏了什么。
我猜这可能是问题所在,这里有一个解决方案。尝试使用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');