小波变换图像处理实现程序课题实现步骤(精)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%这个是 2D-DWT 的函数,是 haar 小波

%c是图像像素矩阵 steps 是变换的阶数

function dwtc = dwt_haar(c, steps

% DWTC = CWT_HARR(C - Discrete Wavelet Transform using Haar filter %

% M D Plumbley Nov 2003

N = length(c-1; % Max index for filter: 0 .. N

% If no steps to do, or the sequence is a single sample, the DWT is itself if (0==N | steps == 0

dwtc = c;

return

end

% Check that N+1 is divisible by 2

if (mod(N+1,2~=0

disp(['Not divisible 2: ' num2str(N+1];

return

end

% Set the Haar analysis filter

h0 = [1/2 1/2]; % Haar Low-pass filter

h1 = [-1/2 1/2]; %Haar High-pass filter

% Filter the signal

lowpass_c = conv(h0, c;

hipass_c =conv(h1, c;

% Subsample by factor of 2 and scale

c1 = sqrt(2*lowpass_c(2:2:end;

d1 = sqrt(2*hipass_c(2:2:end;

% Recursively call dwt_haar on the low-pass part, with 1 fewer steps dwtc1 = dwt_haar(c1, steps-1;

% Construct the DWT from c1 and d1

dwtc = [dwtc1 d1];

% Done

return

-------------------------- 分割线 --------------------------

调用这个函数的例子下面的东西放在另一个文档里

读入一个图像‘ lena ’应该是个最基础的图像了 ~

之后分别作 0阶和 1阶 2D-DWT 的变换

改变阶数可以做更高阶的

clear all

im = imreadreal('lena.bmp'; %read image data

% Plot

figure

dwt2_step0=dwt2_haar(im, 0; %2D DWT step=0

imagesc(dwt2_step0;

colormap gray;

axis image;

figure

dwt2_step1=dwt2_haar(im, 1; %2D DWT step=1

imagesc(dwt2_step1;

colormap gray;

axis image;

--------------------- 分割线 ---------------------

结果如下 1阶的结果

这是我的一个实验希望有所帮助

小波去噪的基本步骤:将含噪信号进行多尺度小波变换, 从时域变换到小波域, 然后在个尺度下尽可能的提取信号的小波系数,而除去噪声的小波系数,最后用小波逆变换重构信号。课题实现步骤

①二维小波信号的分解。选定一个小波并确定一

个小波分解的层次 N ,然后对图像进行Ⅳ层小波分

解;

②高频系数的阈值选取及量化。对于从 1到Ⅳ层

的每一层,选择一个恰当的阈值,并对这一层的高频系数进行阈值量化处理,得到处理后的小波系数;

③二维小波的重构。根据小波分解的第Ⅳ层的低

频带系数和经过修改的从第 1层到第Ⅳ层的各层高频系数,来计算二维信号的重构。

相关文档
最新文档