数字图像处理实验–小波图像处理
前置知识:
(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('所有系数拼接图像');
文章来源:https://www.toymoban.com/news/detail-464201.html
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('第二次去噪图像');
文章来源地址https://www.toymoban.com/news/detail-464201.html
到了这里,关于小波图像处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!