数字图像处理课程设计报告.docx
- 文档编号:1139967
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:24
- 大小:799.18KB
数字图像处理课程设计报告.docx
《数字图像处理课程设计报告.docx》由会员分享,可在线阅读,更多相关《数字图像处理课程设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
数字图像处理课程设计报告
本科综合课程设计报告
数字图像处理演示系统
题目____________________________
指导教师__________________________
辅导教师__________________________
学生姓名__________________________
学生学号__________________________
_______________________________院(部)____________________________专业________________班
___2008___年_12__月_30__日
1主要内容
1.1数字图像处理背景及应用
数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。
因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。
本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。
1.2图像处理演示系统设计要求
能加载和显示原始图像,显示和输出处理后的图像;
系统要便于维护和具备可扩展性;
界面友好便于操作;
1.3图像处理演示系统设计任务
数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。
1.3.1几何变换
几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。
通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。
简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。
实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。
几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。
从变换性质来分可以分为图像的位置变换、形状变换等
1.3.2图像增强
图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。
一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。
2设计思想:
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系统结构框图
3图形用户界面设计
GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。
MATLAB提供了一个专门的GUI设计工具——图形用户界面开发环境(GUIDE),使用该工具,可以快速完成GUI设计任务。
利用MATLAB提供的有关数据,还可以创建工具栏控件和多种对话框。
3.1启动GUIDE
在命令窗口中键入guide,启动GUIDE,显示如下图所示的“GUIDEQuickStart”对话框。
打开“GUIDEQuickStart”对话框,利用GUIDE模板创建新的GUI,选择一个模板后,单机OK按钮,在输出编辑器中打开GUI。
如下:
3.2输出编辑器
在GUIDE中打开GUI以后,它显示在输出编辑器中。
输出编辑器是所有GUIDE工具的控制面板。
可以通过拖拉控件来设计GUI,这些控件位于输出编辑器左侧的工具箱中,有按钮、弹出式菜单和坐标系等多种。
也可以用输出编辑器设置GUI控件的基本属性。
3.3GUIDE模板
“GUIDEQuickStart”对话框提供了几种基本类型的GUI模板。
使用模板的好处是可以通过改模板来快速创建GUI。
选择一种模板以后,它的预览效果显示在右面的面板中。
3.4菜单编辑器
利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。
在GUIDE中单机工具栏上的
按钮,或者选择“Tools”菜单中的“MenuEditor…”选项,打开菜单编辑器的界面,如下图所示:
上图中左上角第一个按钮用于创建下拉式菜单。
用户可以通过单击它来创建下拉式主菜单。
第二个按钮用于创建下拉式主菜单的子菜单
运行后效果如下:
最终GUI运行效果图如下:
首次运行后会自动生成zhankeUI.m和zhankeUI.fig两个文件,默认目录设在MATLAB安装目录下的work文件夹里,zhankeUI.m中存放的是GUI的相关编码,以及相关控件的回调函数,今后可以对其进行代码修改,添加,删除等操作,zhankeUI.fig是GUI的界面文件。
今后主要是对zhankeUI.m文件里面代码的相关操作以实现相关功能!
4图像处理演示系统各功能的实现
4.1文件的打开与保存
4.1.1文件的打开
在主菜单“文件”的下拉菜单中,有个“打开”选项,在其回调函数中添加打开某个文件的相关代码:
[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif','Openthefile')
fname为将要打开文件的文件名,pname为将要打开文件的路径。
Uigetfile函数中主要有两部分参数'*.bmp;*.jpeg;*.gif'是想要打开文件的格式,’Openthefile’是生成文件选择打开对话框的标题,此段代码运行效果如下:
图4.1.1打开一幅图像
从上图中选择需要进行操作的文件,将其打开以便后续操作…
图4.1.2打开一幅图像后在界面窗口显示
在‘打开’回调函数中我希望同时对文件进行相关数据的读取,以便在今后的处理操作中可以方便的调用,读取完图像数据后在窗口中显示图像,相关代码如下:
V=strcat(pname,fname);%将图像赋值给变量V
handles.my_data1=V
guidata(hObject,handles)%更新句柄数据
axes(handles.axes7)%添加一坐标轴用来指定显示图像的区域
imshow(V)%显示选取的图像
当执行以上代码时会有一种情况出现错误,那就是当我们进行“打开”文件操作时候,如上图Open,在这里当我们没有选择文件,而将窗口强行关闭或选择了程序无法识别的文件格式时,命令窗口会提示错误,所以加入如下代码进行处理:
iffname<5
return
end
对打开的文件名长度进行判断,确定有文件打开时会进行下面的操作,当没有文件时退出,整个回调函数如下:
[fname,pname]=uigetfile('*.bmp;*.jpeg;*.gif','Openthefile')
L=length(fname)
iffname<5
return
end
V=strcat(pname,fname);
handles.my_data1=V
guidata(hObject,handles)
axes(handles.axes7)
imshow(V)
4.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-1
j=∈M
其中,M是以(x,y)为中心的邻域像素点的集合,N是该邻域内像素点的总个数,对每个像素点按该公式进行计算即可得到增强图像中所有像素点的灰度值。
(2)中值滤波法
尽管邻域平均滤波法可以起到平滑图像的作用,但在消除噪声的同时会使图像中的一些细节变得模糊。
中值滤波法则在消除噪声的同时还能保持图像中的细节部分,防止图像的边缘部分模糊。
与邻域平均法不同,中值滤波是将邻域内所有的像素点值按从小到大的顺序排列,取中间值作为中心像素点的输出值。
其原理是利用一个奇数点的移动窗口,将窗口中心点的值用窗口各点的中间值代替,与均值滤波不同,它不是通过对邻域内的所有像素点求平均值来消除噪声的,而是让与周围像素点灰度值的差比较大的像素点改取近似于周围像素点灰度值的值。
从而达到消除噪声的目的。
3)实现方法:
采用邻域平均法对图像进行处理,实现方法如下:
fori=2:
w-1
forj=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);
end
end
采用中值滤波法对图像进行处理,其实现方法如下:
fori=2:
w-1
forj=2:
h-1
form=1:
3
forn=1:
3
hhh((m-1)*3+n)=I(i+m-2,j+n-2);
end
end
forp=1:
9
forq=p+1:
9
if(h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 课程设计 报告