本文是一篇软件工程论文,本文利用图像边缘信息,对图像轮廓处像素进行随机偏移实现水彩画的间隙效果,偏移的大小可以根据不同设备的物理分辨率进行调整,更加灵活。
第一章 绪论
1.1研究背景及意义
非真实感绘制(Non-Photorealistic Rendering,NPR)[1]指的是利用计算机生成不具有照片般真实感,而具有手绘风格的图像的技术。不同于真实感绘制,非真实感绘制追求艺术风格,重点强调文化艺术作品的情感和内涵[2]。图像风格化[3]是一种常见的非真实感绘制技术,指通过一些算法,将不同的图像艺术风格映射到其他自然图像上,使结果图像在保留自然图像语义内容的同时具备该艺术图像的艺术风格。常见的艺术风格有油画、水彩画、卡通漫画和铅笔画等。随着图像处理技术的发展,人们对图像美化有了更多想法和要求[4],希望能为自己拍摄的照片添加各种艺术化效果。由于专业的图像处理软件如PhototShop使用方法复杂,需要花费大量的时间和精力学习如何使用软件,对于没有美术基础的非专业人士不友好。于是各种美颜相机在日常生活中被广泛使用,这些照片美化功能常常是通过对图像添加各种滤波器实现的。这种叠加滤波器的图像风格化渲染方法简单高效,可以很好的满足人们的需求。
非真实感绘制技术兴起于上世纪90年代,是计算机图形学的热门研究方向之一,其研究成果在影视动画、游戏设计等领域应用广泛。根据不同的艺术效果,非真实感绘制可以分为对油画的模拟、对水彩画的模拟、对铅笔画的模拟、对毛笔字和水墨画的模拟等[5]。水彩画由于丰富的艺术表现力,在非真实感绘制领域备受关注。
水彩画[6]是欧洲一种古老的绘画门类,早期水彩画主要用于速写或者作为油画的草图。传入中国后融入了中国画的写意画法,水与颜料的融合结合各种绘画技巧使水彩画画风千姿百态,灵动且有韵味,深受大众喜爱。为了实现基于图像的水彩风格化效果,上世纪90年代初开始,研究人员陆续提出了许多相应的绘制算法。早期计算机的运算性能较低,算法复杂度受限制,随着计算机性能的提高,水彩风格的各种效果陆续被实现。图像风格化绘制按照其表现形式可以分为两类:一种是模仿真实的艺术作品创作过程;另一种是对真实照片进行滤波等处理渲染成非真实感风格。前者需要用户与设备进行交互;后者由于简单高效,应用范围广泛。
................................
1.2国内外研究现状
图像风格化绘制按照其表现形式可以分为两类:一种是模仿真实艺术作品的创作过程;另一种是对真实照片进行滤波等处理渲染成非真实感风格。前者需要建立相关的物理模型用来模拟颜料和水在纸张介质中的流动过程,后者是对真实照片的渲染,传统的渲染方法有叠加滤波器和噪声等。近年来,随着“人工智能”的发展,机器学习、深度学习成为研究热门,基于深度学习的图像风格化工作也获得了广泛的关注[7]。
1.2.1 基于物理模拟的风格化绘制
上世纪90年代以来,水彩画风格绘制一直受到计算机图形学领域研究人员的广泛关注。1991年Small等人开创性地通过模拟颜料在纸纤维上的扩散来模拟水彩,探讨了颜料和水在纸上的实际行为,画布被设计为互动细胞的二维网格,也称为细胞自动机[8]。1997年Curtis等人使用流体模型和Kubelka-Munk颜色模型建立了基于经验的水彩物理模拟器。该模型与Small等人一样也使用细胞自动机来模拟流体流动和颜料分散,但是为了实现更逼真的水彩效果,采用了更复杂的纸张模型和表层水流模拟,并采用Kubelka-Munk模型使颜料层的渲染更真实,该模型很好的模拟了西方水彩画的效果[9]。2005年Chu等人设计了一种基于格子Boltzmann方程的新型流体流动模型。该模型将自发形状演化模拟和多孔介质流动模拟相结合,可以实时模拟纸张等无序介质中的流体渗透现象,实现了东方水墨画中油墨分散的各种逼真效果[10]。虽然这些模拟产生了高质量的效果,但需要强大的计算机硬件的支持并且受到屏幕分辨率的限制。因此2012年DiVerdi等人提出了一种算法,用于以轻量级方式生成类似水彩的动态绘画行为。该算法使用基于粒子的颜料流模型,而不是基于网格的模型。且粒子表示是矢量而不是光栅,允许以任意分辨率进行渲染。由于粒子更新步骤是一种物理启发的程序算法,计算速度非常快,因此该系统支持在平板设备上绘画[11]。2017年Chu等人推出了Expresii——一种软件工具,为艺术家们提供了基于水性介质的绘画功能。该系统采用了一种新颖的混合矢量光栅渲染方法,允许12k+分辨率的大输出。通过基于流体动力学的水彩模拟表现颜料的流动性,富有表现力的虚拟画笔可以捕捉到笔画节奏,就像挥动真实的画笔一样,使绘画体验更接近现实生活[12]。
................................
第二章 相关背景知识介绍
2.1水彩画的常见艺术效果
水彩画是一种用水调和彩色颜料作画完成的作品。水的透明性可以稀释颜料,调配出不同饱和度的色彩,还可以晕染出朦胧的画面,营造出唯美的意境。水彩画的特征与颜料中水的浓度有很大的关系,一方面水的浓度决定了颜色的浓度、色调、通透度以及与其他颜色的混合程度[27],另一方面在绘画过程中水的随机扩散和蒸发,使水彩画产生了独一无二的美感。
水彩画的特征还与绘画的表现技法有关,其画法通常分为干画法和湿画法。干画法是指在作画过程中等画纸上的颜料干透后再继续上色,它可以产生丰富的层次效果;湿画法则是指作画过程中始终保持画纸潮湿,利用湿颜料中水的渗透可以产生柔和晕染的效果[28]。干画法和湿画法创作的水彩画特征的对比如图2.1所示,图2.1(a)中的猫用干画法创作而成,图2.1(b)中的猫用湿画法创作而成。使用干画法时,纸张容易吸收颜料并达到饱和,水彩在干燥的表面比在潮湿的表面更容易控制;而对于湿画法,由于画笔在潮湿的表面容易滑动,颜料可以自由流动和扩散,并且这种扩散是不可预测的。当颜料扩散时,颜色会变淡,笔触的轮廓变得模糊不清[29]。
一幅水彩画的视觉效果是由许多因素共同作用的结果,从绘画工具到绘画技巧,不同的画笔和画纸以及颜料中水量的控制和色彩的调和都会影响水彩画的视觉效果。艺术家的创作过程也是表达自我感知的过程,而这种感知是无规则的,这赋予了水彩画无穷的魅力。
软件工程论文怎么写
...............................
2.2相关的图像处理技术
计算机图像处理技术[31]是借助计算机进行图像成像和图像处理的一种技术,在工业、农业等领域应用广泛。目前常用的图像处理技术有图像灰度变换、图像平滑、边缘检测、形态学技术和图像分割技术等。本课题涉及到的图像处理技术有边缘检测、中值滤波、均值漂移、形态学操作等。
2.2.1 图像平滑
使用算法将图像变平滑,可以过滤掉图像中的细节和一些不重要的信息,减少场景复杂度,强化可视化信息。因此,平滑使图像变得抽象,更能吸引人们的注意力。图像抽象是水彩风格化绘制的基础。一方面,抽象可以滤除图像噪声,提高图像质量,方便后面的图像处理操作。另一方面抽象可以简化图像的颜色信息,使画面看起来像是用画笔绘制而成的,更符合艺术作品的风格。常用的图像平滑算法有均值漂移、中值滤波、双边滤波和高斯滤波等。
均值漂移[32-33]是一种基于密度的非参数聚类算法,在计算机视觉领域应用广泛,可以用于图像平滑、图像分割和视频跟踪等领域。均值漂移算法的本质是最优化理论中的梯度下降法,算法主要思想是首先使用核函数估计样本的密度;然后随机选择一个种子点,计算该点周围一定范围内的密度中心,种子点到密度中心点的方向就是局部密度增加最快的方向,即均值漂移向量;再将种子点更新为密度中心点,迭代执行上一步的计算过程,直到收敛停止。收敛到相同点的样本被认为是同一簇的成员。
............................
第三章 图像水彩风格化绘制算法 .................19
3.1水彩风格化绘制算法框架 ...........................19
3.2图像抽象化 .................................20
第四章 基于OpenMP的并行优化 ....................................32
4.1多核程序设计 ....................................32
4.2基于OpenMP的算法并行优化 ..........................33
第五章 水彩风格化绘制手机应用的设计与实现.............................39
5.1Android操作系统简介 .................................39
5.2Android开发工具介绍 .......................................40
第五章 水彩风格化绘制手机应用的设计与实现
5.1Android操作系统简介
Android是一个以Linux为基础的开源操作系统,系统采用分层的体系架构,从高到低分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Android系统架构如图5.1所示。
软件工程论文参考
最顶层是应用程序层,开发的手机应用程序都在这一层,如联系人、浏览器、计算器等。其次是应用程序框架层,主要涉及开发应用程序时使用的API框架,这些框架可以简化程序开发过程,常见的框架有活动管理器、窗口管理器、内容提供商视图系统等。系统运行库层一方面提供了Dalvik虚拟机支撑上层应用程序的运行,另一方面提供了一些底层的C/C++库如OpenGL库、SGL库、Surface Manager库等,用以支持各种组件的使用。最底层是Linux内核层,Android许多核心系统服务都依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型,内核层还包括一些驱动程序如显示驱动、摄像头驱动、Binder IPC驱动、WIFI驱动等。
......................................
第六章 总结与展望
6.1本文工作总结
水彩画的独特艺术效果深受大众关注,图像的水彩风格化绘制是非真实感绘制领域的热门研究方向。互联网的飞速发展,移动社交的流行越来越激发人们个性化表达的需求,使得非真实感绘制在计算机图形学领域备受关注。近年来随着智能手机硬件性能的提升,智能手机的应用范围越来越强大,在智能手机上进行图像的水彩风格化绘制具备了一定的硬件条件。另外智能手机体积小质量轻,可以随身携带,在智能手机上实现图像的水彩风格化绘制功能可以方便人们在日常生活中对图像进行艺术效果渲染。
本文的完成的工作和创新点如下:
(1)从绘制效果和算法效率的角度出发,设计了可以跨平台使用的图像水彩风格化绘制算法框架,实现了一系列的水彩艺术效果,如边缘变暗、颜料分散、间隙、湍流和纸张纹理。
(2)利用图像边缘信息,对图像轮廓处像素进行随机偏移实现水彩画的间隙效果,偏移的大小可以根据不同设备的物理分辨率进行调整,更加灵活。
(3)利用Perlin噪声同时模拟出湍流和纸张纹理效果,提高算法效率。
(4)为了进一步提高设备的硬件资源利用率,利用OpenMP对程序进行并行优化,降低代码运行时间,提高用户体验。
(5)使用Android NDK将图像的水彩风格化绘制框架移植到Android手机平台,在移动设备上实现水彩风格化绘制工作。
参考文献(略)