您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页小波变换在图像处理中的运用及其matlab实现 - 副本

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

来源:意榕旅游网
file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-1.txt

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);

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-1.txt(第 1/2 页)[2011-5-16 14:36:27]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-1.txt

%改变图像高度并显示ca2=0.25*ca2;

figure; % 新建窗口image(ca2); % 显示图像

colormap(map); % 设置色彩索引图axis square; % 设置显示比例

title('第二次压缩图像'); % 设置图像标题disp('第二次压缩图像的大小为:'); % 显示文字whos('ca2') % 显示图像属性

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-1.txt(第 2/2 页)[2011-5-16 14:36:27]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-2.txt

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); % 显示数值

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-2.txt[2011-5-16 14:36:27]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-3.txt

clear; % 清理工作空间

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; % 设置显示比例

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-3.txt[2011-5-16 14:36:28]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-4.txt

clear; % 清理工作空间load wbarb; % 装载原始图像figure; % 新建窗口image(X); % 显示图像

colormap(map); % 设置色彩索引图title('原始图像'); % 设置图像标题

axis square; % 设置显示比例,生成含噪图像并图示init=2055615866; % 初始值randn('seed',init); % 随机值

XX=X+8*randn(size(X)); % 添加随机噪声figure; % 新建窗口image(XX); % 显示图像

colormap(map); % 设置色彩索引图title('含噪图像'); % 设置图像标题

axis square; %用小波函数coif2对图像XX进行2层分解[c,l]=wavedec2(XX,2,'coif2'); % 分解n=[1,2]; % 设置尺度向量

p=[10.28,24.08]; % 设置阈值向量,对高频小波系数进行阈值处理%nc=wthcoef2('h',c,l,n,p,'s');%nc=wthcoef2('v',c,l,n,p,'s');nc=wthcoef2('d',c,l,n,p,'s');

X1=waverec2(nc,l,'coif2'); % 图像的二维小波重构figure; % 新建窗口image(X1); % 显示图像

colormap(map); % 设置色彩索引图

title('第一次消噪后的图像'); % 设置图像标题

axis square; % 设置显示比例,再次对高频小波系数进行阈值处理%mc=wthcoef2('h',nc,l,n,p,'s');mc=wthcoef2('v',nc,l,n,p,'s');%mc=wthcoef2('d',nc,l,n,p,'s');

X2=waverec2(mc,l,'coif2'); % 图像的二维小波重构figure; % 新建窗口image(X2); % 显示图像

colormap(map); % 设置色彩索引图

title('第二次消噪后的图像'); % 设置图像标题axis square; % 设置显示比例

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-4.txt[2011-5-16 14:36:28]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-5.txt

load sinsin

figure; % 新建窗口image(X); % 显示图像

colormap(map); % 设置色彩索引图title('原始图像'); % 设置图像标题

axis square; % 设置显示比例,生成噪声图像 init=2055615866; % 初始值randn('state',init); % 随机值x = X + 18*randn(size(X));

figure; % 新建窗口image(x); % 显示图像

colormap(map); % 设置色彩索引图title('含噪图像'); % 设置图像标题

axis square; % 设置显示比例,查找默认值 (参见函数ddencmp).

[thr,sorh,keepapp] = ddencmp('den','wv',x); % 使用全局阈值选项进行图像降噪处理。xd = wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);figure; % 新建窗口image(xd); % 显示图像

colormap(map); % 设置色彩索引图title('消噪后的图像'); % 设置图像标题axis square; % 设置显示比例

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-5.txt[2011-5-16 14:36:29]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-6.txt

load wbarb; % 装载原始图像figure; % 新建窗口image(X); % 显示图像

colormap(map); % 设置色彩索引图title('原始图像'); % 设置图像标题axis square; % 设置显示比例

[c,s]=wavedec2(X,2,'sym4'); % 进行二层小波分解

sizec=size(c); % 处理分解系数,突出轮廓,弱化细节for I =1:sizec(2) % 小波系数处理if(c(I)>350) c(I)=2*c(I); else

c(I)=0.5*c(I); endend

xx=waverec2(c,s,'sym4'); % 分解系数重构figure; % 新建窗口image(xx); % 显示图像

colormap(map); % 设置色彩索引图title('增强图像') % 设置图像标题axis square; % 设置显示比例

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-6.txt[2011-5-16 14:36:29]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-7.txt

clear % 清理工作空间load woman; % 装入原图像X1=X; % 复制map1=map; % 复制figure; % 新建窗口image(X1); % 显示图像

colormap(map1); % 设置色彩索引图title('woman'); % 设置图像标题 axis square % 画出woman 图像load wbarb; % 装入原图像X2=X; % 复制map2=map; % 复制for I =1:256for j=1:256if(X2(I, j)>100)

X2(I, j)=1.2*X2(I, j);else

X2(I, j)=0.5*X2(I, j);endendend

figure; % 新建窗口image(X2); % 显示图像

colormap(map2); % 设置色彩索引图title('wbarb'); % 设置图像标题axis square % 设置显示比例[c1,s1]=wavedec2(X1,2,'sym4'); % 分解sizec1=size(c1);

for I=1:sizec1(2) % 系数处理c1(I)=1.2*c1(I);end

[c2,s2]=wavedec2(X2,2,'sym4'); % 分解c=c1+c2; % 系数处理c=0.5*c;

xx=waverec2(c,s1,'sym4'); % 重构figure; % 新建窗口image(xx); % 显示图像

colormap(map); % 设置色彩索引图title('融合图像'); % 设置图像标题axis square % 设置显示比例

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-7.txt[2011-5-16 14:36:30]

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-8.txt

load cathe_1; % 调入第一幅模糊图像X1=X; % 复制

load cathe_2; % 调入第二幅模糊图像X2=X; % 复制

XFUS=wfusimg(X1,X2,'sym4',5,'max','max'); %基于小波分解的图像融合figure; % 新建窗口image(X1); % 显示图像

colormap(map); % 设置色彩索引图axis square; % 设置显示比例title(' Catherine 1'); % 设置图像标题figure; % 新建窗口image(X2); % 显示图像

colormap(map); % 设置色彩索引图axis square; % 设置显示比例

title(' Catherine 2'); % 设置图像标题figure; % 新建窗口image(XFUS); % 显示图像

colormap(map); % 设置色彩索引图 axis square; % 设置显示比例

title('Synthesized image'); % 设置图像标题

file:///C|/Documents and Settings/Administrator/桌面/代码/第20章/代码20-8.txt[2011-5-16 14:36:30]

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务