小波的秘密2_MATLAB图像多尺度分析
来源:互联网 发布:coc夜世界墙升级数据 编辑:程序博客网 时间:2024/04/29 09:02
1.MATLAB程序编写步骤
1.把小波w(t)和原函数f(t)的开始部分进行比较,计算系数C。系数C表示该部分函数与小波的相似程度。
2.把小波向右移k单位,得到小波w(t-k),重复1。重复该部知道函数f结束.
3.扩展小波w(t),得到小波w(t/2),重复步骤1,2.
4.不断扩展小波,重复1,2,3.
这里使用的haar小波,缩放函数是[1 1],小波函数是[1 -1],是最简单的小波了。
2.MATLAB源代码及分析
<span style="font-size:18px;"><span style="font-size:18px;">% main.mclear all;close all;clc;img=double(imread('Ziheng.jpg'));[m,n]=size(img);[LL,LH,HL,HH]=haar_dwt2D(img); %当然dwt2(img,'haar')是一样的,我只是想明白细节img=[LL LH;HL HH]; %一层分解imgn=zeros(m,n);for i=0:m/2:m/2 for j=0:n/2:n/2 [LL,LH,HL,HH]=haar_dwt2D(img(i+1:i+m/2,j+1:j+n/2)); %对一层分解后的四个图像分别再分解 imgn(i+1:i+m/2,j+1:j+n/2)=[LL LH;HL HH]; endendimshow(imgn)</span></span>
<span style="font-size:18px;"><span style="font-size:18px;">%haar_dwt2D.mfunction [LL,LH,HL,HH]=haar_dwt2D(img) [m,n]=size(img); for i=1:m %每一行进行分解 [L,H]=haar_dwt(img(i,:)); img(i,:)=[L H]; end for j=1:n %每一列进行分解 [L,H]=haar_dwt(img(:,j)); img(:,j)=[L H]; end %本来分解不应该加mat2gray的,不过为了有好的显示效果就加上了 LL=mat2gray(img(1:m/2,1:n/2)); %行列都是低频 LH=mat2gray(img(1:m/2,n/2+1:n)); %行低频列高频 HL=mat2gray(img(m/2+1:m,1:n/2)); %行高频列低频 HH=mat2gray(img(m/2+1:m,n/2+1:n)); %行列都是高频 end</span></span><span style="font-size:18px;"><span style="font-size:18px;">%haar_dwt.mfunction [L,H]=haar_dwt(f) %显然,我没有做边界处理,图片最好是2^n*2^n型 n=length(f); n=n/2; L=zeros(1,n); %低频分量 H=zeros(1,n); %高频分量 for i=1:n L(i)=(f(2*i-1)+f(2*i))/sqrt(2); H(i)=(f(2*i-1)-f(2*i))/sqrt(2); end end</span></span>
3.实验结果分析
1 0
- 小波的秘密2_MATLAB图像多尺度分析
- 小波的秘密2_MATLAB图像多尺度分析
- 图像的多尺度几何分析
- 图像的透视变换_matlab
- 小波的秘密5_多分辨率分析和连续小波变换2
- 小波的秘密5_多分辨率分析和连续小波变换2
- 小波分析和尺度函数
- 基于小波变换的多尺度图像边缘检测matlab源代码(在Matlab7.0下运行)
- 由滤波器系数绘制尺度函数和小波函数图像的Matlab程序
- 【转】由滤波器系数绘制尺度函数和小波函数图像的Matlab程序
- 关于图像多尺度的一些基础知识
- 图像多尺度技术
- 小波变换(1)多分辨率分析:尺度函数和小波函数
- 小波分析中的尺度函数与小波函数
- 小波的秘密4_多分辨率分析和连续小波变换1
- 小波的秘密4_多分辨率分析和连续小波变换1
- Matlab时频分析工具箱小波尺度图函数的使用说明与实例
- 小波的秘密7_图像处理应用:图像压缩
- 【 nginx 技术研究】nginx 整合tomcat 负载均衡配置
- IOS-常用的四种数据持久化方法
- sigmod函数tanh函数ReLU函数
- Java程序操作excel表格时遇到的奇怪问题
- liunx学习笔记之打包,压缩和yum源配置
- 小波的秘密2_MATLAB图像多尺度分析
- BZOJ1015 星球大战
- 堆排序
- Bestcoder #89
- Android中Context详解 ---- 你所不知道的Context
- java flush()函数的作用
- 大数据量下高并发同步的讲解
- C++中复制构造函数与重载赋值操作符总结
- Nginx+Tomcat7+Mencached负载均衡集群部署笔记