欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    小波变换处理图像((课程设计)).doc

    • 资源ID:3942299       资源大小:1.91MB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    小波变换处理图像((课程设计)).doc

    数字图像处理课程设计报告题 目: 小波变换处理图像 专 业: 信息与计算科学 学 号: 组 长: 指导教师: 成 绩: 二一 年 六 月二十六日一、 课程设计目的小波分析是当前应用数学和工程学科中一个迅速发展的新领域,经过近10年的探索研究,重要的数学形式化体系已经建立,理论基础更加扎实。与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样调分析、数值分析的完美结晶;小波分析是时间尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。二、课程设计要求1、对知识点的掌握要求:利用小波变换的基本原理在MATLAB环境下编写程序对静态图像进行分解并压缩,并观察分析其处理效果。2、分组情况:组长: 组员: 分工情况:设计全过程的监督及协助和整个源程序代码的整理。:负责小波变换的分解:负责小波变化的重构算法:负责编写MATLAB程序:负责图像的压缩3、课程设计内容一个图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。高分辨率(即高频)子图像上大部分点都接近于0,越是高频这种现象越明显。对一个图像来说,表现一个图像最主要的部分是低频部分,所以利用小波分解就可以达到去掉图像的高频部分而只保留低频部分的目的。MATLAB是矩阵实验室(Matrix Laboratory)的简称,它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、 实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本设计利用MATLAB工具箱中的Wavele Toolbox小波工具箱对图像进行小波变换。三、课程设计实现步骤3.1 小波变换的分解和重构算法3.1.1 小波变换的分解算法小波是函数空间(R)中满足下述条件的一个函数或者信号(x)这里,=R-0表示非零实数全体。对于任意的函数或者信号,其小波变换定义为因此,对任意的函数,它的小波变换时一个二元函数。另所谓多分辨分析是指设;是(R)上的一列闭子空间,其中的一函数,如果它们满足如下五个条件,即(1)单调性:,;(2)唯一性:;(3)稠密性:(R);(4)伸缩性:,;(5)Riesz基存在性:存在,使得;构成的Riesz基。称为尺度函数。那么称;,是(R)上的一个多分辨分析。若定义函数,则由多分辨分析的定义,容易得到一个重要结果,即函数族;是空间的标准正交基。关于多分辨分析,在这里以一个三层的分解进行说明,其小波分解树如图2.1所示(A表示低频,D表示高频)。图2.1 小波分解法从图中可以明显看出,多分辨分析只是对低频部分进行进一步分解,而高频部分则不予考虑。分解具有关系,另外强调一点,这里只是以一个层分解进行说明,如果要进行进一步分解,则可以把低频部分分解成低频部分和高频部分,以下再分解,依次类推。在理解多分辨分析时,必须牢牢把握一点,即分解的最终目的是力求构造一个在频率上高度逼近空间的正交小波基,这些频率分辨率不同的正交小波基相当于带宽各异的带通滤波器。从图2.1可以看出,多分辨分析只对低频空间进行进一步的分解,使频率的分辨率变得越来越高。3.1.2 小波变换的重构算法设、(i=1,2,3)是由两个一元两尺度序列得到的二元尺度序列,即=,=,=,=。则有重构算法为=小波重构的数据传递示意图如图2.2所示图2.2 小波重构数据流示意图3.2 小波变换在图像压缩中的应用二维离散小波变换后的系数分布构成了信号的二维正交小波分解系数(如图2.3所示),图2.3 二维正交小波分解系数它们每一个都可被看做一幅图像,给出了垂直方向的高频分量的小波分解系数,给出了水平方向的高频分量的小波分解系数,给出了对角方向高频分量的小波分解系数,给出了的低频分量的小波分解系数。由此可见,若用,分别表示,经21亚抽样后的变换系数(简称为子图像),则任一图像都可以分解为j=-J,-1之间的3J+1个离散子图像:,其中是原图像的一个近似,(i=1,2,3;j=-J,-1)则是图像在不同方向、不同分辨率下的细节;如果原图像有N2个像素,则子图像,分别有个像素,因而分解后总的像素数为可见,分解后总的像素数不变。二维数字信号也即数字图像,对它的处理时基于图像的数字化来实现的。图像的书画结果就是一个巨大数字矩阵,图像处理就在这个矩阵上完成。所以,可将二维数字信号看做,即=并采用与一维情况类似的mallat算法。由于两次一维小波变换来实现一次二维小波变换,所以先对该矩阵的行进行小波变换,再对列进行小波变换。从信号滤波的角度实现二维小波变换的框图分别如图3.4所示。图2.4 二维小波变化的框图3.3MATLAB程序下面的实例是基于二维小波分析对图像进行压缩。一个图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。高分辨率(即高频)子图像上大部分点都接近于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 squaretitle('分解后低频和高频信息');ca1=appcoef2(c,s,'bior3.7',1);ca1=wcodemat(ca1,440,'mat',0);ca1=0.5*ca1;subplot(223);image(ca1);colormap(gray(256);title('第一次压缩图像');axis squareca2=appcoef2(c,s,'bior3.7',2);ca2=wcodemat(ca2,440,'mat',0);ca2=0.25*ca2;subplot(224);image(ca2);colormap(gray(256);axis square;title('第二次压缩图像');ifndef _BMPHEADER_H#define _BMPHEADER_H#pragma pack(1)typedef struct _BmpHeaderchar Identi2; /checkDWORD FileSize; DWORD Reserve1;DWORD DataOffset; /check DWORD HeaderSize; /checkDWORD Width; /checkDWORD Height; /checkWORD Planes;WORD BitsPerPix; /checkDWORD Compression; /checkDWORD DataSize;DWORD hResolution;DWORD vResolution;DWORD Colors; /checkDWORD ImportantColor; BmpHeader;/size if 54typedef struct _BmpBmpHeader Header;DWORD Palettes256;unsigned char Pix256256; Bmp;/size is 66614/the file store in disk will be 66616 size NdifWavelet.cpp : Defines the class behaviors for the application./#include "stdafx.h"#include "Wavelet.h"#include "MainFrm.h"#include "WaveletDoc.h"#include "WaveletView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CWaveletAppBEGIN_MESSAGE_MAP(CWaveletApp, CWinApp)/AFX_MSG_MAP(CWaveletApp)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSG_MAP/ Standard file based document commandsON_COMMAND(ID_FILE_NEW, CWinApp:OnFileNew)ON_COMMAND(ID_FILE_OPEN, CWinApp:OnFileOpen)/ Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp:OnFilePrintSetup)END_MESSAGE_MAP()/ CWaveletApp constructionCWaveletApp:CWaveletApp()/ TODO: add construction code here,/ Place all significant initialization in InitInstance/ The one and only CWaveletApp objectCWaveletApp theApp;/ CWaveletApp initializationBOOL CWaveletApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endif/ Change the registry key under which our settings are stored./ TODO: You should modify this string to be something appropriate/ such as the name of your company or organization.SetRegistryKey(_T("Local AppWizard-Generated Applications");LoadStdProfileSettings(); / Load standard INI file options (including MRU)/ Register the application's document templates. Document templates/ serve as the connection between documents, frame windows and views.CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CWaveletDoc),RUNTIME_CLASS(CMainFrame), / main SDI frame windowRUNTIME_CLASS(CWaveletView);AddDocTemplate(pDocTemplate);/ Parse command line for standard shell commands, DDE, file openCCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);/ Dispatch commands specified on the command lineif (!ProcessShellCommand(cmdInfo)return FALSE;/ The one and only window has been initialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();return TRUE;/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/ No message handlers/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ App command to run the dialogvoid CWaveletApp:OnAppAbout()CAboutDlg aboutDlg;aboutDlg.DoModal();/ CWaveletApp message handler四、结果及分析双线性内插法得到的放大图像。从图像的效果看出分辨率小的图像放大后得到的效果与原始图像相差很大。相比较而言,最近邻域法放大的图像平滑程度不如双线性法放大的,所以在实际应用中双线性内插法通常是首选。 从上面的图可以看出,在偏暗的图像中,直方图的组成成分集中在灰度级低的一侧,图像的对比度很低,为了使图像的对比度增加,采用了直方图均衡化,使图像所占的灰度登记得到扩展,对比度加强,使整个图像得到增强。数字图像均衡化后,其直方图并非完全均匀分布,这是因为图像的象素个数和灰度等级均为离散值,而且均衡化使灰度级并归。因此,均衡化后,其直方图并非完全均匀分布。从上图我们使用的是一副对比度较强的图像来做直方图均衡化,得到的均衡化后的图像效果并不好,这是因为对原来直方图就充满整个灰度级的图像再做均衡化使得部分灰度级变化后出现重叠的现象,使得得到的图像效果并不好。上图是对一副被椒盐噪声污染的图像分别使用3*3,5*5,7*7模板进行平滑滤波的到的,从图像的效果来看,使用7*7模板对噪声的平滑效果最好,但与此同时,原始图像的也被平滑了,所以在选择模板大小时要综合考虑对噪声的平滑度和对原始图像的平滑度。 这是对上面的图像进行中值滤波后的结果,从图像的效果来看中值滤波对处理脉冲噪声非常有效,这是因为中值滤波器是将邻域内的像素灰度的中值代替该像素的值。而椒盐噪声就是那些灰度为最大或最小的点,采用中值滤波能过有效的消除这些点,而且模糊程度明显比均匀滤波器要低 采用拉普拉斯滤波后的图像在叠加到原始图像中,就可以使图像中的各灰度值得到复原,而且通过拉普拉斯变换增强了图像中灰度突变处的对比度。最终的结果是使图像中的细节部分得到增强,并良好保留了图像的背景色调。 1原始 2高斯噪声 3 椒盐噪声 均为彩色图像 从上图来看,对被高斯噪声污染的图像进行频域滤波的效果不如被椒盐噪声污染的图像同样处理那样好,这是因为高斯噪声的频谱均匀的充满整个频域,低频(图像主要所在)处也有频谱,进行频域滤波后高频的噪声的确被滤除了,但是低频的噪声仍然存在,所以效果不怎么好。而椒盐噪声的频谱集中的高频部分,所以椒盐噪声效果还是可以的。频域滤波实现除噪的原理是原始图像的频谱集中在低频部分,在高频处图像的信噪比就比较低,显得图像效果不好,而进行了低通滤波后虽然牺牲了原始图像的边缘部分,但是滤除了高频的噪声,在低频的噪声和原始图像相比显得不那么明显,目的就达到了。原始图像RGBHSI彩色除噪原理 对彩色图像进行除噪的过程应该是先将I分量提取处理来,单独对I 分量进行除噪。如果直接对RGB分量进行除噪处理,会出现新的颜色分量,这样的图像和原始图像差的很多。 从图中可以看出,第一次压缩我们是提取原始图像中小波分解第一层的低频信息,此时压缩效果较好,压缩比较小(约为1/3);第二次压缩是提取第一层分解低频部分的低频部分(即小波分解第二层的低频部分),其压缩比比较大(1/12),压缩效果在视觉上也基本过得去,它不需要经过其它处理即可获得较好的压缩效果。 mask=1 1 1 1 0 0 0 0从模板可以看出,使用DCT 1 1 1 0 0 0 0 0变化可以有效的减少图像占 1 1 0 0 0 0 0 0用的空间。DCT变化后数据 1 0 0 0 0 0 0 0 左上角是低频,右下角是高 0 0 0 0 0 0 0 0频,忽略高频采用Z字排列. 0 0 0 0 0 0 0 0这种方法会有两种误差,首 0 0 0 0 0 0 0 0先是分块误差,还有忽略高 0 0 0 0 0 0 0 0;频误差,所以能看到反变化的图像多了一条白杠。五、心得体会这次设计利用小波变换完成了对静态图像进行压缩和复原的目的,基本上实现了设计的要求。图像压缩是一个很有发展前途的研究领域,它的研究就是寻找高压缩比的方法且压缩后的图像要有合适的信噪比,在压缩传输后还要恢复原信号,且在压缩、传输、恢复的过程中,还要求图像的失真度小。而将小波分析引入图像压缩的研究范畴,当一个图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的.高分辨率子图像上大部分点的数值都接近0,越高就越明显。而对于一个图像来说,表现一个图像的最主要部分是低频部分。而且小波分析能使压缩比高、压缩速度快,压缩后能保持信号与图像的特征基本不变。在数字图像处理中具有很强的使用价值。六、参考文献1 谢平、王娜、林洪彬等编 数字信号处理 燕山大学2007年3月。2 邹鲲、袁俊泉、龚享铱编 MATLAB6.x信号处理 清华大学出版社 2002年5月 。 3 薛年喜主编 MATLAB在数字信号处理中的应用 清华大学出版社 2003年。

    注意事项

    本文(小波变换处理图像((课程设计)).doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开