基于非真实感绘制的漫画效果实现毕业论文.doc
摘要非真实感绘制是计算机图像学的一类,在动画、艺术等领域有着广泛的应用,而漫画作为一种具有特殊代表性的艺术表现形式受越来越多人欢迎。漫画的建图、描线、上色等操作都需要人来进行操作,消耗人力和物力。本论文以实现图像的漫画效果为目的,通过使用matlab对图像进行处理,简要阐述了开发背景与环境,在保证图像核心结构不改变的情况下进行以下几个操作:1根据需求,选择双边滤波器对图像进行滤波,达到去除噪声,提高图像质量方便特征提取的目的。2分别对RGB颜色空间和Lab颜色空间进行比较,选择更合适的进行量化处理,,减少图像中的颜色。3根据边缘完整性和速度的需求,选择DOG算子进行边缘检测,对边缘强度进行加强、开闭运算等操作,最后使图像具有漫画效果,实现非真实感绘制,与现有的其他相似方法进行比较,总结该方法达到了漫画效果。关键词: 非真实感绘制 双边滤波 颜色量化 边缘检测ABSTRACTNon-photorealistic rendering is one types of computer iconography,it is widely used in the field of animation, art and other fields. Cartoon, as a special representative of an artistic form, is welcomed by more and more people.Due to the demands of Cartoon,which human beings is needed to work on build pictures, Drawing Lines, color, this is the waste of the manpower and the physical resource. Aiming at make the photo to be cartoon, this paper briefly describes the development background and environment of the way to deal with photos by matlab. Perform the following operations while ensuring the image without changing the core structure of the case:1.Based on needs, a bilateral filter to select the image is filtered, in order to remove noise and improve image quality for the purpose of convenience feature extraction.2.By comparing withe RGB color space and Lab color space, choose the better one to achieve color quantization,and reduce the colors in the image.3.According to the needs of marginal integrity and speed, Dog operator is used to do edge detection, then make the edge stronger and use imopen and imclose. Finally to make the image seems to be cartoon, and realize of non-photorealistic rendering. Compare with other existing similar methods, we can sum up that this paper achieve making the photo to be cartoon.Keywords: Non-photorealistic rendering, Bilateral filter, Color quantization, edge detection.目录目录摘要ABSTRACT目录1第一章 绪论31.1研究背景31.2国内外研究状况41.3研究意义6第二章 漫画效果图像处理72.1漫画效果分析72.2漫画效果流程图 7第三章 双边滤波83.1工具介绍93.1.1Matlab简介93.1.2Matlab优点93.2滤波器简介及选择103.3双边滤波原理113.4实现双边滤波133.5小结13第四章 颜色量化154.1量化选择154.2实现量化174.3小结17第五章 边缘检测195.1领域运算195.2算子的比较选择205.3边缘检测215.4阈值处理215.5开运算和闭运算225.6图像合成235.7小结24第六章 实验结果及对比256.1水彩画比较266.2与转描机技术比较266.3与openCV卡通化比较276.4与真实绘制的漫画对比27第七章 总结与展望29参考文献30致谢32第一章 绪论1.1研究背景自从计算机图形学出现开始,真实感绘制便是人们研究的一部分。真实感绘制希望通过计算机产生和现实生活中相同的图像。而相对应的,脱离现实的非真实感绘制也越来越受到关注。两者共同发展,形成各种的属性和特点,对于不同场合,都可以发挥其特有的专长1。表1 真实感与非真实感绘制的对比非真实感绘制是计算机图形学中的一个研究热点,通过使用计算机生成不具有照片的真实感,而是具有手绘风格的图形技术便是非真实感绘制研究的内容。可以方便的做出出富有艺术表现力的图像,近年越来越受到各方面的关注。它主要模拟画种有钢笔画、水彩画等等。研究非真实感绘制可以帮助我们在近来的漫画动画制作渲染过程中获得更多效果的体验,根据需求选择不同的绘制方法。随着技术不断的成熟,非真实感绘制可以运用到各个方面,如基础的图像美化、动画制作、景区风景宣传、商业娱乐欣赏等等。所以它的价值将会越来越高。漫画"一词是由英文中的"Cartoon"音译而来。也就是卡通,各国各地都有各自特殊的风格,随着时代的发展,漫画的风格也不断发生着改变。一般通过归纳,夸张,变形的手法来塑造各种形象。正好符合真实感绘制的特点,利用非真实感绘制相关技术完成图像具有漫画效果的绘制。19世纪末,美国漫画开始起步,一些周日报纸的副刊经常登载连环画, 其中最早的连环漫画Richard Felton Outcault的“The Yellow Kid”(黄衣孩童)于1896年2月16日在纽约出版。从此以后,一个全新的阳光产业漫画诞生了并蓬勃发展至今。如今,世界各国的漫画作品在中国青少年消费市场中影响越来越大。漫画作为一种艺术与视觉的综合艺术形式,凭借写实、夸张、幽默、形象拟人化等特征深受青少年喜爱。在我国的漫画市场消费结构调查中发现,欧美和日本的漫画几乎占据了我国绝大部分的市场,尤其在青少年中非常受欢迎2。目前几乎所有的卡通漫画都是由画师亲自绘制,特别是动画方面画师要绘画出每一个关键帧,再由其他人补全期间的其他帧,十分费事。在非真实感绘制中的另一种绘制,水彩化有部分相似的特点,在现有的基础上,可以利用相关研究资源借鉴发挥成为漫画图像,是一个可以考虑发展的方向。1.2国内外研究状况非真实感图形绘制的发展历史并非不很长久,从单纯处理图像到利用绘元绘制,从利用图像技术到利用图形技术,从二维到三维,从仅靠软件实现到现在开始利用硬件GPU,从不可交互到可交互,均在不断发展中。非真实感绘制最早出现在 20 世纪 80 年代的早期论文中, 有影响力的如 Strassmann ( 1986 ) 和 Sasada(1987) 发表的论文。1990年,Saito and Takahashi 和 Haeberli 在 Siggraph 会议上发表了两篇非常有影响力的论文。1994 年,随着几篇论文在 Siggraph 会议的发表(如 Winkenbach and Salesin、Salisbury)和在 Eurograph-ics 会议的发表(如 Strothotte) ,这一领域才逐渐显现出来。图示给出了一个非真实感绘制技术的发展历史图3,4。图1.1 非真实感绘制的发展历史上图显示出,在发展初期非真实感绘制技术大多在2D平面上依靠用户交互式地实现,并主要集中在简单的划线技术上,上世纪90年代初,产生了一系列交互式的绘画系统,如Haeberli开发了一个交互式2D绘制系统5,该系统由用户输入一幅原始图像,再通过用户交互式的操作来改变绘笔的轨迹、颜色和形状以达到一定效果;在之后开发的一系列对在定时曲线下的浓密间隔控制点进行数值滤波的有效工具,使得某些非真实感绘制技术从2D过渡到2D/2.5D,它在后期处理时通过利用某些附加信息来进行图像处理。作为非真实感绘制中的一支,卡通漫画的研究时间较短,较先由Decaudin提出了计算机自动完成卡通效果的3D场景的渲染算法,结合深度映像中的边缘检测得到的轮廓线,卡通着色通过OpenGL的Phong模型计算光照强度以及借助阴影图(Shadow Map)技术取到的阴影处理渲染对象的色调部分以获得最终的效果6。之后陈洪等人建立一种算法,在人脸图像上标识了一些特征点,利用这些特征点,捕捉各种不同外貌表情夸张的类型,从而学习卡通漫画的绘制的方法7。在之后的研究发展中,Holger Winnem¨oller等人运用双边滤波器对目标图像进行抽象化处理,结合DoG算子进行滤波提取了图像的轮廓线完成卡通漫画的实时渲染8。在商业影视方面,去年饱受争议的恶之华采用的技术亦算是非真实感绘制的一种:转描机技术9。转描机技术是一种动画家用来逐祯的追踪真实运动的动画技术。这种技术最早是把预先拍好的电影投放到毛玻璃上,然后动画家将其描绘下来,意为将真实图像转换为动画图像。这个投影仪被称为转描机(Rotoscope)。1915年,Max Fleischer发明了“转描机”( Rotoscope),它可将真人电影中的动作,一五一十地转描在赛璐璐片或纸上。Max Fleischer在1916年到1929年创作的墨水瓶人(Out of the Inkwell)和小丑可可(Koko the Clown)就是利用转描机绘画的动画片。到2001年后,理查德·林克莱特利用转描机技术完成了电影梦醒人生和盲区行者,这两部作品使得理查德重回巅峰并让转描机技术得以受到世人的注意10。虽然大众对恶之华的反响十分差,但同样也有人称赞其敢于创新,将这样的技术活用于现在动画。图1.2 转描机技术具备卡通漫画部分特殊的水彩画作为具有中国特色的绘画风格,在我国已经发展成长相当长的时间,在计算机方面的实现也已经完成,最早提出水彩画模拟方法的是1991年Small的细胞自动机(Cellular Automata)理论11,用来模拟颜料与水的交互作用,获得了较为逼真的水彩画模拟效果。随着时代的发展,这方面技术越加进步完善,Curtis在Small工作的基础上提出了一个经典的水彩画建模系统12,可以取得接近于真正水彩画的效果,但它通常以较大的计算量为代价。而另一种算法利用图像的分割、滤波与合成等技术,可以简单绘制出自然纹理不强的水彩画。要实现漫画效果便要发现两者间的不同,漫画效果对象一般为人,人的细节特征与风景并非相差无几,正确发现不同并找出对应解决办法才能成功实现具备漫画效果的图像。1.3研究意义随着非真实感绘制的不断完善,非真实感绘制在各应用领域的使用也将不断增多13:(1)艺术领域。非真实感绘制技术给艺术家提供了艺术创作的工具,允许艺术家们在绘画过程中根据需求,强调某些细节的同时忽略其它细节。它可以生成各种不同风格的图像。借助非真实感绘制技术,艺术家们可以更加方便地完成艺术作品。(2)科学医学领域。图像是最简单的传送信息的方式,相比文字它有着许多优越性。非真实感绘制技术在表达图像时的简洁准确,常常被用来绘制精细程度较高的科学和医学的插图。(3) 工业设计领域。在工业设计中如想要显示一个零件图形,关心的只是零件的轮廓尺寸等基本信息,而对其他的信息则不感兴趣。这时就可以使用 NPR 技术来强调突出主要信息,忽略次要信息。(4)娱乐行业。非真实感绘制技术同样可以广泛应用于动画、游戏、电影等娱乐产业。在游戏、电影中可以创造出许多艺术化的效果等,例如卡通风格的实时游戏等。在非真实感绘制发展完善的条件下,漫画也有很大的市场需求。或许近几年人们认为漫画卡通的发展缓慢停滞,但近期冰雪奇缘的完美成功打破这一说辞,说明这方面的发展还有很大空间,而此次的研究动机也是基于此。现在市面上有Microsoft Cartoon Maker和toonpaint等软件实现照片的卡通漫画化,说明可行性的情况下,学术性的实现图像漫画效果这一方法,对相关知识进行学习填补。第二章 漫画效果图像处理2.1漫画效果分析漫画是一种艺术形式,是用简单而夸张的手法来描绘生活或时事的图画。一般运用变形、比拟、象征、暗示、影射的方法,构成幽默诙谐的画面或画面组,以取得讽刺或歌颂的效果。是一种具有强烈的讽刺性或幽默感的绘画。常采用夸张、比喻、象征等手法,讽刺、批评或歌颂某些人和事,具有较强的社会性。漫画作为一种艺术形式存在,首先必须具有审美价值。漫画艺术的审美价值主要表现在思维美学形态和视觉美学形态两个方面,二者之间是不可分割的,他们相互依存,相互联系,构成了漫画艺术美的基本形态。1、思维美学形态,任何一类艺术是通过人的思维活动来完成的,漫画艺术也不例外。漫画通过夸张变形,诙谐幽默和荒诞不经等手段,表达事物的精神实质,并向人们传递文学和哲学理念。欣赏者通过思维活动对这种不协调和出乎意料的状态下,产生审美的愉悦和快感,并形成了审美情趣。2、视觉美学形态,众所周知,漫画又是视觉艺术,它囊括了一切绘画表现手段,通过对漫画作品的描绘,对漫画主题起到了渲染和烘托作用,使漫画主题思想深化。由于漫画表现手段丰富,形式多样化,不免使人产生误解或模糊的认识,分不清有多少绘画表现形式。因此,我们有必要对丰富多彩的绘画表现形式进行理性和科学划分,便于对漫画的表现手段有个清楚地认识,并了解和掌握视觉美学形态。一类注重于构思,把绘画手段当作表达思想的载体,另一类注重漫画的视觉艺术效果,通过细腻的刻画来烘托漫画的主题思想。在这次实验中,我们暂且更关注视觉美学形态方面,在了解漫画的基础之上,将普通图像修改增加特征,赋予它漫画独具的美学形态。2.2漫画效果流程图 对图像分析我们必须知道我们想得到的是什么样的图像,它的特征应该是什么。漫画图像的特点可以归类为四个:1,变形夸张,这是卡通漫画艺术的最大特点,通过这一点与现实图像区分;2,高度的概括,细节的减少强调出特殊部分,更加具有视觉吸引力;3,颜色的泛用,图像颜色较为鲜明,同一大区域中,基本以一个颜色为主,没有细小的色块;4,边缘的强化,现实图像很多会因为光的原因边缘不清晰,而么漫画因为是绘制而来,所以边缘的保存能达到最好的效果。真实的图片完全变成漫画是十分艰巨的或者不可能的,而漫画效果则是在原始图像的基础上添加漫画的特点,使其看上去像是漫画。这些特点的添加便是我们所需完成的,输入图像时一般默认为Integer,为了保证进行处理时的精确,要强制转换为Double类型,制定流程图如下:输入图像双边滤波噪点处理颜色量化色彩处理边缘检测增强边缘输出图像图2.1 实现图像漫画效果流程图第三章 双边滤波3.1工具介绍3.1.1Matlab简介论文围绕中心Matlab软件,通过其实现目的。MATLAB是一种专业的计算机程序, 常被用于工程科学的矩阵数学运算。但在之后的几年,它逐渐发展为一种极其方便灵巧的计算体系,用于解决各种重要的技术问题。在 70 年代中期,Cleve Moler 博士和他同事在美国国家科学基金的资助下开发了调用 EISPACK 和 LINPACK 的 FORTRAN 子程序库。EISPACK 是特征值求解 FOETRAN 的程序库,LINPACK 是解线性方程的程序库。当时这两个程序库代表矩阵运算的最高水平。直到70年代后期,美国 New Mexico 大学计算机系系主任的Cleve Moler,,在给学生讲授线性代数课程时,想教学生使用 EISPACK 和 LINPACK 程序库,但他发现学生用 FORTRAN 编写接口程序很费时间,于是他开始自己动手,为学生编写 EISPACK 和 LINPACK 的接口程序。最终Cleve Moler 给这个接口程序取名为MATLAB,次名字为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。在以后的数年发展里,MATLAB 在众多大学里作为教学辅助软件使用,MATLAB 到今天已经历了近 30 年的发展过程。MATLAB分为总包和其他的工具箱,伴随着版本的不断升级,它具有越来越全面的数值计算能力,越卓越的数据可视化能力和良好的符号计算功能,逐渐发展成为了各种学科、多种工作平台下支持的功能强大的大型软件,获得广大科技工作者的普遍认可。一方面,MATLAB可以方便实现数值分析、优化分析、数据处 理、自动控制、信号处理等领域的数学计算,另一方面,也可以快捷实现计算可 视化、图形绘制、场景创建和渲染、图像处理、虚拟现实和地图制作等分析处理工作。3.1.2Matlab优点MATLAB 语言相对于传统的科技编程语言有诸多的优点。主要包括:1. 易用性 MATLAB 是种解释型语言,就像各种版本的 BASIC。和 BASIC 一样,它简单易用程序可用作便笺簿求打在命令行处表达式的值 执行预先写好的大型程序。在 MATLAB 集成开发环境下,程序可以方便的编写,修改和调试。这是因为这种语言极易使用,对于教育应用和快速建立新程序的原型,它是一个理想的工具。许多的编程工具使得 MATLAB 十分简单易用。这些工具包括:一个集成的编译/调试器,在线文件手册,工作台和扩展范例。2. 平台独立性MATLAB支持许多的操作系统,提供了大量的平台独立的措施。在本书编 写的时侯, windows 98/2000/NT 和许多版本的 UNIX 系统都支持它。在一个平 台上编写的程序,在其它平台上一样可以正常运行,在一个平台上编写的数据文件在其它平台上一样可以编译。 因此用户可以根据需要把 MATLAB 编写的程序 移植到新平台。 3. 预定义函数 MATLAB 带有一个极大的预定义函数库,它提供了许多已测试和打包过的 基本工程问题的函数。例如,假设你正在编写一个程序,这个程序要求你必须计 算与输入有关的统计量。在许多的语言中,你需要写出你所编数组的下标和执行 计算所需要的函数,这些函数包括其数学意义,中值,标准误差等。像这样成百 上千的函数已经在 MATLAB 中编写好,所以让编程变得更加简单。 除了植入 MATLAB 基本语言中的大量函数,还有许多专用工具箱,以帮助用户解决在具体领域的复杂问题。例如,用户可以购买标准的工具箱以解决在信号处理,控制系统,通信,图象处理,神经网络和其他许多领域的问题。4. 机制独立的画图 与其他语言不同, MATLAB 有许多的画图和图象处理命令。 MATLAB 运 当 行时,这些绘图和图片将会出现在这台电脑的图象输出设备中。此功能使得 MATLAB 成为一个形象化技术数据的卓越工具。 5. 用户图形界面 MATLAB 允许程序员为他们的程序建立一个交互式的用户图形界面。利用 MATLAB 的这种功能,程序员可以设计出相对于无经验的用户可以操作的复杂 的数据分析程序。 6. MATLAB 编译器 MATLAB 的灵活性和平台独立性是通过将 MATLAB 代码编译成设备独立 的 P 代码, 然后在运行时解释 P 代码来实现的。Matlab 程序执行 matlab 语言,并提供了一个极其庞大的预定义函数库,高效的数值计算及符号计算功能,能使我们从繁重复杂的数学运算分析中解脱出来;完备的图形处理功能,实现了计算编程和结果的可视化;功能丰富的应用工具箱,提供了大量方便实用的处理工具;简单的界面及接近数学表达式的自然化语言,便于我们学习和掌握。Matlab的这些特点使得它十分适用于我们实现这次目的。3.2滤波器简介及选择图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。下面简介几个常见滤波器。高斯滤波是一种线性平滑滤波,适用于滤除高斯白噪声,已广泛应用于图像处理的预处理阶段。对图像进行高斯滤波就是对图像中的每个点的像素值计算,计算的准则是,由该点本身灰度值以及其邻域内的其他像素灰度值加权平均所得,而加权平均的权系数由二维离散高斯函数采样并归一化后所得14。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值g(x,y),即g(x,y)=1/m f(x,y), m为该模板中包含当前像素在内的像素总个数。这样的方法可以平滑图像,速度快,算法简单。但是无法去掉噪声,这能微弱的减弱它14。中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。在图像处理中,中值滤波常用来保护边缘信息,是经典的平滑噪声的方法,该方法法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大14。双边滤波器(英语:Bilateral Filter)是使图像平滑化的非线性滤波器,与传统的图像平滑化算法不同,双边滤波器除了使用像素之间几何上的靠近程度之外,还多考虑了像素之间的光度、色彩的差异, 使双边滤波器能够有效的将图像上的噪声去除,同时保存图像上的边缘讯息。 a.原图 b. 高斯滤波 c. 均值滤波 d. 中值滤波结果 e. 双边滤波结果图3.1各滤波器对比 根据以上几幅图,可以看出高斯滤波和均值滤波模糊了边界,而中值滤波和双边滤波则能够较好的保存图像的边界信息。为此,选择双边滤波器进行实验。3.3双边滤波原理在文献Bilateral Filtering for Gray and Color Images15中,详尽的解释了双边滤波。双边滤波方法(Bilateral filtering)是基于Gsuss滤波方法提出的,主要是针对Gauss滤波中将Gauss权系数直接与图像信息作卷积运算进行图像滤波的原理,将滤波权系数优化成Gauss函数和图像亮度信息的乘积,优化后的权系数再与图像信息作卷积运算,这样就能在滤波的同时考虑到图像信息中的图像边缘信息,使图像在正常Gauss滤波后很模糊的边缘信息得以保持清晰,并且图像边缘更加平滑。此方法对于彩色和灰度图像的滤波均适用,具有很强的适用性。双边滤波与高斯滤波器相比,对于图像的边缘信息能过更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘。零均值加性高斯噪声图像模型: (1)式中,f表示无噪声图像,n是服从零均值高斯分布的噪声,g是噪声图像;g ( x, y )表示图像g在位置(x,y)上的像素值。滤除噪声图像g中的噪声n,重建无噪声图像f。双边滤波器采用局部加权平均的方法获取复原图像的像素值:(2)公式中,Ss,y 表示中心点(x,y)的(2N+1)*(2N+1)大小的领域。实 际上,公式(2)右边就是中心像素点邻域内像素亮度值的加权平均。对该邻域内的每一个像素点g(i,j)由两部分因子的成绩组成,分别是下面的空间距离和灰度距离。空间距离:是当前目标点与中心点的欧式距离。空间域的高斯函数其数学形式为:(3)其中(xi,yi)为当前点的位置,(xc,yc)为中心点的位置,sigma是空间域标准差。灰度距离:是当前目标点灰度与中心点灰度想差的绝对值。值域高斯函数其数学形式为:(4)其中gray(xi,yi)为当前点灰度值,gray(xc,yc)为中心点灰度值,sigma为值域标准差。双边滤波中加入了对点灰度信息的权重:在邻域内,灰度值越是接近中心点灰度值的点的权重更大,而灰度值相差大的点权重越小。此权重大小,则由值域高斯函数来确定。两者权重系数相乘,可以得到最终的卷积模板。因为双边滤波需要每个中心点邻域的灰度信息以确定其系数,所以它的速度与比一般的滤波慢很多,并且计算量增长速度为核大小的平方。空间域sigma选取可以参考OpenCV参考文档所写:“对应高斯参数的 Gaussian sigma (标准差),如果为零,则标准差由下面的核尺寸计算: sigma = (n/2 - 1)*0.3 + 0.8,其中 n=param1 对应水平核,n=param2对应垂直核”。而对值域sigma来说,Sigma越大,边缘越模糊,极限情况为simga无穷大,值域系数近似相等(忽略常数时,将近为exp(0)= 1),与高斯模板(空间域模板)相乘后可认为等效于高斯滤波。sigma越小,边缘越清晰,极限情况为simga无限接近0,值域系数近似相等(接近exp(-) = 0),与高斯模板(空间域模板)相乘后,可近似为系数皆相等,等效于源图像。3.4实现双边滤波选择使用的双边滤波器16,由于要确保图像细节的完整,sigma的值不可以过大导致模糊失真,所以选择sigma小值,通过一次滤波后观察是否需要继续进行下一次。%读入图像,设定名字为testI=imread('test.bmp');%改变图像精度才能进行后续操作I=im2double(I);%设定w和sigma,为双边滤波做准备w = z; sigma = x y;%进行多次双边滤波,双边滤波函数见4I1=bfilter2(I,w,sigma);I2=bfilter2(I1,w,sigma);I3=bfilter2(I2,w,sigma);I4=bfilter2(I3,w,sigma);I4=bfilter2(I4,w,sigma);I4=bfilter2(I4,w,sigma);I4=bfilter2(I4,w,sigma);I4=bfilter2(I4,w,sigma);3.5小结本章实现了双边滤波,下图中显示为原图与双边滤波1、2、3次后眼睛部位的对比。在sigma为3 0.1可以清晰看见原图中眼睫毛在一次滤波后便被滤出了大部分,之后2、3次中几乎不见眼睫毛了,对于要进行漫画化必须强化边缘的实验是不允许的。a.0次b.1次c.2次 d.3次a.0次 b.1次 c.2次 d.8次图3.2所以在对sigma的取值判断中,将值设定为240 0.05进行操作,可以看到在0.05下眼睫毛是有所保存,但是对图像的去噪效果降低了,为了突出重点所以只能进行多次双边滤波,对每次的结果进行比较选择确定次数以达到需要的效果。 第四章 颜色量化4.1量化选择颜色空间模型是指某个三维颜色空间的一个可见光子集合,它包含某个颜色区域的所有颜色。所有颜色都可以看作三个基本的颜色:红、绿、蓝的不同组合,即三基色原理。区分颜色还可以常使用三个基本的特征量:色调、饱和度和亮度。色调和混合光谱中的主要光波长相联系,饱和度则和一定色调的纯度有光,随着白光的加入饱和度会逐渐减少。一般,常见的颜色模型有rgb(红、绿、蓝)模型、HSV(色调、饱和度、亮度)模型,Lab(亮度、颜色对立维度)模型等等。RGB 颜色空间是图像处理中比较常见的颜色空间,当前许多现有的电子输入设备普遍采用都是RGB 颜色空间,如电脑显示器、电视机、数码相机、数码摄像机等都是采用的RGB 颜色空间。RGB 颜色空间由是由红(Red)、绿(Green)、蓝(Blue)三基色构成的颜色空间,可以用一个由红、绿、蓝三个坐标轴构成的单位立方体来描述。坐标轴上的三个顶点表示RGB 三个基色,坐标原点表示黑色,离原点最远的角表示白色,剩余的三个顶点对应于3 个补色,即品红(红+蓝)、蓝绿(绿+蓝)和黄(红+绿)。为了直观表示RGB 颜色空间,我们可以用如下图所示的一个单位立方体来描述RGB 颜色空间。在这个颜色空间中从黑到白的灰度值分布在从原点到离原点最远顶点间的边线上,立方体内其余各点对应的不同颜色可以用该点到原点的向量来表示。RGB 颜色空间是一种面向硬件设备的颜色空间,从RGB 值中不容易判断出该值所表示颜色,它与人们对颜色的感知心理很不相符,两种颜色之间的知觉差异不能用该颜色空间中两个颜色点之间的距离来度量17。图4.1 RGB颜色空间示意图Lab颜色空间是国际照明委员会(CIE)于1976 年定义的一种近似的均匀彩色空间。Lab颜色空间是由亮度和两个色度分量组成。两个色度分量分别是a分量(从绿到红)和b分量(从蓝到黄)。Lab颜色空间是与设备无关的一种颜色空间模型,无论采用什么设备创建的图像或者输出的图像,由这种颜色模型产生的颜色都会保持一致。Lab颜色空间模型示意图如下图所示,在这一坐标系中,+a表示红色,- a表示绿色,+ b表示黄色,- b表示蓝色,L的百分数表示颜色的明度17。图4.2 Lab颜色空间模型示意图Lab颜色空间的特点是L通道没有颜色,对它进行处理不会影响对比度、饱和度,而对rgb颜色空间进行图像平滑的过程中会产生新的颜色,带来颜色混乱。所以Lab颜色空间是我们要进行量化抹匀的最佳执行环境,相反rgb空间则会因为量化大量失真,所以实现量化过程中,要将一般图像的rgb颜色空间转换为Lab颜色空间,可以利用Matlab自带的函数:makecform、applycform 实现两者的相互转换。颜色量化即人工或根据某种特定的规律来选择多种颜色,从而组成新的调色板使用,最后根据新建的调色板来重建图像。颜色量化的好坏对于图像压缩,图像分割或者目标识别过程起着重要的作用,它是数字图像处理中一项基础而又非常重要的技术。在量化过程中,我们必须慎重选择量化时的颜色空间,不同颜色空间带来的量化结果可以截然不同。了解概念后,使用Lab空间颜色的亮度伪量化公式:(5)式中qnearst 是对图像的量化,而q表示图像每个量化区间的宽度。由于双曲正切函数tanh具有双端抑制,中间过渡比较平滑的特征。在量化过程中,先对L空间进行等级的处理,结果四舍五入后再与等级想乘,为的是使结果尽量保持在0,100区间内18,接下来在使用公式进行量化,使图像在不同的量化区间过渡相对比较平滑,更容易获得一种抹匀的效果。图4.3 双曲正切函数曲线4.2实现量化%颜色量化B=im2double(I4);%选定量化等级quant_levels=x;dq=100/(quant_levels -1);qB=applycform(B,makecform('srgb2lab');%对L空间进行量化后四舍五入在放入0,100的空间qB(:,:,1)=(1/dq)*qB(:,:,1);qB(:,:,1)=dq*round(qB(:,:,1);%量化公式qB(:,:,1)=qB(:,:,1)+(dq/2)*tanh(B(:,:,1)-qB(:,:,1);if exist('applycform','file') Q=applycform(qB,makecform('lab2srgb');end4.3小结本章实现双边滤波结束后的颜色量化,量化的一个重要参数就是量化等级数quant_levels,由它来决定每个量化区间的宽度。以下为不同等级数的图像比较:a.7b.9c.11 a.8 b.8.6 c.15图4.4 不同量化等级的比较由图中的后者进行比较:8分成的块域不多,但是太凸显,没有很好达到该分割的区域进行分割;而15的则分割太多导致出现类似波纹的层段,量化想要达到的效果已经消失。最后取值为8.6如图,算为比较好的量化,鼻子处的不同是由于量化等级的选择而凸显出来的一部分,可以视为夸张表示。这样颜色的量化基本实现。第五章 边缘检测5.1领域运算边缘检测是在领域计算的基础下实现的。邻域运算是指当当前输出图像中每个象素是由对应的输入象素和它一个邻域内的象素共同决定时的图像运算,一般情况邻域是远比图像尺寸小的一规则形状,像是正方形2x2、3x3、4x4或用来近似表达为圆及椭圆等形状的多边形。信号与系统分析过程中的基本运算相关与卷积,到实际的图象处理中都表现为邻域运算。邻域运算和点运算一起形成最基本、最重要的图象处理工具。边缘检测的目的是对数字图像中亮度变化明显的点进行标识。图像属性中的明显变化通常反映着属性的重要事件和改变。这些包括了深度上的不连续、表面方向的不连续、物质属性的变化和场景照明的变化。图像边缘检测大量减少了数据量,同时剔除了可以认为是不相关的信息,保留了图像重要结构属性。有很多方法用于边缘检测,绝大部分可以划分成两类:基于查找的一类和基于零穿越的一类。基于查找的方法是通过寻找图像一阶导数中的最大和最小值来检测边界,通常将边界定位在梯度最大的方向。基于零穿越的方法为通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。图5.1 几只常见算子的比较5.2算子的比较选择由上图19总结:Roberts:采用对角线方向相邻两像素之差表示信号的突变,性能上检测水平和垂直方向边缘好于斜线方向,可是对噪声敏感,检测出的边缘比较细。 Sobel:边缘检测算子是像素邻域的计算加权和,模板中心值比较大,结果不但产生较好的边缘效果,同时对噪声也具有平滑作用。但存在伪边缘,边缘较粗定位精度低。 Prewitt:对噪声具有平滑作用,检测出的结果边缘比较粗,定位精度,但容易损失角点。 Laplacian:算子二阶微分算子,对于图像中的阶跃性边缘点的定位较准确,并且对噪声非常敏感,但是丢失一部分边缘的方向信息,造成了一些不连续的检测边缘。 LOG算子:首先使用高斯函数进行滤波,再使用Laplacian算子检测边缘,克服Laplacian算子抗噪声能力相对差的缺点,LOG算子中高斯函数的方差参数的