毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc

上传人:椰子壳 文档编号:3284234 上传时间:2019-08-08 格式:DOC 页数:61 大小:1.63MB
返回 下载 相关 举报
毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc_第1页
第1页 / 共61页
毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc_第2页
第2页 / 共61页
毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc_第3页
第3页 / 共61页
毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc_第4页
第4页 / 共61页
毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于贪婪蛇形分割算法实现及应用.doc(61页珍藏版)》请在三一文库上搜索。

1、分类号分类号 编编 号号 华北水利水电学院华北水利水电学院 North China Institute of Water Conservancy and Hydroelectric Power 毕毕 业业 设设 计计 题目题目 基基于于贪贪婪婪蛇蛇形形分分割割算算法法实实现现及及应应用用 学学 院院 电电 力力 学学 院院 专专 业业 自自 动动 化化 姓姓 名名 学学 号号 指导教师指导教师 年 月 日 自动化专业毕业设计任务书自动化专业毕业设计任务书 一一、 设设计计题题目目:基基于于贪贪婪婪蛇蛇形形分分割割算算法法实实现现及及应应用用 二二、 设设计计要要求求 1.设计以 VC+实现传统

2、蛇形分割算法; 2.进行二维图像处理; 3.要求完全调试、并能够基于Opencv 对任何宽度的图像予以处理。 三三、 设设计计任任务务 1. Greed 蛇形分割算法设计; 2. 基于 VC+6.0 和 Opencv 的实现; 3. 运用上述对二维图形进行分割处理,使之收敛到图像的边缘。 四四、 设设计计完完成成提提交交技技术术资资料料 1.设计说明书,要求字数为 1000015000 字,论文格式参照 华北水利水电学 院关于本科毕业设计论文格式 要求; 2. 说明传统蛇形分割算法流程图; 3.实现基于 Opencv 和 VC+6.0 传统蛇形分割算法 ; 4.毕业设计论文内插图必须用电脑制作

3、。 五五、 时时间间分分配配 1.设计总时间为 16 周,其中毕业实习和资料采集四周,理论设计、分析计算及 仿真 6 周,实际参数调试 3 周,写说明书 2 周,毕业答辩一周。 六六、 设设计计参参考考书书及及论论文文 1. Snake 算法研究; 2. 计算机图像处理与机器视觉(第二版) ; 3. VC+图像处理; 4. C+语言设计; 5. VC+6.0 编程; 6. Opening Source computer Vision(Opencv); 7. 数据结构与算法实现。 1 华北水利水电学院本科生毕业设计(论文)开题报告 2010 年 3 月 15 日 学生姓名学号200607713专

4、业自动化 题目名称基于贪婪蛇形分割算法实现及应用 课题来源科研 指导老师徐俊红 主 要 内 容 1. 以 VC+实现传统蛇形分割算法设计 2. 传统蛇形分割算法流程图的设计 3. Greed 蛇形分割算法设计 4. Greed 蛇形分割算法程序流程图的设计 5.基于 VC+6.0 和 Opencv 的实现, 对任何宽度的图像予以处理的设计 6.对二维图形进行分割处理,使之收敛到图像的边缘的设计 采取的主 要技术路 线或方法 蛇形算法的基本原理能量最小化,即弯曲能量、连续性能量、图像能量 最小;能量方程: , 0 ( )()()() min iconti jcurvi jimgi j j win

5、size E VEVEVEV 其中: () ,1 , ,1 0 | () | max i ji conti j i ji j winsize dVV EV dVV 1 1 0 1 | N ii i dVV N 2 1,1 , 2 1,1 0 |2| () |2| max ii ji curvi j ii ji j winsize VVV EV VVV , , min() () maxmin i j imgi j GrayI V EV GrayGray 最终结合程序基于 VC+6.0 和 Opencv,实现图形的分割处理,并 使之收敛到边缘; 预期的成 果及形式 1毕业设计书一份; 毕业设计书的

6、组成: A、封面; B、毕业设计任务书; C、毕业设计开题报告; D、中文摘要; E、英文摘要; F、目录; G、正文; H、参考文献; I、附录; 2 2传统蛇形算法流程图; 3Greed 蛇形分割算法程序流程图 ; 4对二值图像的处理结果图 ; 时间安排 本次设计的时间共16周,各部分设计内容的时间安排大致如下: 14周 毕业实习和资料采集; 56周 温习所用到的相关知识及学习所用到的新知识,如C+,Opencv; 78周 学习贪婪算法过程,蛇形算法原理等基础知识; 910周 理论设计、分析计算,完成程序设计的主干内容; 1112周 编译程序并调试以及仿真; 1315周 完成毕业设计书,排

7、版及修改; 16 周 毕业答辩 。 指导教师 意见 签 名: 年 月 日 备注 华北水利水电学院毕业设计说明书 I 摘要 在过去的近二十年里,图像分割作为计算机视觉等领域的重要研究方向,吸引了越 来越多研究者的注意。物体轮廓的提取在各个方面所起的作用也越来越重要,因此对于 这方面的研究方法也越来越多。本文主要工作有: (l)对贪婪算法的 snake 模型进行深入研究,通过增加新的控制能量,改变控制能量 系数的符号,来改变 snake 曲线的运动方向,同时通过动态蛇点分配以及权值参数的调 整,在因物体遮挡而造成阴影使得初始轮廓无法理想获取的情况下,也能准确的收敛。 (2)通过对 Kass 等提出

8、的 Snake 算法的模型、Williimas 和 Shall 的 Snake 模型 (即 贪婪算法的 Snake 模型)以及 GVF Snake 模型进行对比,分析研究了各个模型之间的优缺 点后,选定贪婪算法的 snake 模型,通过广义霍夫变换即 Ghough 变换,使用多个模板, 根据设定的参数,先将目标模板形状进行仿射变换,然后对变换的每个模板形状进行 Ghough 变换,再从中找出最匹配的作为检测的结果,来获取 Snake 初始轮廓。解决了 Snake 模型初始轮廓手工定位这一难点,使 Snake 在实际应用中更方便,更加自动化。并 且通过高斯金字塔对视频图片进行预处理,使其能获得更

9、平滑的 Snake 收敛结果。 关键词:贪婪算法,图像分割,轮廓模型 华北水利水电学院毕业设计说明书 II Abstract In Past almost twenty years,image segmentation,as an important research field in computer vision, attracts the attention of more and more researchers. Because it plays more and more important roles in many fields,many methods about it co

10、me out. In this paper, major ones are as follow: By in-depth study of Greed Snake algorithm. A result of not obtaining an ideal contour by the shadow of building block, the Snake curve still shows accurate Convergence by changing the direction of adding new parameters to control energy and changing

11、in control of the energy coefficient of symbols, adjusting the weight parameters and distribute dynamic Snake point. By comparing advantages and disadvantages among Snake algorithm by Kass, Greedy Snake algorithm by Williimas and Shah and GVF Snake algorithm, I choose the Greedy Snake model as a tem

12、plate, After using the Ghough transform an the template which has been finished an affine transformation, it will choose the best match template as the initial contour of Snake model by which has a problem of manual positioning. It also makes the Snake algorithm more convenient and automatic in prac

13、tical application. It obtains a more smoothing curve by taking the Gaussian Pyramid methods in retreating the video image. Keywords: Greedy Snake algorithms; Image Segmentation; Snake Mode; 华北水利水电学院毕业设计说明书 目目 录录 摘要摘要 I ABSTRACTABSTRACT II 目目 录录 1 第一章第一章 绪论绪论 1 1.1 图像分割的目的和意义 1 1.2 本文的研究思路 1 1.3 本文研究

14、内容 2 第二章第二章 图像分割图像分割 3 2.1 图像分割的定义 3 2.2 图像分割的特征 4 2.3 图像分割的方法和技术 4 2.3.1 基于边缘检测的图像分割方法4 2.3.2 基于灰度特征的阈值分割方法5 2.3.3 基于区域的分割方法5 2.3.4 基于聚类的分割技术6 2.3.5 基于人工神经网络的分割方法6 2.3.6 基于遗传算法的分割方法7 2.3.7 图像分割中的其他方法7 2.4 图像分割性能的评价 8 第三章第三章 VC+VC+及及 OPENCVOPENCV 介绍介绍 10 3.1 VC+介绍 .10 3.1.1 C+语言的概述10 3.1.2 VC+介绍.11

15、3.2 OPENCV 介绍 .12 3.2.1 OpenCV 的简介 12 3.2.2 OpenCV 的功能介绍 14 华北水利水电学院毕业设计说明书 第四章第四章 SNAKESSNAKES 模模型型 16 4.1 基本 SNAKES 模型.16 4.2 模型力的改进 .17 4.3 算法改进 .19 4.4 贪婪算法 20 4.4.1 算法介绍.20 4.4.2 算法过程.20 4.4.3 算法结果.21 第五章第五章 GREEDGREED 蛇形分割算法设计蛇形分割算法设计22 5.1 整体设计 .22 5.2 载入图像 .22 5.3 灰度化处理 .24 5.4 蛇点间距离 .24 5.5

16、 蛇点能量 .26 5.5.1 Greed 蛇形分割算法的实现流程 .26 5.6 图像分割的实现28 第六章第六章 总结与展望总结与展望 34 参考文献参考文献 35 致谢致谢 36 附录一附录一 37 OPENCV的一些函数定义程序 37 附录二附录二 44 图像分割处理前后图片对比44 附录三附录三 46 外文翻译46 华北水利水电学院毕业设计说明书 第 1 页 共 52 页 第一章 绪论 1.1 图像分割的目的和意义 图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部 分,也是图像处理、模式识别和人工智能等多个领域中一个十分重要且又十分困难的 问题。所谓图像分割就是

17、要将图像表示为物理上有意义的连通区域的集合,也就是根 据目标与背景的先验知识,对图像中的目标、背景进行标记、定位,然后将目标从背 景或其他伪目标中分离出来。由于这些被分割的区域在某些特性上相近,因而图像分 割常用于模式识别与图像理解以及图像压缩与编码两大类不同的应用目的门。由分割 产生的区域是图像内容的一种表示,它是对图像进行视觉分析和模式识别的基本前提, 分割结果的质量直接影响到以后的图像分析、识别和解释的质量,具有重要的意义。 图像分割的目的在于根据某些特征 (如灰度级、频谱、纹理等 )将一幅图像分成若干 有意义的区域,使得这些特征在某一区域内表现一致或相似,而在不同区域间表现出 明显的不

18、同。 图像分割的应用非常广泛,几乎出现在有关图像处理的所有领域,如:工业自动 化、在线产品检验、生产过程控制、文档图像处理、图像编码、遥感和生物医学图像 分析、保安监视,以及军事、体育、农业工程等方面。在各种图像应用中,只要需对 图像目标进行提取、测量等都离不开图像分割。虽然人们对图像分割已进行了大量的 研究,但还没有一种适合于所有图像的通用的分割算法。所以,图像分割一直以来都 是图像技术中的研究热点。因此,从原理、应用和应用效果等方面来深入研究图像分 割技术,对于提高图像分析和图像理解系统的性能以及提高图像处理技术的应用水平 都具有十分重要的意义。 1.2 本文的研究思路 图像分割是图像处理

19、、模式识别和人工智能等多个领域中一个十分重要且又十分 困难的问题,是计算机视觉技术中首要的、重要的关键步骤。图像分割技术的应用十 分广泛,加之目前还没有适合于所有图像的分割算法。因此,从原理、应用和应用效 果等方面来深入研究图像分割技术,具有十分重要的意义。 边缘检测方法是传统的图像分割方法中的经典方法,在各种图像的分割中有着广 华北水利水电学院毕业设计说明书 第 2 页 共 52 页 泛的应用。边缘检测是图像处理、计算机视觉中的重要内容之一,是实现图像分割、 特征提取和图像理解的基础。图像的边缘是图像最基本的特征,一幅图像主要信息是 由它的轮廓边缘提供的。国内外对边缘检测算子的研究较多,做了

20、很多有意义的工作, 取得了很多成绩。本文的图像分割技术是基于贪婪蛇形算法的原理,Greed Snake 算法和其他算法比较起来, 实现简单,速度快,容易加入新约束,最终结点分布比较均 匀,但是无法达到最优解,只能实现局部最优。 1.3 本文研究内容 根据以上研究思路,该论文其余部分的内容如下 : 第二章阐述了图像分割的定义、特征、方法及其技术的相关知识,通过对几种 图像分割技术的对比 ,得出贪婪蛇形分割算法的优点 ; 第三章简单介绍 VC+和 Opencv 在处理图像中的应用; 第四章介绍了常见的一些 Snake 模型并给出了 Greed Snake 模型的算法原理 ; 第五章介绍 Greed

21、 蛇形分割算法及其实现 ; 第六章总结与展望; 最后是完成论文所查阅的参考文献 、附录及致谢 。 华北水利水电学院毕业设计说明书 第 3 页 共 52 页 第二章 图像分割 从上世纪 70 年代起,许多研究人员为图像分割问题付出了巨大的努力。现代图像处 理技术已成功地应用于许多领域。例如,机动车号牌识别,交通路口(段)的电子警察, 文字识别(OCR),指纹识别,人脸辨识等等。图像分割是图像识别和图像理解的基本前提, 图像分割质量的好坏直接影响后续图像处理的效果,因此图像分割的作用是至关重要的。 2.1 图像分割的定义 图像分割研究领域和其他领域的发展过程类似,人们对图像分割提出了不同的解释 和

22、理解。在不同的阶段,研究者们根据研究的水平和实际的要求提出了很多图像分割的 定义,目前广为人接受的是通过集合定义的图像分割。 令集合 R 代表整个图像区域,对 R 的图像分割可以看作是将 R 分成 N 个满足条件的 非空子集,。 1 R 2 R 3 R N R ;RR N 1i i 对 i=1,2,3,N,=TRUE ; i RP ; ji RR ji ji,有对, ;FLASE ji RRP ji ji,对 对 i=1,2,3,N,是连通的区域 ; i R P()=TRUE 指出在分割结果中每个区域的像素有着相同的特性。 i R 表示在分割的结果中,不同的子区域具有不同的特性,它们没有公共F

23、LASE ji RRP 的特性。表示分割的所有子区域的并集就是原来的图像,这一点非常重要,它RR N 1i i 保证图像中每个像素都要被处理的充分条件。 华北水利水电学院毕业设计说明书 第 4 页 共 52 页 2.2 图像分割的特征 图像分割是指将一幅图像分解为若干互不交叠的有意义具有相同性质的区域。好的 图像分割应具备的特征: 1分割出来的各区域对某种性质例如灰度。纹理而言具有相似性,区域内部是平整 的且没有许多小孔; 2相邻区域对分割所依据的性质有明显的差异; 3区域边界是明确和规整的; 4条件之间寻找一种合理的折中。 大多数图像分割方法只是部分满足上述特征。如果加强分割区域的同性质约束

24、,则 分割区域很容易产生大量小孔和不规整边缘;若强调不同区域间性质差异的显著性,则 易造成不同质区域的合并。具体处理时,不同的图像分割方法总是存在各种约束。 2.3 图像分割的方法和技术 图像分割的方法主要有两大类:边界方法。假设是图像分割结果的某个子区域在 原来图像中一定会有边缘存在。区域方法。假设是图像分割结果的某个子区域一定会 有相同的性质,而不同区域的像素则没有共同的性质。 2.3.1 基于边缘检测的图像分割方法 基于边缘检测的图像分割方法是一种经典的分割方法,这种分割方法的依据是相当 直观的。图像的边缘对人的视觉具有重要意义,一般而言,当人看一个有边缘存在的物 体时,首先感觉到的便是

25、边缘。灰度或结构等信息的突变处称为边缘,它是一个区域的 结束,也是另一个区域的开始。利用该特征可以分割图像。需要指出的是,边缘并不等 同于实际目标的边界,由于图像数据是二维的,而实际物体是三维的,从三维到二维的 投影必然会造成信息的丢失。再加上成像过程中的光照不均和噪声等因素的影响,使得 有边界的地方不一定能检测出边缘,检测出有边缘的地方也不一定代表实际边界。基于 边缘检测的图像分割方法虽然简单,理论和方法仍存在有待解决的地方。 基于边缘检测的图像分割方法可分成两大类,即串行边缘分割技术和并行边缘分割 技术。串行边缘分割方法,首先要确定边缘的起始点,然后根据某种相似性搜索准则寻 华北水利水电学

26、院毕业设计说明书 第 5 页 共 52 页 找下一个边缘点,这种确定后续相似点的方法称为边缘跟踪。根据跟踪方法不同又可分 为轮廓跟踪、光棚跟踪和全向跟踪三种方法。并行边缘检测方法,对图像上每一点的处 理不依赖其他点的处理结果,算法可以并行处理,大大加快搜索检测的速度。 当分割的图像含有强噪声干扰或者区域之间的性质差别很小时,分割出来的边缘可 能是不连续的,此时可考虑用边缘连接技术把断开处连接起来。 2.3.2 基于灰度特征的阈值分割方法 基于灰度阈值的分割方法和基于边缘检测的分割方法一样也是一种经典分割方法。 它通过设置阈值把像素点按灰度级分若干类,从而实现图像分割。这类方法主要包括以 下几种

27、: (1)单阈值法,用一个全局阈值区分背景和目标。当一幅图像的直方图具有明显的双 峰时,选择两峰之间的谷底作为阈值,可获得良好的分割效果。大多数自然景象的图像 直方图变化多样,很少表现为明显的双峰。此时用单阈值法,效果不佳。 (2)双阈值法,用两个阈值区分背景和目标。双阈值法是对单阈值法的改进,通过设 置两个阈值,以防单阈值设置阈值过高或过低,把目标像素误归为背景像素,或把背景 像素误归为目标像素。 (3)多阈值法,当存在照明不均,突发噪声等因素或背景灰度变化较大时,整幅图像 不存在合适的单一阈值,单一阈值不能兼顾图像不同区域的具体情况,这时可将图像分 块处理,对每一块设一个阈值。因此,多阈值

28、法又称为动态阈值法和自适应阈值法。这 种算法的时间和空间复杂度比较大,但抗干扰能力较强,对采用全局阈值不容易分割的 图像有较好的效果。基于灰度阈值分割方法的关键是如何合理地选择阈值。最常用方法 是利用灰度直方图求双峰或多峰,选择两峰之间的谷底作为阈值。基于灰度的阀值分割 方法具有计算简单、实现容易的特点,对目标和背景对比度反差较大图像进行分割比较 有效。阈值分割方法的阈值确定主要依赖于灰度直方图,而很少考虑图像中像素的空间 位置关系。因此当背景复杂,特别在同一背景上重叠出现若干个研究目标时,容易丧失 部分边界信息,造成分割的不完整。在含有强噪声干扰时,阈值分割方法也不能取得令 人满意的分割结果

29、。 华北水利水电学院毕业设计说明书 第 6 页 共 52 页 2.3.3 基于区域的分割方法 基于阀值分割方法利用的是图像象素点的性质,而基于区域的分割方法利用的是图 像的空间性质。该方法认为分割出来的某一区域具有相似的性质,可见其概念是相当直 观的。传统的区域分割算法有区域增长法和区域分裂合并法。该类方法对含有复杂场景 或自然景物等先验知识不足的图像进行分割,效果较好。区域增长法开始时确定一个或 多个象素点作为种子,然后按某种相似性准则增长区域,直到图像被分割成一个或多个 区域。区域的分裂合并法是按某种一致性准则合并或分裂区域的,当相邻的区域性质相 似时合并成一个大区域,当一个区域不满足一致

30、性准则时被分裂成几个小的区域。具体 实现时,分裂与合并分割算法通常是基于四叉树数据表示方式进行的。 基于随机场模型的分割方法,是一种用随机场描述被分割图像象素之间的空间关系 的分割方法。图像中的各个点不是相互独立的,相邻的点会相互影响,因而图像分割时 可以将这种上下文限制作为先验知识,而这一类知识可以用马尔可夫随机场进行描述。 由于马尔可夫随机场与一个吉布斯随机场相对应,因此若定义了吉布斯随机场的能量函 数,那么相应的马尔可夫随机场也就确定了。这样,根据贝叶斯判断规则,采用最大后 验概率估计器,就可将图像分割问题转化为求解图像的最大后验概率估计问题。虽然利 用马尔可夫随机场模型结合贝叶斯方法,

31、可将图像分割问题归结为求解标记场的最大后 验概率估计问题,但是,求解后验概率属于组合优化问题,直接求解困难很大。此时可 考虑结合模拟退火方法,遗传算法等搜索优化方法以加快搜索速度并避免收敛到局部最 优。 2.3.4 基于聚类的分割技术 图像分割的结果是将图像分成若干个不相交的区域,而聚类技术可以将对象分成若 干类,因此将聚类技术用于图像分割是很自然的想法。聚类分割算法一般在开始时需要 给出两个初始的聚类中心,也有不用参数的聚类分割算法,C-均值聚类法, ISoDATA聚 类法和模糊C均值(FCM)聚类法均可用于图像分割,哪种方法好对不同的图像而言,没有 统一的标准。聚类方法应注意几个问题,一是

32、聚类的类数如何确定,二是怎样确定聚类 的有效性准则,三是聚类中心的位置和特性事先不清楚时,如何设置初始值,四是运算 的开销。 华北水利水电学院毕业设计说明书 第 7 页 共 52 页 2.3.5 基于人工神经网络的分割方法 近年来,用人工神经网络(ANN)图像分割的研究受到愈来愈多的重视,人工神经网络 本身具有的分类属性是它可用于边缘检测,区域分割的依据理论上讲,大部分分割方 法都可用ANN实现。基于人工神经网络的分割方法的难点在于选用何种网络以及网络确定 后如何确定网络结构及构造合适的能量函数。 2.3.6 基于遗传算法的分割方法 遗传算法(GA),是一种模拟自然选择和遗传机制的搜索和优化过

33、程。它具有很强的全 局优化搜索能力,是一种具有广泛适用性的自适应搜索方法。它在搜索空间中是在种群 中而不是在单点上进行寻优,它在求解过程中使用遗传操作规则而不是确定性规则来工 作。这些特点使得遗传算法很适于应用在图像分割中,尤其是阈值分割法以及区域生长 法中。利用GA的全局寻优能力及对初始位置的不敏感特性,可以改进图像分割的性能。 遗传算法应用于图像分割,其难点在于适应度函数的选择以及交叉概率和变异概率的确 定。GA还有可能收敛于局部最优。可考虑使用能够自适应设置交叉概率和变异概率自适 应遗传算法以及和模拟退火法相结合的混合遗传算法。 2.3.7 图像分割中的其他方法 前面介绍了六大类图像分割

34、较常用的方法,有关图像分割方法和文献很多,新方法 不断产生,这些方法有的只对特定的情形有效,有的综合了几种方法,放在一起统称为 第七类。 (1)标号法(1abeling)是一种基于统计学的方法,这种方法将图像欲分割成的几个区 域各以一个不同的标号来表示,用一定的方式对图像中的每一个像素赋以标号,标号相 同的像素就合并成该标号所代表的区域,MWHansen等人给出了一种以人机交互式分 割为基础的松弛标号算法。 (2)基于Snake模型的分割方法,基于Snake模型的分割是通过对能量函数的动态优 化来逼近图像目标的真实轮廓的,其能量函数由三部分组成:代表与轮廓的平滑性、连 续性等形状特征有关的约束

35、,称为内部轮廓能量;代表轮廓点与图像局部特征吻合程度 的约束,称为图像能量;代表各种预先人为设定的约束,称为外部能。 华北水利水电学院毕业设计说明书 第 8 页 共 52 页 (3)纹理分割,长期以来人们就意识到纹理是图像分割中的重要特征,然而,由于缺 乏有效和可靠的检测纹理方法,妨碍了纹理分割的发展。近年来,由于新的数学工具的 引入,纹理分割技术取得了一些进展,张蓬等人将小波分析应用于纹理基元提取,杨波 等人将分形理论应用于自然景物纹理特征的构造。 (4)基于知识的图像分割方法,即使对图像中的某些物体并不熟悉,人也可以毫不费 力地感知和解释一幅图像,这是因为人利用了已有的先验知识或模型来解释

36、所看见的东 西。常规的图像分割方法直接对图像数据进行处理,虽然也可使用有关先验知识,但不 依赖于知识,基于知识的图像分割方法直接建立在先验知识的基础上,使分割更符合实 际图像的特点。郑南宁等提出了一种基于知识的图像分割方法,该法充分利用领域知识, 把分割与解释有效地结合在一起。该方法的难度在于知识的正确合理的表示与利用。 图像分割主要有四种技术:并行边界分割技术、串行边界分割技术、并行区域分割 技术、串行区域分割技术。图示(21)。 图像分割 灰度相似性不连续性检测 边界分割 孤立点 孤立线 组成边界 边界跟踪 区域分割 阈值分割 区域分割 区域合并 自适应 并行边界 分割技术 串行边界 分割

37、技术 并行区域 分割技术 串行区域 分割技术 图21 图像分割技术框图 华北水利水电学院毕业设计说明书 第 9 页 共 52 页 2.4 图像分割性能的评价 图像分割中另一个重要的问题是对分割算法的比较和评价。图像分割评价主要有两 个方面的内容:一是研究各个分割算法在不同情况下的表现,掌握如何选择和控制其参 数设置,以适应不同需要。二是分析多个分割算法在分割同一图像时的性能,比较优劣, 以便在实际应用中选取合适的算法。分割评价方法分为分析法和实验法两大类。分析法 是直接分析分割算法本身的原理及性能,而实验法是通过对测试图像的分割结果来评价 算法的。两种方法各有优劣,由于缺乏可靠的理论依据,并非

38、所有的分割算法都能够通 过分析法分析其性能。实验法大致又可以分为优度法和偏差法两类。优度法在没有正确 分割的先验知识的情况下,根据分割图像计算某种优度量值来评价分割算法的好坏,因 此以什么作为优度量值是困难所在,目前常用的有区域一致性、区域形状、区域对比度 等。偏差法往往需要首先提供一个理想分割图像作为比较标准,依此来计算实际分割结 果与理想分割图像的差别,这种差别可以是基于错误分割的象素数,错误分割象素点的 位置,分割结果区域数的差别,等等。 华北水利水电学院毕业设计说明书 第 10 页 共 52 页 第三章 VC+及 OpenCV 介绍 3.1 VC+介绍 3.1.1 C+语言的概述 C+

39、语言是一种优秀的面向对象程序设计语言,它在C 语言的基础上发展而来, 但它比 C 语言更容易为人们学习和掌握。 C+以其独特的语言机制在计算机科学的各 个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础 上的一个质的飞跃, C+完美地体现了面向对象的各种特性。 C+程序设计语言是由来自 AT另一方面,它在分割目标边缘的过程中寻找能量泛函的局 部极小点,而非全局极小点。当 snake 的能量最小化后,内部和外部能量趋于平衡,系 统 snake 能量达到一个稳定的状态。 5.1 整体设计 在对程序进行设计之前首先要对设计任务有一个清晰的认识,对程序的整体框架有 一个蓝图,才

40、便于我们在对后续各个程序进行分块设计的时候有一个总体的把握和方向, 对设计所要达到的设计指标有更深刻的理解。 程序流程图如图(51) 。 可以看出在整个程序中有载入图像部分、灰度处理部分、能量计算部分、图像分割 部分。这四部分的设计是整个程序设计的关键。载入图像和灰度处理是算法设计的前提, 能量计算是算法程序设计的关键部分。图像分割主要借助 VC+和 Opencv 来实现。概括来 华北水利水电学院毕业设计说明书 第 23 页 共 52 页 说就是利用 Greed 蛇形分割算法原理,基于 VC+和 Opencv 实现对任何图像的分割处理, 使之收敛到图像的边缘。 5.2 载入图像 载入图像即读取

41、图像,这是对图像处理的准备。说到读取图像,就应该清楚关于所 载入图像的一系列特征,例如是彩色图,灰度图还是二值图。 函数: cvLoadImage 功能:从指定文件读入图像,返回读入图像的指针 程序语句如下: IplImage*cvLoadImage(const char* filename, int flags=CV_LOAD_IMAGE_COLOR ); 其中: Filename 是要被读入的文件的文件名。 flags 指定读入图像的颜色和深度: 指定的颜色可以将输入的图片转为 3 信道(CV_LOAD_IMAGE_COLOR), 单信道 华北水利水电学院毕业设计说明书 第 24 页 共

42、52 页 开 始 结 束 载 入 图 像 灰 度 处 理 计算蛇点间的平均距离 d 计算连续性能量 Econt 计算弯曲性能量 Ecurv 计算图像能量 Eimg 找出各能量相应的权值 计算蛇点的能量 图 像 分 割 图 51 程序流程框图 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。 深度指定输入的图像是否转为每个颜色信道每象素 8 位, (OpenCV 的早期版本一样) , 或者同输入的图像一样保持不变。 选中 CV_LOAD_IMAGE_ANYDEPTH,则输入图像格式可以为 8 位无符号,16 位无符号, 32 位

43、有符号或者 32 位浮点型。 如果输入有冲突的标志,将采用较小的数字值。比如 CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 将载入 3 信道图。CV_LOAD_IMAGE_ANYCOLOR 和 华北水利水电学院毕业设计说明书 第 25 页 共 52 页 CV_LOAD_IMAGE_UNCHANGED 是等值的。但是,CV_LOAD_IMAGE_ANYCOLOR 有着可以和 CV_LOAD_IMAGE_ANYDEPTH 同时使用的优点,所以 CV_LOAD_IMAGE_UNCHANGED 不再使用了。 如果想要载入最真实的图像,选择 CV_LOAD_I

44、MAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。 5.3 灰度化处理 灰度图像是由图像的亮度函数来描述的,其边缘可以定义为图像亮度函数不连续的 点的集合,描述了灰度函数的局部突变。既然灰度图像的边缘检测就是要保留图像灰度 值变化剧烈的区域,从数学上,最直观的方法就是微分(对于数字图像来说就是差分), 从信号处理的角度看,可以说是用高通滤波器保留高频信号。用于图像识别的边缘检测 方法输出的一般是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另 一个代表背景。所以灰度处理是边缘检测的关键步骤。 函数:iplColorToGray 功能:把图像转化为灰度图

45、程序语句如下: IplImage* CurMap=cvCreateImage(cvGetSize(imageA), IPL_DEPTH_8U,1); iplColorToGray(imageA,GrayImage); cvCvtColor(imageA, GrayImage,CV_BGR2GRAY); 5.4 蛇点间距离 设蛇点间的平均距离为,则 d (5 1 1 0 1 | N ii i dVV N 2) 下面程序中定义为 invn。 程序设计如下: for( i = 1; i point1.x;i=point2.x-int(mm*(point2.x- point1.x)/Num1) poi

46、ntsj.x=i; pointsj.y=point2.y; j+; mm+; mm=0; for( i=point2.y;ipoint1.y;i=point2.y-int(mm*(point2.y- point1.y)/Num2) pointsj.x=point1.x; pointsj.y=i; j+; mm+; cvSnakeImage(CurMap,points,250, cvZero(dst); for(int i=0;i /添加的 Opcv 函数 #include #include #include “cv.h“ / include core library interface #in

47、clude “highgui.h“ / include GUI library interface using namespace std; / 常数 华北水利水电学院毕业设计说明书 第 39 页 共 52 页 #define PI 3.1415926535 #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif / / CLRMoveView IMPLEMENT_DYNCREATE(CLRMoveView, CView) BEGIN_MESSAGE_MAP(CLRMoveView, CView) /AFX_MSG_MAP(CLRMoveView) ON_COMMAND(ID_LEFT_MOVE, OnLeftMove) ON_COMMAND(ID_FILE_FOURIOR_TRANSFORM, OnFileFo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1