小波变换在图像处理中的运用及其matlab实现 - 副本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
clear % 清理工作空间
load wbarb; % 装入图像
figure; % 新建窗口
image(X); % 显示图像
colormap(map) % 设置色彩索引图
title('原始图像'); % 设置图像标题
axis square % 设置显示比例
disp('压缩前图像X的大小'); % 显示文字
whos('X') % 显示图像属性
%对图像用小波进行层小波分解
[c,s]=wavedec2(X,2,'bior3.7'); %提取小波分解结构中的一层的低频系数和高频系数cal=appcoef2(c,s,'bior3.7',1); %水平方向
ch1=detcoef2('h',c,s,1); %垂直方向
cv1=detcoef2('v',c,s,1); %斜线方向
cd1=detcoef2('d',c,s,1);
%各频率成份重构
a1=wrcoef2('a',c,s,'bior3.7',1);
h1=wrcoef2('h',c,s,'bior3.7',1);
v1=wrcoef2('v',c,s,'bior3.7',1);
d1=wrcoef2('d',c,s,'bior3.7',1);
c1=[a1,h1;v1,d1];
%显示分频信息
figure; % 新建窗口
image(c1); % 显示图像
colormap(jet) % 设置色彩索引图
axis square; % 设置显示比例
title ('分解后低频和高频信息'); % 设置图像标题
ca1=appcoef2(c,s,'bior3.7',1);
ca1=wcodemat(ca1,440,'mat',0);
%改变图像高度并显示
ca1=0.5*ca1;
figure; % 新建窗口
image(ca1); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title('第一次压缩图像'); % 设置图像标题
disp('第一次压缩图像的大小为:'); % 显示文字
whos('ca1') % 显示图像属性
%保留小波分解第二层低频信息进行压缩
ca2=appcoef2(c,s,'bior3.7',2);
%首先对第二层信息进行量化编码
ca2=wcodemat(ca2,440,'mat',0);
%改变图像高度并显示
ca2=0.25*ca2;
figure; % 新建窗口
image(ca2); % 显示图像
colormap(map); % 设置色彩索引图axis square; % 设置显示比例
title('第二次压缩图像'); % 设置图像标题disp('第二次压缩图像的大小为:'); % 显示文字whos('ca2') % 显示图像属性
clear; % 清理工作空间
load wbarb; % 装入图形信号
figure; % 新建窗口
image(X); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title('原始图像'); % 设置图像标题
disp('压缩前图像的大小'); % 显示文字
whos('X'); % 显示图像属性
axis square; % 设置显示比例
%对图像用db3小波进行二层小波分解
[c,s]=wavedec2(X,5,'db3');
[thr,sorh,keepapp]=ddencmp('cmp','wv',X);
[Xcomp,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,s,'db3',5,thr,sorh,keepapp); figure; % 新建窗口
image(Xcomp); % 显示图像
colormap(map); % 设置色彩索引图
axis square; % 设置显示比例
title(' 压缩后的图像'); % 设置图像标题
disp('压缩后图像的大小'); % 显示文字
whos('Xcomp') % 显示图像属性
disp('小波分解系数中值为0的系数个数百分比'); % 显示文字
disp(perf0); % 显示数值
disp('压缩后剩余能量百分比'); % 显示文字
disp(perfl2); % 显示数值
load wbarb; % 装载原始图像
figure; % 新建窗口
image(X); % 显示图像
colormap(map); % 设置色彩索引图
title('原图'); % 设置图像标题
axis square; % 设置显示比例
%生成含噪图像
init=2055615866; % 初始值
randn('seed',init) % 随机值
x=X+38*randn(size(X)); % 添加随机噪声
figure; % 新建窗口
image(x); % 显示图像
colormap(map); % 设置色彩索引图
title('含噪声图像'); % 设置图像标题
axis square; % 设置显示比例
% 下面对图像消噪,首先利用sym4函数对图像进行2层分解[c,s]=wavedec2(x,2,'sym4'); % 分解
a1=wrcoef2('a',c,s,'sym4',1); % 图像第一层的重构逼近信号 figure; % 新建窗口
image(a1); % 显示图像
colormap(map); % 设置色彩索引图
title('第一层重构图像'); % 设置图像标题
axis square; % 设置显示比例
a2=wrcoef2('a',c,s,'sym4',2); % 图像第二层的重构逼近信号figure; % 新建窗口
image(a2); % 显示图像
colormap(map); % 设置色彩索引图
title('第二层重构图像'); % 设置图像标题
axis square; % 设置显示比例