您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于MATLAB的(小波)图像处理
小波变换课堂作业-1-基于MATLAB的(小波)图像处理姓名:宋富冉学号:P15301112院系:电子信息工程学院专业:电子与通信工程日期:2015年11月7日小波变换课堂作业-2-目录摘要…………………………………………………………3第一章初期准备1.1软件知识储备及学习……………………………………41.2MATLAB操作平台安装及应用……………………………41.3操作函数功能及调试……………………………………5第二章图像准备2.1图像采集…………………………………………………62.2图像选择和保存…………………………………………6第三章程序设计及实现3.1软件编程调试……………………………………………73.2实现及优化程序…………………………………………11第四章完成任务报告4.1报告书写…………………………………………………124.2总结………………………………………………………12附录…………………………………………………………13小波变换课堂作业-3-摘要本报告主要阐述有关于MABLAT在图像处理方面实际应用中的六个方面的问题,分别涉及图像的读取、图像添加噪声、利用小波函数对图像进行分割、分割后图像的重构、图像去除噪声、将程序处理过程中所得各种图像确定存储格式并保存到指定的磁盘及命名。最终得到预期任务的要求,完成任务。关键词:图像读取,图像加噪,图像去噪,图像重构,图像保存小波变换课堂作业-4-第一章初期准备1.1软件知识储备及学习由于本人从未学习过MATLAB这门课程及其编程语言,对其一无所知,在之前的学习过程中,比较多的是应用C语言进行一些简单的及较复杂的任务编程。因此,接到任务之日起,本人就开始学习储备有关于此方面的软件知识,并逐步学习了解它的奥妙所在。首先,是漫无目的的到图书馆查找有关于此类的各种书籍,并上网搜索各类处理程序和文档,以期寻求到刚好符合此次作业任务要求的完整程序设计及源代码。结果是可想而知的,并没有完全吻合的程序与代码。其次,在以上的查找翻看过程中,本人接触到了很多与此任务相关相通的程序设计和处理函数的功能及应用知识,受其启发,自我总结,将实现本任务所要用到的功能函数一一搜集了起来,初步了解了本任务如何开启。1.2MATLAB操作平台安装及应用通过前期的理论准备,下一步就要开始上机实际操作和仿真各个函数在实际应用中的效果。第一步,就是寻求MATLAB操作平台的安装包或安装程序,在自己的桌面上把它装起来,以便后面随时随地使用操作,也为后期更深入的学习此门语言而准备好最基本的学习工具,从而为以后完全掌握此门语言工具打下基础。第二步,就是对本平台的安装和使用,由于此平台有中英文两个版本,于是这对我本人又是一种考验,由于英语专业词汇并不完全过关,对操作菜单中多个名词词组的用意并小波变换课堂作业-5-不熟知,此亦造成了使用受限,而中文版的则要破解汉化,另外,国内破解汉化的版本使用起来效果并不好,效率亦不是特别理想,总结种种,还是选择英语原始版本的进行安装应用。第三步,平台基础模块应用学习与掌握,这是使用它的最基础的技能,后面所有的程序开发,程序编辑,程序运行及调试等,都是要用到的一些操作功能模块,它是最初学习和掌握的技能。此技能包含:新建,编辑,保存,测试,修改,结果分析等。1.3操作函数功能及调试在此次任务当中所要使用到的各个处理函数主要包括:自定义选择图像函数uigetfile(),图像读取函数imread(),加噪函数imnoise(),显示图像函数imshow()与image(),平面坐标函数subplot(),滤波器与滤波去噪函数fspecial()及imfilter(),保存图片函数imwrite(),标题函数title(),灰度处理函数mat2gray()等。另外,此次任务当中最重要的三个函数,分别是重构函数idwt2(),小波分割函数dwt2()和分层抽取函数upcoef2().由以上这些函数,在整个任务中迂回穿插,相互配合,完成整个任务要求。各函数功能类似其名,见名知意。此外,本人为了更好的了解各函数在实际仿真中所达到的效果,本人编辑程序,一一单独在MATLAB程序编辑调试平台进行了各个函数的实际功能测试。并对其进行了参数,实际使用技巧和方法进行了深一层次的了解和学习,获益匪浅。小波变换课堂作业-6-第二章图像准备2.1图像采集本次任务要求是采用任务完成人本人的自拍照片或他人拍摄照片一张,前提要求是,从照片中可以很清晰容易的辨认出作者是何人,所以在我们采集照片时务必要在光线充足,自拍效果最佳的环境中拍摄。当然,为了能更好的测试编写的程序实用性能,拍摄图片中尽可能包含任务所要求的部分为佳。2.2图像选择和保存我们在采集照片时可以多排几张以备选择,每张照片的质量都是有差别的,我们可以多选择几张,在同一个程序中进行操作,选择最佳的,最符合任务要求的进行处理提交。选择的图像是哪一张,自然是在本任务完成以后,做到本人能力范围内最优化水平层次而止。并将其保存到程序调用或读取最方便的那个磁盘里,一般是和源程序代码同一个文件夹内。以便调试程序等方便使用。小波变换课堂作业-7-第三章程序设计及实现3.1软件编程由于本任务所要求的只需在操作平台上进行相应的图像操作,并保存电子档即可。因此,只需在MATLAB软件编写操作界面内完成软件编程,并最优化程序设计即可。首先,本人将整个任务进行细化分解,实行分步实现的编程设计方案。这也是基于MATLAB这门语言编程的特点和使用方式来确定的,因此,按照预先设计确定好的方案,一步一步试行并具体确定实现其次,任务分解及实现方案细节:(此实现方案完整程序见附录)(1)实现任意读取一个图片,此功能下可以不必输入图片存储路径,可自动添加图片到程序之中,不必每次麻烦的修改图片路径或名称来更改另外一张图片,读取完毕后进行原始图片显示。这个功能也是本人经过多次尝试,实践及学习才编写出的。此分步程序示例及截图如下:[filename,pathname]=uigetfile({'*.jpg;*.bmp;*.tif;*.png;*.gif','AllImageFiles';'*.*','AllFiles'});I=imread([pathname,filename]);figure(1),subplot(2,1,1),imshow(I),title('原来图像');小波变换课堂作业-8-(2)进行图片加噪操作,并且显示加噪以后图片,查看其效果是否达到预期任务要求与目的。根据加噪图片显示分析结果,之后进行下一步操作,是优化更改还是进行下一项分解任务实现。此分步程序示例及截图如下:J=imnoise(I,'gaussian',0,0.01);subplot(2,1,2),imshow(J),title('加高斯白噪声以后图像');(3)完成以上两步之后,则进行小波分割函数调用,对图像进行小波分割,分别得到四张不同频率的图像:低频图像,水平高频图像,垂直高频图像和对角线高频图像。完成此步以后,并将其四张图像显示在同一平面中。查看分割所得图片结果,并与任务预期要求作对比,看是否满足任务要求,并根据分析结果,继续下一步操作。在此部分,本人觉得是比较难实现的部分,因为经过总计两个多小时调试,询问,查询资料,对比才找到比较优的程序书写步骤和顺序。此部分包函程序内容相对较多,完成起来也有一定的难度和复杂度,对于我这位初学者来说。但是,最终在查询对比和同学的帮小波变换课堂作业-9-助下,我基本完成了本部分的设计编写与调试,并最终得到了一般的结果。(选取出错图片一张与最终测试基本正确结果对比如下)此部分程序示例及处理图片结果截图对比如下:song='bior3.7';[dp,sp,cz,djx]=dwt2(I,song);A=upcoef2('a',dp,song,1);H=upcoef2('h',sp,song,1);V=upcoef2('v',cz,song,1);D=upcoef2('d',djx,song,1);figure(2);subplot(2,2,1);image(mat2gray(dp));title('低频图像');subplot(2,2,2);image(mat2gray(sp));title('水平高频图像');subplot(2,2,3);image(mat2gray(cz));title('垂直高频图像');subplot(2,2,4);image(mat2gray(djx));title('对角线高频图像');(4)完成以上所有步骤以后,基本任务就完成了一半,接下来便是将图像各分割部分重新组合,也就是下一个关键的步骤,图像重构,这部分本身只需调用一个重构函数即可,主要的难点是函数的参数确定,一开始本人采用原始分割后所得图像矩阵来进行图像重构,最终多次尝试,未能达到本人预期想要的结果。经过多番周折,最小波变换课堂作业-10-后获得的是如下图所示的两种重构图像:(选取有问题结果的中的两张以作代表描述)分析,查询并询问有关熟练人士方知这是由于没将double型数据进行转化及高频系数排列问题所导致的。于是,在其指导下,将程序参数进行了相应的修改,于是乎,得到如下图像:对比以后,基本达到了预期的效果。暂时完结。此部分程序示例及实现效果截图如下:figure(3);cg=idwt2(A,H,V,D,song);subplot(2,1,1);imshow(mat2gray(cg));title('重构以后图像');小波变换课堂作业-11-(5)此任务最后一项,就是将之前所加噪声及在此整个图片处理过程中所产生的噪声去除掉。此部分直接调用滤波器及滤波函数即可,查看对比处理后的图片,进行修改滤波器参数操作,使得到的最终图片效果能达到最佳。操作亦不复杂,在此过程中获得几个调试,修改的心得。此部分程序示例及多个参数处理效果多张截图对比如下:3.2实现及优化程序有以上分步组合最终完整程序,整体协调一致,将程序进行拼接,并整体调试,从而整体实现任务要求的所有功能。分布调试完毕以后,只要将程序相应的参数,矩阵等进行稍微修改即可,使前后能相互联系起来,形成完整的程序处理图像体系。小波变换课堂作业-12-第四章完成任务报告4.1报告书写在完成所有实验,仿真等实践操作,完成任务并得到最终结果以后,书写书面报告,将任务系统明了的以文档形式展示出来,为后来者借鉴或为自己后期更好的学习留存下一份宝贵的材料。因此,能详尽处,在报告中均详细书写描述。4.2总结在对MATLAB一无所知的情况下,完成这项小小的基础性的任务,对于我来说,还是有一定的挑战的,我要从头开始学起,查看各个知识点,至少是本任务所涉及到的,要使用到的知识体系和程序编辑框架等,好多新内容充斥着我的大脑,一时间还真有点难以适应。在此过程中,其他的不多说,最重要的是我学到了很多知识,也学会了走点捷径,不能从最基础的开始学起,那样时间是来不及的,借用教授的一句话就是要“以战代练”,从实践中学起,边做边学。这样能更迅速的更好的掌握它。此外,在学习过程中,对于一个初学者来说解决问题的最有效的方法莫过于直接请教身边已经掌握此技能的同学老师等,充分调动和积极问询,可以更高效的学习。小波变换课堂作业-13-附录:[filename,pathname]=uigetfile({'*.jpg;*.bmp;*.tif;*.png;*.gif','AllImageFiles';'*.*','AllFiles'});I=imread([pathname,filename]);figure(1),subplot(2,1,1),imshow(I),title('原来图像');J=imnoise(I,'gaussian',0,0.01);subplot(2,1,2),imshow(J),title('加高斯白噪声以后图像');%imwrite(J,'G:\yuanshijiazao','jpeg');song='bior3.7';[dp,sp,cz,djx]=dwt2(I,s
本文标题:基于MATLAB的(小波)图像处理
链接地址:https://www.777doc.com/doc-5941067 .html