基于图像分割的图像抠取算法的研究与实现本科生毕业论文Word文档格式.docx
《基于图像分割的图像抠取算法的研究与实现本科生毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于图像分割的图像抠取算法的研究与实现本科生毕业论文Word文档格式.docx(71页珍藏版)》请在冰豆网上搜索。
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订基于图像分割的图像抠取算法的研究与实现摘要随着数码设备在日常生活中的大量使用,以及各种图片在各个领域越来越广泛的应用,围绕着图片处理而出现的问题也变得越来越复杂。
对于大多数没有学过专业图像处理软件的用户来说,想要从图片中抠出自己感兴趣的目标,或者是进而对其更换背景都是一件很困难的事。
因此一个简单的,智能的进行目标抠取的软件是极为必要的。
而完成这类软件的核心就是一个处理效果良好的图像抠取算法的实现。
GrabCut算法是目前在图像分割领域取得良好效果的数字图像抠取算法。
综述了GrabCut算法的实现过程,并且介绍了根据算法抠取出来的感兴趣目标与背景所实现目标/背景保存,目标图像简单变换,目标背景替换等一系列辅助功能的完成方法。
最后在总结章节中,阐述了实现过程的一些特色与存在的问题,并且提出对未来的研究方向的展望和个人自己的理解。
主题词图像分割;
Grabcut算法;
背景替换;
StudyingandimplementingimagecutoutingalgorithmbasedonimagesegmentationComputerScienceStudent:
YangMing-chuanAdviser:
LvZe-junAbstractWiththedigitalequipmentwidelyusedindailylife,andavarietyofpicturesinthemoreextensiveapplicationinvariousfields,centeredontheproblemsofimageprocessingbecomemoreandmorecomplex.Forthemostuserswhodidnotlearntheprofessionalimageprocessingsoftwareandwanttocutouttheinteresttargetfromthepicture,orthenreplacethebackgroundareaverydifficultthing.Therefore,asimple,intelligentsoftwareofcutouttingthetargetfromtheimageisverynecessary.Thecoreofthecompletionofsuchsoftwareisaniceimplementingofagoodimage-mattingalgorithm.GrabCutdigitalmattingalgorithmhadachievedgoodresultsinthecurrentfieldofimagesegmentation.Inthispaper,itreviewstheimplementingifGrabCutalgorithm,andintroducessomeofthefunctionsimplementinglikegoals/backgroundsaving,simplychangeonthetargetimage,targetbackgroundreplacement,etc.Aftertheintroductionoffunctionimplementing,thereareademonstratingoftheresultsinthecorrespondingfunction.Inthelastchapter,experimentalresultsandproblemsareconcluded,andproposedirectionsforfutureresearchprospectsandpersonalunderstanding.KeyWordsImagesegmentation;
GrabCut;
Backgroundreplace目录1绪论11.1课题研究的背景和意义11.2图像抠取软件及成果的现状11.2.1综合化的图像处理软件21.2.2单一化的图像处理软件31.3本文所做的主要工作32图像分割简述42.1图像分割概述42.1图像分割的基本方法43.1.1经典的图像分割方法43.1.2新颖的图像分割方法73算法实现的工具及技术简介93.1MFC概述493.1.1MFC编程框架93.1.2MDI应用程序构成113.2GDI+介绍133.2.1GDI简介5133.2.2GDI+介绍133.3OPENGL简介153.3.1OpenGL工作流程153.3.2OpenGL图形操作步骤154GrabCut图像抠取算法简介174.1GraphCutst算法简介174.2GrabCut算法简介174.3GrabCut算法准备184.3.2高斯混合模型介绍184.3.2GrabCut算法中的数据结构194.4算法过程描述204.4.1算法初始化过程204.4.2自学习的高斯组件204.4.3最小分割204.4.4算法流程介绍215GrabCut算法及辅助功能的实现235.1GrabCut算法的实现235.1.1数据结构介绍及初始化235.1.2高斯混合模型的建立的实现275.1.3高斯混合模型的学习过程的实现295.2GrabCut算法实现后的效果演示295.3目标对象处理305.3.1可分离目标对象的标记305.3.2目标图像大小的调整325.3.3目标图像/合成图像的保存336总结与展望386.1总结386.2展望38参考文献39声明40致谢41附录1关键代码42附录2翻译(原文和译文)471绪论绪论本章节对课题研究的背景和意义,以及目前可用于实现图像抠取的软件的现状进行了介绍。
并在最后就本文所做的主要安排进行了简述。
1.1课题研究的背景和意义课题研究的背景和意义随着电子数码设备的普及,以及电子计算机,互联网的广泛使用,人们对各种图像的使用的频度的增加,广大用户对一些图像进行一些简单处理的需求也越来越多。
然而现在存在的一些专业图像处理软件并没能够很好的解决大部分用户的一些极为简单的需求。
如如何从图像中抠取出自己想要的对象如一个人,一辆车,再如如何简单快速的替换一些图片的背景这种极为简单的图像处理需求对一些不会使用专业图像处理软件的用户来说却非常困难的一件事。
大家都渴望出现一个简单却智能的图像处理软件,它不需要用户掌握及其高难度的操作,以及记忆大量操作命令,而仅仅是提供一个单一功能却易操作的可进行目标抠取,背景替换的图像处理软件。
并且对于会使用专业图像处理软件的用户来说,一个简单的目标抠取,背景替换的图像处理软件能够为他们在制作一些复杂项目时提供大量的素材来源,不用为了得到一张图像中的一个目标,而花费大量时间去利用专业软件从中抠取图像对象。
他只需要一些简单操作就可快速得到他想要的效果。
除此之外,随着计算机视觉理论和算法研究的发展,以及计算机硬件性能的不断提高,越来越多的智能处理系统的广泛使用,以及复杂情况下处理要求的攀升,对于做为很多图像处理技术基础的图像分割目标提取技术就显得更为需要简单化,智能化。
简单是指的交互简单,而智能则是指系统能更加智能的理解用户的需求。
这样就可以在更少的交互下得到更为满意的处理效果。
这样一个好的图像分割算法的实现成果,就会变得极为有意义。
而满足以上用户需求的软件实现的核心问题就是如何实现一个在图像分割领域内有着良好表现的图像抠取算法。
在算法实现的基础上想要制作出一个具有市场价值的软件就变得极为容易进行了。
并且这个实现可以不仅仅可以被做为主体设计出一个软件,也可以成为一些大型系统的嵌入模块。
GrabCut算法只要求极少的用户交互,因此在今后的研究发展中结合一些其他的智能算法是完全可能实现完全智能化的,它可以自动找出图片中的有意义对象,并且实现多个对象的组合,以便能够更好满足用户的需求。
为用户提供更为简单直接的服务。
综上所述,对于GrabCut图像抠取算法的研究与实现是极为价值的。
1.2图像抠取软件及成果的现状图像抠取软件及成果的现状在当前图像处理领域,图像处理软件非常多,大部分都能实现从图像中抠取出部分图像的需求,并且它们还基本满足了用户极大部分其他的图像处理需求。
这些图像处理软件中,要么一些软件过于大型专业,虽然提供了异常强大的功能,却让初学者望而却步,让专业人士效率不高;
要么只是提供一项或几项简单的服务,只是为了大量普通用户才设计出炉的过于傻瓜,而功能太过简单,创意难以得到有效发挥,产品品质和处理速度也良莠不齐。
大致可将这些软件分为两类,一是综合化的图像处理软件,二是单一化的图像处理软件。
1.2.1综合化的图像处理软件综合化的图像处理软件这类软件的数量非常多,它们虽然重心各有不同,但是从它们所提供的功能中是可以完成图像抠取的操作的,不过由于这些软件都是极为专业化,且功能众多且强大,对单纯为了完成图像目标抠取的用户来说,就有一点大材小用的感觉了。
这儿列举几个功能强大,较为流行的软件。
(1)PhotoShopPhotoshop是由Adobe公司推出的跨越PC和MAC两个平台的的大型图像处理软件.它功能强大,操作界面友好,主要应用于图像处理、广告设计的一个电脑软件。
ADOBEPHOTOSHOP最初的程序是由Mchigan大学的研究生Thomas创建,后经Knoll兄弟以及ADOBE公司程序员的努力ADOBEPHOTOSHOPf进行了很多功能上的改进,成为优秀的平面设计编辑软件。
经过3.0,4.0,5.0,5.5的不断升级,直到目前最新的cs5版,功能强大,处理领域也宽广,逐渐成为使用广泛的图像处理软件.Photoshop支持众多的图像格式,对图像的常见操作和变换都做得非常精细;
此处,它还拥有异常丰富的插件(在Photoshop中叫滤镜),使得photoshop的功能更为全面。
然而由于其功能异常强大使得并不是大部分用户都能在短时间内流利的使用其一些简单功能。
(2)TurboPhotoTurboPhoto是一个以数码影像为背景,面向数码相机普通用户和准专业用户而设计的一套集图片管理,浏览,处理,输出为一身的软件系统。
它能完成数码摄影相关的大部分后期工作,拓展数码摄影的创作手段,从而深化数码相机的应用。
它包括两个部分:
TurboPhoto相册和TurboPhoto编辑器。
TurboPhoto相册是一个照片管理、浏览与批处理为一体的软件。
它是TurboPhoto软件的一部分。
TurboPhoto编辑器的所有功能均围绕如何让照片更出色的主题设计。
每个功能都是针对数码相机本身的特点和最常见的问题。
(3)光影魔术手光影魔术手是国内比较受欢迎的图像处理软件,曾被很多主流期刊评为最佳图像处理软件。
光影魔术手是一个对数码照片画质进行改善及效果处理的软件。
它在处理数码图像及照片时非常高速、且实用。
光影魔术手能够满足绝大部分照片后期处理的需要,批量处理功能非常强大。
它无须改写注册表,能够非常方便的移除。
1.2.2单一化的图像处理软件单一化的图像处理软件
(1)KnockOutKnockOut是Corel公司出品的专业去背景软件,能够处理复杂背景下的精细目标。
去背景操作就是制作遮罩的过程,所谓的去背景,指的是将特定的主体从背景中分离出来,以便进行其它的后续设计。
KnockOut不仅能够处理复杂情况其对背景单纯时的处理方式也同样保持其它软件同样的简单化,快速化。
对于一般的去背景需求,KnockOut的处理效果都及为准确,快速,且其需要的操作方便,容易。
KnockOut图像抠取软件使用的是KnockOut自然景物抠取算法,而Knockout方法的特点在于模型简单、处理速度快,但其处理效果不佳。
其仅仅是在处理光滑图像有着较好的效果。
(2)可牛影像可牛影像是新一代的图像处理软件,独有美白祛痘、瘦脸瘦身、明星场景、多照片叠加等功能,更有50余种照片特效,数秒即可制作出影楼级的专业照片。
可牛影像的有照片编辑功能。
可牛影像还具有智能修复功能,只要点击一下鼠标,就可以对照片进行自动亮白,自动白平衡,自动对比度调整等操作。
此外可牛影像还拥有数十种风格特效和影楼特效,能够使用户快速为照片添加艺术效果;
而且它还使得去红眼,背景虚化这些看似复杂的操作,变得相当简单,即使是新手也能得到很好的处理效果。
另外,可牛影像的智能抠图功能,能够使用户在较小的操作后得到抠取结果,并且能够对处理后的结果进行编辑,使得结果更加满足用户的需求。
此外,可牛影像具有补光、柔和等6大自动修复能力,素描、黑白、怀旧等数十种另类效果,以及其他一些延伸功能的实现使得其具有了全套的照片的编辑功能。
1.3本文所做的主要工作本文所做的主要工作本论文的内容结构安排如下:
第一章为绪论。
首先介绍了课题研究的背景与意义,再对目前可用于图像抠取的软件或研究成果进行了简单的介绍。
最后列出了本论文的主要安排和作者所做的主要工作。
第二章为图像分割简述。
在这个章节中对图像分割进行了概述,并就其目前使用基本方法进行了介绍。
第三章为算法实现所涉及的工具及技术简介。
在这章中对MFC,GDI+,OpenGL等在算法实现过程中所用到的工具或技术做了简要的阐述。
第四章为GrabCut图像分割方法简介。
首先对GrabCut算法做了简介,再就GrabCut算法的思想及过程进行了详细的阐述。
第五章为GrabCut算法及其辅助功能的实现。
本章详细的介绍了GrabCut算法在MFC程序框架下的实现过程,并对针对算法处理结果所进行的辅助功能的实现进行了介绍。
第六章为总结与展望。
在这个章节中对GrabCut算法的研究与实现过程所做的工作进行了总结,并对图像分割算法及建立在算法实现基础上图像抠取软件的前景进行了展望。
2图像分割简述图像分割简述2.1图像分割概述图像分割概述在计算机视觉领域的研究中,图像分割是图像处理,模式识别和人工智能等许多领域中一个十分重要且困难的问题.是计算机视觉技术中首要的,重要的关键步骤,也是非常基础的研究领域.图像分割就是从图像中把感兴的目标与背景分割开来,或从图像中识别和解释出有意义的物体实体而提取不同的图像特征的操作。
而在图像分割中提出的感兴趣的目标可以是指视野中的运动物体,可以通过一系列的图像序列中分析得到,也可以是指一些可分离的物体对象,如人,苹果等,这儿主要是指两物体间没有存在明显的重叠,可以通过分析单幅或者序列图像得到。
图像分割是一个经典的难题,到目前为止即不存在一种通用的图像分割方法,也不存在一种判断是否分割成功的标准.按照图像分割的定义,分割出的区域需要同时满足均匀性和连通性的条件。
其中均匀性是指该区域中的所有像素点都满足基于灰度,纹理,色彩等特征的某种相似性准则;
连通性是指在该区域内存在连接任意两点的路径1,1。
而这些区域或者几个区域的联合就可以表示一个感兴趣的对象。
这样通过对分割区域或者区域组合的的提取从而实现感兴趣目标的提取。
而目标提取的结果的好坏对后续的处理操作有着非常重要的影响。
因此,有效的图像分割对如目标检测,身份确认和行为理解与处理等中高层次的任务非常重要。
而在视频编码,图像检索,人机互动,运动监测等研究领域中,往往只考虑感兴趣区域的像素,所以好的图像分割技术往往能促进这些课题的研究发展。
图像分割在实际应用中应用的范围非常广泛,仅仅是在对医学图像的处理方向,就存在着如肿瘤与其他病变的定位,计算机辅助手术,解剖学研究等分支,更不要说其在卫星图像中的目标定位,交通控制,机器视觉等研究方向的广泛应用。
并且随着计算机应用范围的增加,一些新的图像分割的应用领域也会慢慢诞生出来。
另外,由于计算机图像处理技术是对人类视觉的模拟,而人类的视觉系统又是一种高度自动化的生物图像处理系统。
而目前的研究对这个系统的认识又不是很足,因此,要完全形成与人类视觉功能同样强大的计算机视觉系统,还需要一个漫长的过程。
而就需要对一些基础研究领域加强研究使其首先完整化,才能有望实现计算机视觉。
总之,图像分割的重要地位必定只会得到的加强,而不会有所衰退。
2.1图像分割的基本方法图像分割的基本方法3.1.1经典的图像分割方法经典的图像分割方法这些图像分割的方法都是经过了很长的发展过程,拥有很强的理论依据,是目前发展极为成熟的算法,虽然在处理的场景要求有一些严格,且处理效果不是很好,但毕竟是最初的处理算法,对其加深了解有助于更好的理解图像分割的基本内容和处理方式,对后续的新颖的图像分割算法的学习也能起到一些作用,甚至做一些比对作用.1)基于阈值的分割阈值法是一种比较传统的图像分割方法,也是经典的、流行的图像分割方法之一,是最为简单的一种图像分割方法.图像阈值分割利用了图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域的结合.选取一个合适的阈值,以确定图像中每一个像素点应该属于目标还是背景区域,从而产生相应的二值图像.阈值分割可以通过全局的信息如整个图象的灰度直方图,或者局部信息如灰度共生矩阵实现。
而根据其使用的信息类型的区别可将其分为全局阈值法和局部阈值法,或者单值法和多值法1,2。
在多区域的分割前提下,我们的目的是获得一个阈值集合(t1,t2,tk),使得所有灰度值满足f(x,y)ti,ti+1的象素点构成第i个区域,其中(i=0,1,k)。
阈值分割法,也可以看成是一个分类问题,比如单阈值分割中,相当于把所有象素点分成两类:
目标和背景。
阈值分割图像的基本原理,可用下式作一般表达式:
(2-1)其他其中Z为阈值,是图像灰度级范围内的任一个灰度级集合,为任意选定的目标和背景灰度级。
由此可见,基于阈值的图像分割技术,如果想要比较为复杂的背景下将目标分辨并将其形状完全提取出来,则对于阈值的选取是非常重要的。
阈值的高低完全确定了一些关键点是属于背景还是目标,也就完全影响了最后的分割结果1,3。
2)区域增长技术区域增长有时也称为区域生长.区域生长技术是一种简单的图象分割技术,它仅适用于高反差的简单图象的分割,不能满足灰度渐变或以某种纹理而不是灰度来表征不同区域的那些复杂图象的分割。
区域增长在很多领域都受到了很大的关注,其在计算机视觉的智能化应用中也具有很大的作用。
并且其在图像的纹理信息分割方面具有很好的处理效果,它可以在灰度与局部特征值信息上进行简单的聚类分类,也可以利用统计均匀性检测进行复杂的分裂与合并处理。
该算法的核心思想就是将在像素某一特征上具有相似性的像素集标记为一个区域,然后具体在每一个区域中通过某种准则选出一个种子点。
再对种子点周围的领域进行考查,找出具有相似性的像素,将其规为种子点所在的区域。
再将这些新的点做为新的种子生长点,重复上面的步骤,直至没有再满足条件的点出现,就说明一个区域被划分出来了1,4。
直到将整幅图像分割成满足条件的不同子区域.这些初始的小区域可能是小的邻域甚至是单个象素。
对这些小的区域,通过计算它们反映这个区域内像素一致性的特征,如平均灰度值,纹理,等信息,来进行一些小区域的合并。
从而最终完成整个分割过程。
区域合并的第一步就是根据前面的特征给每个区域赋一组参数。
这些参数能够反映区域属于哪个物体1,5。
接下来根据相邻区域特征的差异为所有的边界赋一个强度值,这样就能够通过判断这个强度值的大小来考查是否要对两个相邻区域的共同边界进行消除操作。
如果这个值很大,则表示这个边界的强度很大,即这两个相邻的区域拥有着很大的差异,则不需要进行合并,它们的边界也就不能消除,反之,若这个值较小,则认为相邻区域拥有很高的相似度,可以起先边界消除完成合并。
在这个过程完成后需要对所有的区域根据它当前的所有像素重新计算出一个特征值,以便完成下一次的边界消除,区域合并过程。
可以看出区域合并是一个反复迭代的过程,直到没有区域再进行合并时,才停止。
这个过程就是一个不断生长的过程,直到生长出目标,生长过程才会结束1,6。
3)基于边缘的分割图像的边缘是图像最基本的特征之一,所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合.边缘广泛存在于物体与背景之间,物体与物体之间,基元与基元之间,因此,它是图像分割依赖的重要特征.图像分割在某种程度上可以说是为一找到各个区域的边缘的操作。
而由以上对于边缘的定义知,边缘是图像的局部特征,这样通过对局部特征的分析就可以确定某个像素是否是边缘。
基于边缘的分割技术主要有基于点的检测,基于线的检测经及基于边缘检测等几种方法1,7。
基于点的检测主要是先检测出离散的点,然后再将点连接成封闭的边界,其处理过程就是用一个对待检测区域进行离散点的检测,如下示:
W1W2W3R=W1Z2+W1Z2+.+W9Z9W4W5W6W7W8W9表2-1其中Zk是与模板系数Wk相联系的灰度级像素,R代表模板中心像素的值。
而基于线的检测有两种方式,一种是利用线检测模板进行线检测,另外是利用哈夫变换进行直线检测。
而基于边缘检测的分割方法则主要是利用各种算子得到图像中的边缘,进而根据边缘信息得到分割后的区域。
边缘检测的基本问题是噪声对图像检测精度的影响。
由于图像边缘和噪声均为频域中的高频分量,简单的微分运算会增加