小波图像处理

数字图像处理实验–小波图像处理

前置知识:
(1)wavedec2函数:

格式:[C,S]=wavedec2(X,N,‘wname’)
对图像X用wname小波基函数实现N层分解,
wname取值:‘Haar’是哈尔小波,‘sym4’是Symlet小波。
输出为C,S,C为各层分解系数,S为各层分解系数长度,也就是大小。

(2)appcoef2函数:

格式:A = appcoef2(C,S,‘wname’,N)
提取小波变换的第N层分解的低频系数,其中C,S是wavedec2的输出。

(3)detcoef2函数:

格式:[H,V,D] = detcoef2(‘all’,C,S,N)
提取小波变换的第N层分解的所有高频系数。
H、V、D分别表示HL子图、LH子图和HH子图。

(4)wrcoef2函数:

格式:X = wrcoef2(‘type’,C,S,‘wname’,N)
使用小波系数进行单支重构原图像。
type取值:‘a’表示使用LL子带;‘h’表示使用HL子带;‘v’表示使用LH子带;‘d’ 表示使用HH子带。

(5)wthcoef2函数:

格式:NC = wthcoef2(‘type’,C,S,N,T,SORH)
对小波系数阈值进行处理:返回经过小波分解结构[C,S]进行处理后的新的小波分解向 量NC,[NC,S]即构成一个新的小波分解结构。
N是一个包含高频尺度的向量(例如N=[1,2]表示对第1级和第2级分解的系数进行阈值处 理),T是相应的阈值(例如T=[10,20]表示第1级和第2级分解的系数的阈值分别为10 和20),且N和T长度须相等。参数SORH用来对阈值方式进行选择,当SORH = ‘s’时, 为软阈值,当SORH = ‘h’ 时,为硬阈值。

(6)waverec2函数:

格式:X = waverec2(C,S,‘wname’)
使用C,S对图像进行重建。

注意:

imshow(I,[]):根据 I中像素值的范围缩放显示.使用[min (f (😃) max (f (😃)]作为显示范围。imshow将f中的最小值显示为黑色,将最大值显示为白色。即函数会将图像矩阵中min(I(😃)=low,max(I(😃)=high;从而达到灰度拉伸的效果。

clc 
clear
I = imread('lena.jpg');
img_gray = rgb2gray(I);
[C,S] = wavedec2(img_gray,2,'Haar');
LL2 = appcoef2(C,S,'Haar',2);
[HL2,LH2,HH2] = detcoef2('all',C,S,2);
subplot(2,2,1),imshow(LL2,[]),title('第二层LL子图');
subplot(2,2,2),imshow(HL2,[]),title('第二层HL子图');
subplot(2,2,3),imshow(LH2,[]),title('第二层LH子图');
subplot(2,2,4),imshow(HH2,[]),title('第二层HH子图');

PCH=[LL2,HL2;LH2,HH2];
[HL1,LH1,HH1] = detcoef2('all',C,S,1);
subplot(2,2,1),imshow(PCH,[]),title('第二层拼接图像');
subplot(2,2,2),imshow(HL1,[]),title('第一层HL子图');
subplot(2,2,3),imshow(LH1,[]),title('第一层LH子图');
subplot(2,2,4),imshow(HH1,[]),title('第一层HH子图');

在这里插入图片描述

PCH1=[PCH,HL1;LH1,HH1];
subplot(1,2,1),imshow(img_gray),title('原始图像');
subplot(1,2,2),imshow(PCH1,[]),title('所有系数拼接图像');

在这里插入图片描述

clc 
clear
I = imread('lena.jpg');
img_gray = rgb2gray(I);
I_noise = imnoise(img_gray,'gaussian',0,0.003);
[C_noise,S_noise] = wavedec2(I_noise,2,'sym4');
low_rec = wrcoef2('a',C_noise,S_noise,'sym4',2);
NL = wthcoef2('v',C_noise,S_noise,[1,2],[10.12,23.28],'s');
NH = wthcoef2('h',C_noise,S_noise,[1,2],[10.12,23.28],'s');
NC = wthcoef2('d',C_noise,S_noise,[1,2],[10.12,23.28],'s');
thre_rec = waverec2(C_noise,S_noise,'sym4');
subplot(2,2,1),imshow(img_gray),title('原始图像');
subplot(2,2,2),imshow(I_noise,[]),title('含噪声图像');
subplot(2,2,3),imshow(low_rec,[]),title('第一次去噪图像');
subplot(2,2,4),imshow(thre_rec,[]),title('第二次去噪图像');

在这里插入图片描述

  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值