Matlabwilliam hill官网
直播中

cpk12345

10年用户 7经验值
擅长:可编程逻辑 MEMS/传感技术 处理器/DSP
私信 关注
[问答]

图像的二维离散小波变换问题

做图像二位离散小波变换时,总是出错,这是咋么回事啊?求指教。那个"colormap(map);"处总是出错!!(导入matlab自带的图像时没问题,但导入自己的图片时总出错。)
程序:
%装载图像
%load belmont2;
wind_striation_image=imread('E:Program FilesMy Picyures无主题1392601565367.jpg');
%显示图像
image(wind_striation_image);
colormap(map);
title('原始图像');
%colorbar;

%% 执行图象的单尺度小波分解
[cA1,cH1,cV1,cD1]=dwt2(wind_striation_image,'db4');

%由系数重构低频和高频部分并显示
A1=upcoef2('a',cA1,'db4',1);
H1=upcoef2('h',cH1,'db4',1);
V1=upcoef2('v',cV1,'db4',1);
D1=upcoef2('d',cD1,'db4',1);
figure(2);
colormap(map);
nbcol=size(map,1)
subplot(2,2,1);image(wcodemat(A1,nbcol));title('低频A1');
subplot(2,2,2);image(wcodemat(H1,nbcol));title('水平高频H1');
subplot(2,2,3);image(wcodemat(V1,nbcol));title('垂直高频V1');
subplot(2,2,4);image(wcodemat(D1,nbcol));title('对角高频D1');

%由小波逆变换恢复原图像信号
Xsyn=idwt2(cA1,cH1,cV1,cD1,'db4');

%% 执行图象的多尺度二维小波分解
[C,S]=wavedec2(wind_striation_image,2,'db4');

%提取系数的低频与高频部分
cA2=appcoef2(C,S,'db4',2);

%重构第二层的低频信号
A2=wrcoef2('a',C,S,'db4',2);

%重构第1,2层的高频信号
H1=wrcoef2('h',C,S,'db4',1);
V1=wrcoef2('v',C,S,'db4',1);
D1=wrcoef2('d',C,S,'db4',1);
H2=wrcoef2('h',C,S,'db4',2);
V2=wrcoef2('v',C,S,'db4',2);
D2=wrcoef2('d',C,S,'db4',2);

%显示多尺度二维分解结果
figure(3);
colormap(map);
subplot(2,4,1);image(wcodemat(A1,nbcol));title('低频A1');
subplot(2,4,2);image(wcodemat(H1,nbcol));title('水平高频H1');
subplot(2,4,3);image(wcodemat(V1,nbcol));title('垂直高频V1');
subplot(2,4,4);image(wcodemat(D1,nbcol));title('对角高频D1');
subplot(2,4,5);image(wcodemat(A2,nbcol));title('低频A2');
subplot(2,4,6);image(wcodemat(H2,nbcol));title('水平高频H2');
subplot(2,4,7);image(wcodemat(V2,nbcol));title('垂直高频V2');
subplot(2,4,8);image(wcodemat(D2,nbcol));title('对角高频D2');

%重构原始图像信号
X0=waverec2(C,S,'db4');
%显示重构得到的图像
figure(4);
image(X0);
colormap(map);




回帖(1)

matplot

2014-7-25 15:27:59
是不是matlab对路径上的中文敏感?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分