小波变换在图像处理中的运用及其matlab实现 - 副本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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; % 设置显示比例

相关文档
最新文档