小波去噪matlab程序代码_步骤及函数介绍

1、小波去噪实现步骤

(1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N层的分解。

(2)对高频系数进行阈值量化。对于从1~N的每一层,选择一个阈值,并对这一层的高频系数进行软阈值量化处理。

(3)二维小波重构。根据小波分解的第N层的低频系数和经过修改的从第一层到第N的各层高频系数,计算二维信号的小波重构

2、Matlab函数介绍

(1)wavedec2函数

该函数用于对多尺度二维小波进行分解,其常用调用格式:

[C,S] = wavedec2(X,N,‘wname’):用小波函数wname对信号X在尺度N上的二维分解,N是严格正整数。

(2)wrcoef2函数

该函数用于对二维小波系数进行单支重构,其调用格式:

X = wrcoef2(‘type’,C,S,‘wname’,N):用指定的小波函数wname进行N尺度重构。当type = ‘a’时,仅对信号的低频部分进行重构,此时N可以为0;当type = ‘h’(或‘v’/‘d’)时,对信号(水平、垂直、对角)的高频进行重构,N为严格正整数。

(3)wthcoef2函数

该函数用于对二维信号的小波系数阈值进行处理,常用调用格式:

NC = wthcoef2(‘type’,C,S,N,T,SORH):返回经过小波分解结构[C,S]进行处理后的新的小波分解向量NC,[NC,S]即构成一个新的小波分解结构。N是一个包含高频尺度的向量,T是相应的阈值,且N和T长度须相等。返回‘type’(水平、垂直、对角线)方向的小波分解向量NC。参数SORH用来对阈值方式进行选择,当SORH = ‘s’时,为软阈值,当SORH = ‘h’时,为硬阈值。

3、小波去噪Matlab实例

实例1:

clear all;

load facets;

subplot(2,2,1);image(X);

colormap(map);

xlabel(‘(a)原始图像’);

axis square

%产生含噪声图像

init = 2055615866;

randn(‘seed’,init);

x = X + 50*randn(size(X));

subplot(2,2,2);image(x);

colormap(map);

xlabel(‘(b)含噪声图像’);

axis square

%下面进行图像的去噪处理

%用小波函数coif3对x进行2层小波分解

[c,s] = wavedec2(x,2,‘coif3’);

%提取小波分解中第一层的低频图像,即实现了低通滤波去噪

%设置尺度向量

n = [1,2];

%设置阈值向量p

p = [10.12,23.28];

%对三个方向高频系数进行阈值处理

nc = wthcoef2(‘h’,c,s,n,p,‘s’);

nc = wthcoef2(‘v’,nc,s,n,p,‘s’);

nc = wthcoef2(‘d’,nc,s,n,p,‘s’);

%对新的小波分解结构[c,s]进行重构

x1 = waverec2(nc,s,‘coif3’);

subplot(2,2,3);image(x1);

colormap(map);

xlabel(‘(c)第一次去噪图像’);

axis square

%对nc再次进行滤波去噪

xx = wthcoef2(‘v’,nc,s,n,p,‘s’);

x2 = waverec2(xx,s,‘coif3’);

subplot(2,2,4);image(x2);

colormap(map);

xlabel(‘(d)第二次去噪图像’);

axis square《span style=“font-size:14px”》《span style=“font-size:14px”》《span style=“font-size:18px; color:#3366ff”》

小波去噪matlab程序代码_步骤及函数介绍

技术专区

  • Alexa语音服务软件扩展STM32Cube
  • 结合DNN API驱动未来神经网络应用的解决方案
  • 针对于高端移动通信和汽车市场的四集群设计
  • 一款基于帧捕捉的开源图形调试器应用设计
  • 即将成为标准配置的最新安全技术:后视摄像系统
  • 小波去噪matlab程序代码_步骤及函数介绍已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网