Matlab 版 (精华区)
发信人: seesea (马虎学究), 信区: Matlab
标 题: 科学计算软件的快速开发(小波m函数)(转寄)
发信站: 哈工大紫丁香 (2002年03月13日21:41:20 星期三), 站内信件
发信人: GzLi (笑梨), 信区: Matlab
标 题: 科学计算软件的快速开发(小波m函数)
发信站: 饮水思源 (2002年01月24日21:25:49 星期四), 站内信件
本文中小波函数主要功能是对信号进行两阶分解,对图像进行一阶分解,小波母函数是
DB2[6]。下面是源代码。
%%%%% 对信号进行分解的MATLAB函数 %%%%%
function mydbtwo(fn) %%% 函数名
fid = fopen(fn); %%% 读入文件到变量
noissin = fscanf(fid,'%f');
fclose(fid);
[cA1,cD1] = dwt(noissin,'db2'); %%% 对信号进行两阶分解
A1 = upcoef('a',cA1,'db2',1);
D1 = upcoef('d',cD1,'db2',1);
[cA2,cD2]=dwt(cA1,'db2');
A2=upcoef('a',cA2,'db2',1);
D2=upcoef('d',cD2,'db2',1);
figure; %%% 显示分解信号结果
subplot(2,2,1);plot(noissin);title('原始信号');
subplot(2,2,2); plot(D1); title('一阶细节');
subplot(2,2,3); plot(A2); title('二阶逼近');
subplot(2,2,4);plot(D2);title('二阶细节');
%%%%% 对图像进行分解的MATLAB函数 %%%%%
function mydbtwod(fn) %%% 函数名
myimage=imread(fn); %%% 读文件到变量
[cA,cH,cV,cD] = dwt2(myimage,'db2'); %%% 利用db2函数对图像小波分解
A = upcoef2('a',cA,'db2',1); H = upcoef2('h',cH,'db2',1);
V = upcoef2('v',cV,'db2',1);D = upcoef2('d',cD,'db2',1);
figure; %%% 显示分解结果
subplot(2,2,1);imshow(myimage);title('原图像');
subplot(2,2,2);imshow(H);title('水平分解图像');
subplot(2,2,3);imshow(V);title('垂直分解图像');
subplot(2,2,4);imshow(D);title('斜向分解图像');
--
GzLi 如是说:
Joy and pain are coming and going both.
Be kind to yourself and others.
※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 211.80.38.29]
--
真理往往朴素,以致人们不相信它。
————列瓦尔特
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.120.9.14]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.284毫秒