您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 实验设计 > 数字图像处理课程设计报告
本科综合课程设计报告题目____________________________指导教师__________________________辅导教师__________________________学生姓名__________________________学生学号_________________________________________________________院(部)____________________________专业________________班___2008___年_12__月_30__日数字图像处理演示系统信息科学与技术学院通信工程052数字图像处理课程设计报告11主要内容1.1数字图像处理背景及应用数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。1.2图像处理演示系统设计要求能加载和显示原始图像,显示和输出处理后的图像;系统要便于维护和具备可扩展性;界面友好便于操作;1.3图像处理演示系统设计任务数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。1.3.1几何变换几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等1.3.2图像增强图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。数字图像处理课程设计报告22设计思想:2.1图像处理演示系统实现工具的选择使用MATLAB软件进行界面设计及程序编写。2.2选择MATLAB软件原因之所以选择MATLAB工具是因为:MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。MATLAB全称是MatrixLaboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MATLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。MATLAB对图像的处理功能主要集中在它的图像处理工具箱(ImageProcessingToolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。2.3系统结构框图图像处理系统文件图像增强几何变换绘制直方图帮助打开保存平滑滤波增强锐化滤波增强图像的平移图像的旋转图像的缩放图像的翻转横轴翻转纵轴翻转数字图像处理课程设计报告33图形用户界面设计GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。MATLAB提供了一个专门的GUI设计工具——图形用户界面开发环境(GUIDE),使用该工具,可以快速完成GUI设计任务。利用MATLAB提供的有关数据,还可以创建工具栏控件和多种对话框。3.1启动GUIDE在命令窗口中键入guide,启动GUIDE,显示如下图所示的“GUIDEQuickStart”对话框。打开“GUIDEQuickStart”对话框,利用GUIDE模板创建新的GUI,选择一个模板后,单机OK按钮,在输出编辑器中打开GUI。如下:3.2输出编辑器在GUIDE中打开GUI以后,它显示在输出编辑器中。输出编辑器是所有GUIDE工具的控制面板。可以通过拖拉控件来设计GUI,这些控件位于输出编辑器左侧的工具箱中,有按钮、弹出式菜单和坐标系等多种。也可以用输出编辑器设置GUI控件的基本属性。数字图像处理课程设计报告43.3GUIDE模板“GUIDEQuickStart”对话框提供了几种基本类型的GUI模板。使用模板的好处是可以通过改模板来快速创建GUI。选择一种模板以后,它的预览效果显示在右面的面板中。3.4菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。在GUIDE中单机工具栏上的按钮,或者选择“Tools”菜单中的“MenuEditor…”选项,打开菜单编辑器的界面,如下图所示:上图中左上角第一个按钮用于创建下拉式菜单。用户可以通过单击它来创建下拉式主菜单。第二个按钮用于创建下拉式主菜单的子菜单数字图像处理课程设计报告5运行后效果如下:最终GUI运行效果图如下:数字图像处理课程设计报告6首次运行后会自动生成zhankeUI.m和zhankeUI.fig两个文件,默认目录设在MATLAB安装目录下的work文件夹里,zhankeUI.m中存放的是GUI的相关编码,以及相关控件的回调函数,今后可以对其进行代码修改,添加,删除等操作,zhankeUI.fig是GUI的界面文件。今后主要是对zhankeUI.m文件里面代码的相关操作以实现相关功能!数字图像处理课程设计报告74图像处理演示系统各功能的实现4.1文件的打开与保存4.1.1文件的打开在主菜单“文件”的下拉菜单中,有个“打开”选项,在其回调函数中添加打开某个文件的相关代码:[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif','Openthefile')fname为将要打开文件的文件名,pname为将要打开文件的路径。Uigetfile函数中主要有两部分参数'*.bmp;*.jpeg;*.gif'是想要打开文件的格式,’Openthefile’是生成文件选择打开对话框的标题,此段代码运行效果如下:图4.1.1打开一幅图像从上图中选择需要进行操作的文件,将其打开以便后续操作…数字图像处理课程设计报告8图4.1.2打开一幅图像后在界面窗口显示在‘打开’回调函数中我希望同时对文件进行相关数据的读取,以便在今后的处理操作中可以方便的调用,读取完图像数据后在窗口中显示图像,相关代码如下:V=strcat(pname,fname);%将图像赋值给变量Vhandles.my_data1=Vguidata(hObject,handles)%更新句柄数据axes(handles.axes7)%添加一坐标轴用来指定显示图像的区域imshow(V)%显示选取的图像当执行以上代码时会有一种情况出现错误,那就是当我们进行“打开”文件操作时候,如上图Open,在这里当我们没有选择文件,而将窗口强行关闭或选择了程序无法识别的文件格式时,命令窗口会提示错误,所以加入如下代码进行处理:iffname5returnend对打开的文件名长度进行判断,确定有文件打开时会进行下面的操作,当没有文件时退出,整个回调函数如下:[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif','Openthefile')L=length(fname)iffname5returnendV=strcat(pname,fname);handles.my_data1=Vguidata(hObject,handles)axes(handles.axes7)imshow(V)数字图像处理课程设计报告94.1.2文件的保存[newfile,newpath]=uiputfile(‘*.bmp’,’Savefilename’)准备把当前文件*.bmp保存到当前目录下,文件保存对话框中列出当前目录下的所有文件,保存的文件名和路径名保存到newfile和newpath中。4.2图像的增强4.2.1图像的平滑滤波处理1)平滑滤波的作用:对图像的高频分量进行消弱或消除,增强图像的低频分量。平滑滤波一般用于消除图像中的随即噪声,从而起到图像平滑的作用2)平滑滤波原理:(1)邻域平均滤波法邻域平均滤波法是将一个像素点及其邻域中的所有像素点的平均值赋给输出图像中相应的像素点,从而达到平滑的目的,又称均值滤波法。最简单的邻域平均滤波法是所有模板系数都取相同的值.邻域平均滤波法的运算公式为:g(x,y)=1/N∑f(i.j)x,y=0,1,2,…,N-1j=∈M其中,M是以(x,y)为中心的邻域像素点的集合,N是该邻域内像素点的总个数,对每个像素点按该公式进行计算即可得到增强图像中所有像素点的灰度值。(2)中值滤波法尽管邻域平均滤波法可以起到平滑图像的作用,但在消除噪声的同时会使图像中的一些细节变得模糊。中值滤波法则在消除噪声的同时还能保持图像中的细节部分,防止图像的边缘部分模糊。与邻域平均法不同,中值滤波是将邻域内所有的像素点值按从小到大的顺序排列,取中间值作为中心像素点的输出值。其原理是利用一个奇数点的移动窗口,将窗口中心点的值用窗口各点的中间值代替,与均值滤波不同,它不是通过对邻域内的所有像素点求平均值来消除噪声的,而是让与周围像素点灰度值的差比较大的像素点改取近似于周围像素点灰度值的值。从而达到消除噪声的目的。3)实现方法:采用邻域平均法对图像进行处理,实现方法如下:fori=2:w-1forj=2:h-1I_1(i,j)=uint8((double(I(i-1,j-1))+double(I(i-1,j))+double(I(i-1,j+1))+double(I(i,j-1))+double(I(i,j))+double(I(i,j+1))+double(I(i+1,j-1))+double(I(i+1,j))+double(I(i+1,j+1)))/9);endend采用中值滤波法对图像进行处理,其实现方法如下:数字图像处理课程设计报告10fori=2:w-1forj=2:h-1form=1:3forn=1:3hhh((m-1)*3+n)=I(i+m-2,j+n-2);endendforp=1:9forq=p+1:9if(hhh(p)hhh(q))temp=hhh(p);hhh(p)=hhh(q);hhh(q)=temp;endendendI_2(i,j)=hhh(5);endend图4.2.1图像空域的平滑滤波处理结果数字图像处理课程设计报告114.2.2图像的锐化滤波处理1)锐化滤波的作用:图像的平滑处理会使图像的边缘纹理信息受到损失,图像变得比较模糊。
本文标题:数字图像处理课程设计报告
链接地址:https://www.777doc.com/doc-6960778 .html