首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中对小波分解进行平滑处理?

如何在Matlab中对小波分解进行平滑处理?
EN

Stack Overflow用户
提问于 2014-07-22 18:24:03
回答 1查看 823关注 0票数 1

要求我对小波域的小波系数进行阈值化和平滑处理,以提高图像的去噪效果。我可以使用Matlab函数wthcoef2进行阈值处理,但我没有看到一个与Matlab表示小波系数一致的平滑函数。

下面是我现在的代码:

代码语言:javascript
复制
F = imread('lena_std.tif');             % Reads the image
F_gray = rgb2gray(F);                   % Converts from RGB to Gray scale

gausQ = input('Add White Gaussian Noise?: ','s');

if gausQ == 'Y'
    F_noisy = imnoise(F_reshape,'gaussian');
    F_wavelet = F_noisy;
else
    F_wavelet = F_gray;
end

%% 
% Asks user for the wavelet decomposition level and the type of wavelet to 
% use.
J = input('Choose the wavelet decomposition level: ');
wavelet = input('Choose the wavelet name: ','s');

[C,S] = wavedec2(F_wavelet,J,wavelet);  % Multi-level wavelet decomposition

%%% Thresholding done by C = wthcoef2(C,S,N,T,SORH); %%%

我的主要问题是,小波系数保存在向量C中,即,不管列数是多少,这种表示不允许应用平滑运算符(至少在我理解的方式中不是这样)。

我考虑过试图重新构造小波系数向量,但我不知道如何将记账矩阵S正确地纳入其中。

如果有人对这一问题有任何见解,请作出相应答复。如果我需要在这个问题上增加更多的细节,请告诉我。谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2015-10-12 08:23:55

我不知道你是从哪里得到小波域的低通滤波的。这绝对是新颖的,但可能不是你想要的。

也许更直接的二维快速小波变换可以让你更好地了解哪些系数是从哪个图像位置得到的:

http://uk.mathworks.com/help/wavelet/ug/two-dimensional-discrete-wavelet-analysis.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24894936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档