PDA

查看完整版本 : [MATLAB图像处理] 小波处理的时候把小波类型作为变量但是失败


tplee923
2009-07-20, 12:17
I = imread('lena.png');
X = im2double(I);
x = noise(X, 'gaussian', 0.01);
wave={'harr','db1','db2'};
figure; imshow(I); title('the original');
range=1;
index=1;
for i=1:3 %一共有45个字符串元素
for ii=1:wmaxlev(size(I),(wave(index)))
[C, S] = wavedec2(x, range, wave(index));
thr_lvd = Birge_Massart(C, S); % 计算Bige-Massa策略阈值
alpha = 0.5;

x_soft_lvd = wdenoise(x, 'lvd', 's', thr_lvd, wave(index), range); % 软阈值方法 Birge-Massart策略 计算的阈值 然后重构出的图像
figure; imshow(x_soft_lvd); title(wave(index));
range=range+1;
end
index = index +1;
end


MATLAB提示错误
??? Function 'ne' is not defined for values of class 'cell'.

Error in ==> deblankl at 13
s = s(s~=' ');

Error in ==> wmaxlev at 31
wname = deblankl(wname);

silas_xue
2009-07-21, 03:48
lz 仅仅说说我的个人意见
注意一下小波类型在matlab中调用时其变量类型
另外是否正确的将字符串读取完整
希望可以对你有些帮助

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
通过点击本人帖子旁边的ID 可以使用“发送悄悄话给silas_xue”与我进行联系
个人观点 仅供参考 多多交流 相互学习