首页 > 范文大全 > 正文

一种改进的铅笔画生成方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种改进的铅笔画生成方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文提出了一种改进铅笔画生成方法。该文改进了用于提取轮廓的霓虹算法,改进方法能够在保证效果的前提下,降低算法的复杂度,提高了图像处理的效率。提出了一种新的纹理产生方法,根据亮度将图像分层,然后对每一层添加噪声并进行适当的USM锐化,最后应用运动模糊对每一层图像生成不同方向的纹理。实验结果表明,该方法相比传统的铅笔画生成方法能够更快速的将输入图像转换为铅笔画,并能取得令人满意的效果。

关键词:非真实感绘制;铅笔画;霓虹处理;亮度分层;运动模糊

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)04-0883-04

An Improved Method for the Generation of Pencil Drawing

REN Xiao-kang,XIAO Yun-song,CHEN Zheng-bao

(College of Computer Science and Engineering,Northwest Normal University,Lanzhou 730070,China)

Abstract:This paper proposes an improved method for generating pencil drawing .We improve the neon algorithm applied to contour extraction. In this way, good image processing results can be obtained with low algorithm complexity and high image processing efficiency.We propose a new method of texture generation.We divide a source image into layers of successive intensity ranges,add noise and use usm sharpening to each layer .At last apply the motion blur for all layers,generate stroke images with different texture directions.The experiment shows that this method can turn the input image into pencil drawing with a higher speed,and the processing result is also satisfying.

Key words: non-photorealistic rendering;pencil drawing;neon processing; intensity layer;motion blur

非真实感绘制(non-photorealistic rendering,简称NPR)的目标是能在形式上指定一种可展现绘画作品的方式,并随之编写生成非真实感绘画作品的计算机程序。该种绘画机制从20世纪90年代开始受到关注并成为计算机图形学的一个研究热点。非真实感绘制不同于传统的真实感绘制方法,它通常被用来表现那些不具有真实感性质的绘制形式,主要针对某种艺术风格对对象进

行绘制,并且利用艺术效果对场景信息进行视觉抽象,放弃不必要的细节,集中描绘相关特征,简化物体的形状,突出场景中观察者所需要的部分,能够更好地表达所显示物体的信息。非真实感绘制技术作为与真实感图形学相对应的图形学分支,可以实现铅笔画、水彩画、油画、水墨画等许多艺术效果的图像。目前,对铅笔画的模拟已经成为该领域的一个重要的研究方向。

铅笔画的构图在于两个部分,一是轮廓的提取,二是内部纹理的生成。在轮廓提取上,对已有的霓虹方法进行了改进,先将彩色图像灰度化,再进行霓虹处理,最后反相得到轮廓。在保证效果的前提下,提高了效率。在纹理的生成上,目前已有的基于区域的铅笔画生成方法,最终生成的铅笔画效果取决于图像分割结果的好坏。然而寻找到一种使得分割后产生的区域与人眼感知的区

域一致的算法仍是一个有待研究的问题。为了解决这个问题,在本文中我们避免图像分割,而是对灰度图像按亮度分层,对不同亮度分层确定不同的笔刷方向,这种基于亮度分层的思想,也是符合现实中艺术家绘画的思想。另外,基于图像分层方法的效率要高于图像分割方法的效率。

1 相关工作

铅笔画绘制技术是NPR领域里的重要组成部分,也是最常见的一种艺术表现形式。NPR 铅笔画的生成方法,最早的一种2D绘图系统叫做PencilSketch[1],此种方法虽能产生铅笔风格的绘画效果,但用户需要不断设置与笔刷有关的参数,使得绘制效果带有一定的主观选择性。Sousa和Buchanan开发了一种铅笔画的生成模型,它可以将一张2D图片或3D场景直接渲染成铅笔画[2]。Mao等人采用LIC方法对铅笔纹理进行模拟,也取得了比较满意的效果[3]。在轮廓提取方面,大多采用sobel,roberts梯度算子提取轮廓;文献[4]是采用Kirsch算法进行带方向的边界提取;文献[5]利用高频提升过滤(HBF)滤波检测边缘轮廓;文献[6]采用各向异性的DOG滤波器提取边缘;而文献[7]采用USM锐化并进行色彩缩放运算得到图像边缘信息;文献[8、9]通过霓虹处理生成铅笔画的轮廓,能够取得较好的效果,但是计算量相对较大。在纹理生成方面,大部分文献在铅笔画纹理生成上均采用传统的LIC方法,但因为LIC是对图像中每一个像素都要做卷积计算,所以这种方法比较费时,效率不高。文献[10]提出一种基于运动滤波器的仿真铅笔纹理的新方法,提高了效率,但生成的铅笔画纹理方向单一。

综上所述,基于当前研究本文将提出一种简单有效的铅笔画生成方法。

2 改进的霓虹方法

传统的霓虹方法首先是计算彩色图像中原始像素的红绿蓝分量与相同行及相同列相邻像素的梯度,即差的平方和的平方根,再将梯度值作为新像素的红绿蓝分量值。由于霓虹对图片进行了梯度处理,因而对图像进行霓虹处理后可以产生图像的线条效应。其具体的形式化描述如下:

设原图像像素f ( i,j )的红、绿、蓝分量为r1、g1、b1,相同行f ( i+ 1,j )的红、绿、蓝分量为r2、g2、b2,相同列f ( i,j + 1)的红、绿、蓝分量为r3、g3、b3,则处理后图像g ( i,j )的红、绿、蓝分量为r、g、b,这3个分量可以通过下式计算得到:

r=2×

g=2×

b=2×

通过上面的处理可以得到图1(b)的效果,再对霓虹处理后的图像进行反相,产生图1(c)的效果,然后再灰度化,最后使用窗口变换,就可以产生类似于铅笔画中的轮廓效果,如图1(d)所示。

(a)原始图像 (b)霓虹处理后的图像(c)反相处理后的图像 (d)灰度化后的图像

图1 霓虹处理得到图像轮廓

由于传统的霓虹方法要分别对图像的红绿蓝三个分量进行计算,图片越大,计算量越大,因此本文将霓虹方法进行改进,首先将原彩色图像做灰度化处理,如图2(b),再对灰度化后的图像进行霓虹处理。具体的形式化描述如下:

设原图像像素f (i,j ),其灰度值为G1,相同行f ( i+ 1,j )的灰度值为G2,相同列f(i,j+1)的灰度值为G3,则处理后图像(i,j )的灰度值为G,这个灰度值可以通过下式计算得到:

G=2×

通过以上处理得到图2(c)的效果,再进行反相处理就可以得到铅笔画的轮廓效果,如图2(d)中所示。对比图1(d)中的轮廓图,两种方法效果几乎相当。

传统的霓虹方法是对彩色图像进行处理,需要对每一个像素分别计算r、g、b的梯度,将要计算三次。而改进的霓虹方法只需计算其灰度值的梯度,仅需计算一次,计算量明显减少,图像处理效率提升。当图像越大,改进方法的优越性将越明显。

(a)原始图像 (b)灰度化后的图像 (c)霓虹处理后的图像 (d)反相后的图像

图2 改进的霓虹算法处理得到图像轮廓

3 基于图像分层的铅笔画纹理生成算法

3.1图像按灰度分层

本文参考shigefumi等人在文献[11]中提出的分层方法。为了得到比较好的基于分层技术的铅笔画效果,不同的亮度层需与人眼观察到的层次相一致。理想的分层方式通常是,每一层包含一组像素,属于同一亮度层的像素的亮度值差很小,或者亮度值是连续的;而不同亮度层像素亮度值差则比较大,或者亮度值有非常明显的的变化。该文采用的分层方法是根据图像每个像素的灰度值来划分层次。我们先将原始图片灰度化,如图3(a)所示,然后得到灰度图的每个像素的灰度值,生成一个2维图,我们称之为灰度值分布图,如图3(b)所示。X轴表示灰度值依次递增的像素,Y轴表示的每个像素的灰度值。在这个灰度值分布图上,如果某间隔内灰度值曲线斜率恒定,或者斜率变化较小,此间隔内的像素应该属于一层。这样,我们能找到灰度值曲线上斜率变化明显的像素,此像素的灰度值就可以作为分层的一个阈值。这些像素确定以后,求出这些像素的在灰度值曲线上的斜率与它相邻像素的斜率差,比较这些差值的大小。经过多次实验,将图像按灰度值分三层,这样最终产生的铅笔画效果比较好。所以,我们选取斜率差值中最大的两个,并且将与之对应的灰度值作为分层的阈值,由此,三个亮度层便可确定。如图4所示,(a)、(b)、(c)分别为生成的黑、灰、白三个亮度层。

(a)原图像经灰度处理后 (b)灰度图像的灰度值分布图

图3 按图像的灰度值分层

(a)黑 (b)灰 (c)白

图4 亮度分层后生成的黑灰白三层

3.2运动模糊产生纹理

传统的铅笔画生成法一般都是采用LIC方法模拟铅笔的纹理,需要生成向量场,沿向量场方向生成局部流线,通过对向量场流线上的白噪声进行低通滤波而得到。但这种方法需要每个像素都生成一条局部流线,相当费时,而且对于图像纹理方向大致相同的区域,逐点作卷积运算也是没有必要的。运动模糊滤镜是一种用来抓取物体运动状态的效果滤镜,沿特定方向并以特定强度对图像进行模糊处理。运动模糊滤镜产生的运动模糊效果和铅笔纹理有很好的相似性,且生成速度较快,因此本文采用运动模糊生成铅笔纹理。

本文首先对图像按亮度进行分层,然后为每一层图像添加噪声,之后进行适当的USM锐化,这样在明暗对比和空间层次感上

得到更好的效果。最后对每个图层执行不同方向的运动模糊操作,生成不同的纹理方向。运动模糊处理有两个参数需要确定,模糊角度和模糊强度。对于模糊角度本文通过梯度信息确定,算法如下:

Step1:利用梯度函数求得各像素点的梯度值:

其中,F是如3.1中诉述生成的三个亮度层,利用MATLAB中求梯度的函数gradient()求出X和Y。X是F在x方向的微分,Y是F在y方向的微分;

Step2:利用下列公式,根据梯度信息求得角度:

定义三个与原图像行数和列数均相同的数组,用来存放角度。通过求角度公式,计算出每一个像素点对应的角度,此时,根据结果进行统计,统计后为每个图层选择合适的角度作为运动模糊的角度。

对于模糊强度的确定:经过大量的实验,我们发现对4.1中产生的黑、灰、白三层,模糊强度分别采用15、20、25,可以达到比较令人满意的效果,如图5中所示,模糊角度经统计分别为45°、135°、15°。

(a) (b) (c)

图 5 三个亮度层分别产生不同的纹理方向

最后,选择合适的叠加算法将轮廓与三幅亮度图像进行叠加,得到最终的铅笔画效果图如图6(b)所示。

(a)原图像 (b)本文算法的结果

图 6 铅笔画效果图

4 实验结果与总结

下面的图像是根据本文提出的方法生成的,有着不错的效果

(a)原图像

(b)本文算法的结果

图 7 铅笔画效果图

本文提出了一种改进的铅笔画生成方法,在轮廓提取上,将原有的霓虹算法改进,在保证效果的前提下,提高了效率;在纹理生成上,采用对灰度图像按亮度分层后再运用运动模糊的方法,能产生比较好的纹理效果,同时避免了传统铅笔画中存在的图像分割不合理和LIC花费时间比较长的问题。今后的工作是找到更好的铅笔纹理生成方法,使铅笔纹理更生动、逼真,同时也能模拟出更丰富的铅笔画色调。

参考文献:

[1] Vermeulen A H,Tanner PP.Pencil Sketch-A Pencil Based Paint System[C]//Graphics Interface’89 Conference Proceedings.London,1989:138-143.

[2] Sousa M C,Buchanan J puter-generated graphite pencil rendering of 3D polygonal models[C]//EUROGRAPHICS ’99 Conference Proceeding,London,England,1999:195-207.

[3] Mao X,Nagasaka Y,Imamiya A.Automatic generation of pencil drawing from 2D images using line integral convolution[C]//Proceedings of the Seventh International Conference on Computer Aided Design and Computer Graphics CAD/GRAPHICS,2001:240-248.

[4] 孙丹丹,唐棣.一种铅笔画仿真新方法[J].计算机工程与应用,2010,46(11):164-166.

[5] 桑桑,郝鹏翼,丁友东,等. 基于纹理和轮廓的铅笔画素描画生成方法[J].上海大学学报:自然科学版,2010,16(3):312-317.

[6] 吕岩,钱文华,陈志明,等.非真实感铅笔画艺术效果研究[J].计算机工程与应用,2011,47(27):192-194

[7] 李龙生,周经野,陈益强,等.用USM 锐化生成铅笔画的新方法[J].吉林大学学报:工学版,2007,37(2):442-447.

[8] 李龙生,周经野,陈益强,等.一种改进的铅笔画生成方法[J].中国图形图像学报,2007,12(8):1423-1429.

[9] 程佳,唐棣.铅笔画的自适应LIC绘制方法[J].计算机工程与应用,2011,47(16):198-203.

[10] 孙丹丹,唐棣.应用运动模糊方法仿真铅笔画理[J].计算机工程与设计,2009,30(24):5689-5691.

[11] Yamamoto A, Mao X Y, Tanii K, et al. Enhanced LIC Pencil Filter[C].Los Alamitos,CA:Proceedings of the International Conference on Computer Graphics,Imaging and Visualization,2004:251-256.