




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学专业综合课程设计说明书1概述数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。数字图像处理研究的内容主要有:(1)图像获取和图像表现阶段主要是把模拟图像信号转化为计算机所能接受的数字形式,以及把数字图像用所需要的形式显示出来。(2)图像复原当造成图像退化的原因已知时,复原技术可用来进行图像的校正。复原技术是基于模型和数据的图像恢复,其目的是消除退化的影响,从而产生一个等价于理想成像系统所获得的图像。(3)图像增强当无法知道与图像退化有关的定量信息时,可以使用图像增强技术较为主观地改善图像的质量。(4)图像分析对图像中的不同对象进行分割、特征提取和表示,从而有利于计算机对图像进行分类、识别、理解或解释。(5)图像重建由图像的多个一维投影重建该图像,可看成是特殊的图像复原技术。(6)图像编码和压缩对图像进行编码的主要目的是为了压缩数据,便于存储和传输。当前的一些编码方法对图像分析和图像加密也有越来越多的应用。MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。2 MATLAB常用图像操作函数2.1图像的读写 (1) imreadimread函数用于读入各种图像文件,如:a=imread(e:w01.tif)注:计算机E盘上要有w01相应的.tif文件。(2) imwriteimwrite函数用于写入图像文件,如:imwrite(a,e:w02.tif,tif)(3) imfinfoimfinfo函数用于读取图像文件的有关信息,如:imfinfo(e:w01.tif)2.2图像的显示(1) imageimage函数是MATLAB提供的最原始的图像显示函数,如: a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a);(2) imshowimshow函数用于图像文件的显示,如: i=imread(e:w01.tif); imshow(i);(3) colorbarcolorbar函数用显示图像的颜色条,如: i=imread(e:w01.tif); imshow(i); colorbar;(4) figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);3理论知识3.1图像分割的定义图像分割是图像识别和图像理解的基本前提步骤。图像分割算法一般是基于灰度的两个性质之一:不连续性和相似性。第一个性质的应用是基于灰度的不连续变化来分割图像,比如图像的边缘。第二个性质的主要应用是根据事先制定的准则将图像分割为相似的区域,比如阈值分割和区域生长。图像分割是将数字图像划分成互不相交(不重叠)区域的过程,区域(region)是像素的联通集,是所有像素都有相邻或相邻或相接触像素的集合。联通(connectedness)是指在一个联通集中的任意两个像素之间,存在一条完全由这个集合的元素构成的连通路径。连通路径是一条可在相邻像素间移动的路径。因此,在一个连通集中,可以跟踪在任意两个像素间的连通路径而不离开这个集合。有两种可供选择的连通性准则,如果只依据相邻的像素(上、下、左、右)确定连通,就称为4连通(four-connect),物体也就被称为是4连通的。因此任意一个像素只有4个邻点可以与它相连通。如果再加上对角相邻的(45度邻点)像素也被认为是连通的,那么,就得到8连通。于是,任意像素有8个邻点可以与它相连通。这两种中的任意一种都可用,只要具有一致性即可。通常8连通的结果与人的感觉更接近。当人观察景物时,在视觉系统中对景物进行分割的过程是必不可少的。这个过程可以使人看到的并不是一个复杂的景物,而只不过是一种对象的集合体。但是,使用数字图像处理,必须设法分离图像中的对象,把图像分裂成像素集合,每个集合代表一个对象的图像。图像分割可以采用三种不同的原理来实现。在利用区域的方法时,把各像素划归到各个对象或区域中。在边缘方法中,则先确定边缘像素并把它们连接在一起以构成所需的边缘在边界方法中,只需确定存在于区域间的边界。这三种方法使要解决的问题更加具体。3.2阈值分割阈值分割是一种区域分割技术,它适用于物体与背景有较强对比的景物分割。它计算简单,而且总能用封闭而且连通的边界定义不交叠的区域。当使用阈值规则进行图像分割时,所有灰度值大于或等于某阈值的像素都被判属于物体。所有灰度值小于该阈值的像素被排除在物体之外。于是,边界就成为这样一些内部点的集合,这些点都至少有一个邻点不属于该物体。如果受关注的物体在其内部具有均匀一致的灰度值并分布在一个具有另一个灰度值的均匀背景上,使用阈值方法效果就很好。如果物体与背景的差别在于某些性质而不是灰度值(如纹理等),那么,可以首先把那个性质转换为灰度,然后,利用灰度阈值化技术分割待处理的图像。3.3最大类间方差法(OTSU)最大类间方差法又称为OTSU算法,该算法是在灰度直方图的基础上用最小二乘法原理推导出来的,具有统计意义上的最佳分割阈值。它的基本原理是以最佳阈值将图像的灰度直方图分割成两部分,使两部分之间的方差取最大值,即分离性最大。设X是一幅具有L级灰度级的图像,其中第i级像素为个,其中i的值在0L-1之间,图像的总像素点个数为: 第i级出现的概率为: 在OTSU算法中,以阈值k将所有的像素分为目标和背景两类。其中,类的像素灰度级为0k-1,类的像素灰度级为kL-1。图像的总平均灰度级为: 类像素所占的总面积的比例为: 类像素所占的总面积的比例为: 类像素的平均灰度级为: 类像素的平均灰度级为: 其中, 则类间方差公式为: 令k从0L-1变化,计算在不同k值下的类间方差,使得最大值时的那个k值就是所要求的最优阈值。3.4全局阈值采用阈值确定边界的最简单做法是在整个图像中将灰度阈值的值设置为常数,也就是全局阈值。如果背景的灰度值在整个图像中可合理地看做恒定,而且所有物体与背景都具有几乎相同的对比度,那么,只要选择了正确的阈值,使用一个恒定的全局阈值一般会有较好的效果。4实验程序根据题目要求,此程序根据OTSU原理,能完成求取阈值,并与用Matlab的库函数求得的阈值进行比较的功能。为了体现OTSU算法的优越性,更进一步用全局阈值法分割图片,来进行两种方法的对比。function main %主程序clear;close all; %清除变量,关闭所有窗口name path=uigetfile(*.jpg);%获取图片路径及文件名I=imread(path name);%读图I=rgb2gray(I);%彩色转黑白while 1 %循环执行disp(0 原图 1 OTSU 2 全局阈值);%提示信息 select=input(请选择:); %选择相应功能 switch select case 0 yuantu(I); %输入0 显示原图case 1 %输入1 OTSU法 fun1(I); case 2 %输入2 全局阈值法 fun2(I); otherwise %其他值不处理 endendfunction yuantu(I) %显示原图figureimshow(I);title(原图)function fun1(I) %阈值计算程序Ni=imhist(I);%计算直方图数组N=sum(Ni); %总像素点个数delamax=0; %类间方差最大值threshold=0; %阈值for k=2:255 u=dot(0:255,Ni/N); %图像的总平均灰度级 w0=sum(Ni(1:k)/N); %C0类像素所占面积的比例 w1=1-w0; %C1类像素所占面积的比例 if w0=0|w0=1 %当w0为1或0时提前结束本次循环 continue end u0=dot(0:k-1,Ni(1:k)/N)/w0; %C0类像素的平均灰度 u1=dot(k:255,Ni(k+1:256)/N)/w1; %C1类像素的平均灰度 dela(k)=w0*(u-u0)2+w1*(u-u1)2; %类间方差公式 %求出类间方差的最大值,最大时的那个值对应的k值存入delamax if dela(k)delamax delamax=dela(k); threshold=k-1; endendBW1=im2bw(I,threshold/255); %阈值分割figureimshow(BW1),title(自编程序运行结果)%显示图片disp(自编程序求的的阈值:)%显示提示信息disp(threshold) %显示结果%调用系统函数OTSU阈值分割level=graythresh(I);%调用系统函数计算阈值BW2=im2bw(I,level); %阈值分割figureimshow(BW2),title(调用库函数运行结果)level=round(level*255);disp(调用库函数求得的阈值:)disp(level)function fun2(I) %阈值分割程序 width height=size(I);%获取图片宽高th=input(请输入阈值:);for i=1:width for j=1:height if(I(i,j)th) %灰度小于阈值时则为黑色 BW1(i,j)=0; else % 灰度大于等于阈值时则为白色 BW1(i,j)=1; end endendfigureimshow(BW1),title(全局阈值)5程序运行结果及分析5.1程序运行结果根据提示输入相应的序号,按回车键后即可得到相应的运行结果,如下所示:图5.1命令窗口运行结果图5.2原图12 图5.3自编程序运行结果 图5.4调用库函数运行结果图5.5全局阈值5.2结果分析由图5.1结果显示可以看出自编程序和调用库函数的阈值都是124,得到同样的分割阈值,由图5.3和图5.4两幅处理后的结果图也可以看出,处理的效果基本相同,满足设计要求。当使用全局阈值法时,只要输入的阈值和OTSU算出的阈值一样,即输入124时,处理结果就完全一样。6心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数字图像处理已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次专业课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说傅里叶卷积的计算,MATLAB软件的应用技巧,对编程掌握得不好通过这次课程设计之后,一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 棋类的知识竞赛题及答案
- 2025至2030中国车用铝合金板材行业项目调研及市场前景预测评估报告
- 2025至2030中国铌透镜行业项目调研及市场前景预测评估报告
- 2025至2030中国D纤维二糖市场深度调查与发展前景趋势研究报告
- 2025至2030中国液位测量仪表行业发展分析及产业运行态势及投资规划深度研究报告
- 2025至2030中国车辆运动外观套件行业发展研究与产业战略规划分析评估报告
- 2025至2030中国船用冷却器行业发展研究与产业战略规划分析评估报告
- 异常行为检测安防系统创新创业项目商业计划书
- 无源光网络接入(PON)创新创业项目商业计划书
- 旅游会议行程方案范本
- 《中国近现代史纲要》课程教学大纲
- 康复专转本试题及答案
- 2025基于人工智能的智慧公路应用技术研究报告
- 【艾青诗选】22《雪落在中国的土地上》思维导图+批注
- 精神科护理学见习
- 版高空作业培训内容
- 《销售技巧实战培训》课件
- 2024年秋季学期新苏科版七年级上册数学课件 2.4 有理数的加法与减法-2.4.1 有理数的加法
- 《坚持的主题班会》课件
- T-HNSGJXH 0032-2024 涟源涟红 柑橘低效果园改造技术规程
- 妊娠期糖尿病的教学查房
评论
0/150
提交评论