您的位置:首页 > 其它

用小波对图像分解,和特征分析

2014-05-29 16:13 281 查看
path = 'C:\Program Files\MATLAB\R2013a\bin\Original_Images\DIP3E_Original_Images_CH10\';
fileExt = '*.tif';
files = dir(fullfile(path,fileExt));
len = size(files,1);
n=0;
for i=1:len
fileName = strcat(path,files(i,1).name);
f=imread(fileName);
figure,imshow(f);title('original img');
I=im2double(f);
for j=1:8
wname=['sym',num2str(j)];    % sym1,sym2.....sym8   db1,db2----->db10   coif1--->coif5
%wavemngr('read',1)  查看工具箱中所有的小波
[c,s]=wavedec2(I,4,wname);
for k=1:4
ca=appcoef2(c,s,wname,k);
ch=detcoef2('h',c,s,k);   % 一级水平细节
cv=detcoef2('v',c,s,k);   % 一级垂直细节
cd=detcoef2('d',c,s,k);   % 一级对角细节

ca=mat2gray(ca);     % 归一化
ch=mat2gray(ch);
cv=mat2gray(cv);
cd=mat2gray(cd);

figure,imshow([ca,ch;cv,cd]);
title([wname,' wavedec.: approx. ','and det. coefs (lev. ',num2str(k),')',num2str(n)]);
name=['D:\img\',wname,' wavedec approx ', 'level ',num2str(i),num2str(j),num2str(k), num2str(n)];
n=n+1;
saveas(gcf, name, 'jpg');
close all;
end
end
end;

第一个for 循环 遍历文件夹内所有的tif 图像

第二个for 循环是采用何种小波

第三个for 循环是对图像进行N级分解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: