数字图像处理课程设计-小波变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
小波变换的理论是近年来兴起的新的数学分支,素有“数学显微镜”的美称。它是继1822年傅立叶提出傅立叶变换之后又一里程碑式的领域,解决了很多傅立叶变换不能解决的困难问题。小波变换可以使得信号的低频长时特性和高频短时特性同时得到处理,具有良好的局部化性质,能有效地克服傅氏变换在处理非平稳复杂信号时存在的局限性,具有极强的自适应性,因此在图像处理中具有极好应用价值。本设计主要分析了基于小波变换的图像分解和图像压缩技术,并运用Matlab软件对图像进行分解,然后提取其中与原图像近似的低频信息,达到对图像进行压缩的目的。分别作第一层分解和第二层分解,并比较图像压缩的效果。
关键词:小波变换;Matlab;图像分解;图像压缩
目录
摘要............................................................................................................. I 第1章绪论.. (1)
1.1设计背景 (1)
1.2设计要求 (1)
1.3设计思路简介 (1)
第2章小波变换处理图像设计过程 (2)
2.1小波变换的分解和重构算法 (2)
2.2小波变换在图像压缩中的应用 (4)
第3章软件设计与仿真 (6)
3.1MATLAB程序 (6)
3.2结果及分析 (7)
第4章总结与展望 (9)
参考文献 (10)
第1章绪论
1.1设计背景
小波分析是当前应用数学和工程学科中一个迅速发展的新领域,经过近10年的探索研究,重要的数学形式化体系已经建立,理论基础更加扎实。与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样调分析、数值分析的完美结晶;小波分析是时间—尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。
1.2设计要求
利用小波变换的基本原理在MATLAB环境下编写程序对静态图像进行分解并压缩,并观察分析其处理效果。
1.3设计思路简介
一个图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。高分辨率(即高频)子图像上大部分点都接近于0,越是高频这种现象越明显。对一个图像来说,表现一个图像最主要的部分是低频部分,所以利用小波分解就可以达到去掉图像的高频部分而只保留低频部分的目的。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
本设计利用MATLAB工具箱中的Wavele Toolbox——小波工具箱对图像进行小波变换。
构成了信号),(y x f 的二维正交小波分解系数(如图2.3所示),
图2.3 二维正交小波分解系数
它们每一个都可被看做一幅图像,),(1
m n f W j 给出了),(y x f 垂直方向的高频分量的小波分解系数,),(3
m n f W j 给出了),(y x f 水平方向的高频分量的小波分解系数,),(2
m n f W j 给出了),(y x f 对角方向高频分量的小波分解系数,f S J 给出了),(y x f 的低频分量的小波分解系数。由此可见,若用S J ,W j 1
,W j 2
,W
j
3分别表示),(m n f S j ,),(1
m n f W j ,),(2
m n f W j ,),(3
m n f W j 经2∶1亚抽样后的变换系数(简称为子图像),则任一图像都可以分解为j=-J ,…,-1之间的3J+1个离散子图像:S J ,W j 1
,W j 2
,W j 3
其中S J 是原图像的一个近似,W i
j (i=1,
Z
Z j j j j j j m n f W m n f W m n f W m n f S m n ⨯∈--=}
)},(),,(),,(){,(1,...,)
,(
第3章软件设计与仿真
3.1 MATLAB程序
下面的实例是基于二维小波分析对图像进行压缩。一个图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。高分辨率(即高频)子图像上大部分点都接近于0,越是高频这种现象越明显。对一个图像来说,表现一个图像最主要的部分是低频部分,所以一个最简单的压缩方法是利用小波分解,去掉图像的高频部分而只保留低频部分。
clc;
clear all;
a=imread('1.bmp');
X=rgb2gray(a);
subplot(221);image(X);colormap(gray(256));
title('原始图像');
axis square;
[c,s]=wavedec2(X,2,'bior3.7');
ca1=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];
subplot(222);image(c1);
axis square
title('分解后低频和高频信息');
ca1=appcoef2(c,s,'bior3.7',1);
ca1=wcodemat(ca1,440,'mat',0);
ca1=0.5*ca1;
subplot(223);image(ca1);colormap(gray(256));