一种图像素描特效处理算法及实现

2016-01-27 04:24刘光蓉王文靖李诗高管庶安
武汉轻工大学学报 2015年4期

刘光蓉,王文靖,李诗高,管庶安

(1.武汉轻工大学 数学与计算机学院,湖北 武汉 430023;2.南阳市第二中学,河南 南阳473000)



一种图像素描特效处理算法及实现

刘光蓉1,王文靖2,李诗高1,管庶安1

(1.武汉轻工大学 数学与计算机学院,湖北 武汉 430023;2.南阳市第二中学,河南 南阳473000)

摘要:提出了一种利用图像处理技术,自动快速实现图像素描特效处理算法。本算法根据手工素描方法以及人眼视觉特点,首先将原始图像进行灰度处理得到灰度图像,利用Sobel梯度算子对灰度图像进行边缘提取并反色处理,得到轮廓清晰的梯度图像。然后采用11*11邻域均值滤波对灰度图像进行平滑模糊处理得到更平滑、更柔和的模糊图像,为了模仿手握铅笔在纸上反复涂摩的效果,生成同原始图像大小的布满整个画面的随机动感线条图像。最后,把梯度图像、模糊图像、动感线条图像叠加生成具有动感效果的素描图像。实验结果表明:该算法能快速有效地实现由计算机自动模仿手握铅笔在纸上反复来回涂摩产生的动感素描图像。

关键词:素描特效处理;Sobel梯度算子;均值滤波;动感线条

1引言

图像特效自动生成,就是让计算机自动或半自动地对数码相机拍摄的图像进行处理,使其具有类似于手工绘制的画面效果。著名的图像编辑处理软件PhotoShop,能够让你按照自己的创作思路,使用一系列PhotoShop提供的操作,实现图像特效生成。但是,PhotoShop需要人大量地参与交互,特效生成效果依赖于人的艺术创作力和操作水平,制作过程复杂、周期长。为了避免传统图像特效处理的复杂操作,如何在真实感图像基础上,结合图像处理技术,让计算机自动产生图像特效效果,是近年来许多研究人员关注的课题[1]。

在图像艺术特效处理中,素描风格是一种非常典型的效果。所谓素描,就是用木炭、铅笔、钢笔等工具,通过线条来画出物象明暗的单色画[2-3]。把数码相机拍摄的图像处理变为素描,是一个非常有趣且为众多的研究者乐此不疲的课题。已有的研究主要是通过提取图像特征线[4]或图像边缘检测技术[5]或其改进方法[6-9]加工得到素描效果,这些方法主要只考虑图像的几何轮廓特征,没有考虑图像颜色信息的影响,因此容易造成原始图像重要细节特征的丢失,素描图像生硬不柔和,无法得到很好的效果。

本文按图1所示的素描图像生成步骤,对301×197大小的彩色JPG图像进行图像素描特效处理。将原始图像进行灰度处理得到灰度图像,然后对灰度图像进行边缘提取,得到梯度图像,对灰度图像进行模糊处理得到模糊图像,生成动感线条图像。最后,把梯度图像、模糊图像、动感线条图像叠加生成具有动感效果的素描图像。这种方法实现了由计算机自动模仿手握铅笔在纸上反复来回涂摩产生的动感素描图像。

图1 素描图像生成步骤

2建立灰度图像

素描是以明暗色调为主要表现手段的表现形式[10],素描图像主色为灰色,因此在进行图像素描效果处理以前,应先将彩色图像转换为灰度图像。灰度图是一种具有256级灰度等级的单色图像,灰度也可以认为是亮度,即色彩的深浅程度,可以表现出图像的层次关系,从而利于提取物体轮廓,同时也符合素描图中主色为灰色的要求。

彩色图像转换为灰度图像的方法很多,本文采用了将带有权的基本色值代数相加的方法将图像转化成灰度图像。各基本色值的权的大小与三基色本身的许多性质有关,它们直接决定输出图像的灰度值[11]。其转化公式如式下:

f(x,y)=0.299×R+0.587×G+0.114×B.

(1)

式中:R,G,B分别表示像素颜色分量。利用式(1)获得灰度图像如图2所示,灰度图像上的像素点灰度值用f(x,y)表示。

图2 彩色图像转换为灰度图

3建立梯度图像

结构素描是素描表现手法之一,以“线”为主要表现手段的素描形式,突出形体的组合关系即结构特征的素描方法。因此对彩色图像进行素描特效处理时要对灰度图进行边缘轮廓提取,边缘轮廓体现了素描图像的结构特征。

图像边缘是以图像中强度的突变形式出现的,具有十分复杂的形态,图像中不同区域灰度会发生变化,特别是边缘区域变化明显,这种变化可以通过灰度梯度表示,灰度梯度也就对应着区域的边缘。因此,最常用的边缘检测方法是所谓的“梯度检测法”。

为了避免造成伪的边缘和轮廓,采用Sobel算子进行图像边缘检测。Sobel算子的基本思想[12]是:为了排除那些尺度较小的边缘,以待增强图像的任意像素f(x,y)为中心,截取一个7×7的像素窗口。

Sobel算子在计算x方向和y方向上的梯度时,采用两列或两行的像素灰度差分来增强图像中边缘两侧的像素,使锐化图像的边缘显得粗而亮。同时为了对图像中的随机噪声具有一定的平滑作用,且使计算出来的梯度与所截取的像素窗口无关,使梯度值不会因为所截取面积不同而相差较大,同时加大素描图像特技效果,增加了加权系数。像素f(x,y)在x,y方向上的梯度在7×7模板窗口的计算公式如下:

(2)

(3)

β=(int)0.5e(2e+1).

(4)

式(2)、(3)中β为加权系数,式(4)中的2e+1表示像素窗口宽度,本算法为了增加边缘平滑效果,设置像素窗口宽度为7,故e=3,式(4)中的β与截取窗口像素点个数成比例,像素点个数为整数,故取整。处理后图像在(x,y)处的灰度值为:

(5)

通过Sobel梯度处理得到的图像还只能实现图像的大致轮廓,只能用于图像边缘检测和图像识别。经处理后的灰度图像像素点,若为黑色,则该点的灰度值为0,若为白色,则灰度值为255,所得图像与素描效果相反,灰度值变化不大的区域为黑色,变化较大的部分,即边缘部分为白色[5]。为了实现素描效果,对每点的灰度值按式(6)取反,逐行和逐列计算每点的新灰度值,用B(x,y)表示。

(6)

根据上述Sobel梯度算子的基本思想,对图3进行边缘提取并取反后,得到结果如图3所示。

图3 边缘轮廓提取并取反

4建立模糊图象

为了实现真实的素描效果,就要使图像中物体轮廓清晰地显示出来,用模糊的方式表示其它一些非重要的部分,并去除影响效果的噪声。均值滤波是一种常用的图像滤波技术,它可用来消除图像中的随机噪声,使图像能变得更平滑、更柔和,同时产生模糊效应[13],实现素描绘画中自然柔和的风格,并提高最终效果的质量。

均值滤波将每个像素点的灰度值,设置为以该点为中心的邻域窗口内的,所有像素灰度值的平均值,以实现像素的平滑,达到图像去噪的目的。任意点(x,y)在M×M邻域窗口内的像素均值,用C(x,y)表示,如式(7)。

(7)

平滑效果与领域窗口的大小直接相关,领域窗口越大,平滑效果越明显[10]。本文采用11×11邻域均值滤波平滑一幅图像的局部变化,在模糊了结果的同时减少了噪声,实现了图像中物体轮廓部分的突出和非轮廓部分的模糊。效果如图4所示。

图4 模糊图像

5生成动感线条

动感线条由大量的、短的线段组成,这些线段的起点在图像上的位置准随机分布,长度具有一定的随机性。当把这些线条按某种比例混合到图像上时,将导致图像具有铅笔画的动态感。所谓准随机分布,是指线段的起点位置偏离等间隔位置一个较小的随机值;线段的长度在某固定长度的基础上,再增加一个随机的小长度;从宏观上看,大量线段布满画面。从微观上看,线条的位置和长度不尽一致,具有手工描绘的随机感。具体算法如下:

第1步,生成一幅大小同彩色图像大小的图像E,图像各像素点E(x,y)初始灰度值为255,即全白图像。

第2步,在图像E中绘制大量起点准随机的短斜线。设动感线条的起点偏移量为d,动感线条的密度与起点偏移量d相关,d值越大,随机线条越稀疏,否则越密集,本文中设d=4。在点(x,y)处生成随机短线的起始坐标为(x1,y1),计算公式如式(8),点(x,y)的初值为(d,d)。

(8)

随机短线的长度L计算公式如式(9):

(9)

以(x1,y1)为起点,沿左下角45度方向绘制长度为L的随机短线,随机短线也即为L个黑色像素点,即每个点的灰度值E(x1,y1)=0。

在点(x,y)处随机生成了一条随机长度为L的短斜线后x=x+d,y=y+d,在下一个点(x,y)处按上述同样方法随机生成下一条随机短线,直到图像边界结束,这样,在图像E中即布满了位置与长度不尽一致的随机动感线条。

第3步,采用建立模糊图像的算法,对第2步中随机生成的动感线条图像E,进行3×3邻域均值滤波模糊处理,得到柔和的、具有手工描绘随机感的动感线条图像D。效果图如图5所示,

图5 动感线条图像

6合成素描图象

通过上述处理,得到了多个图像,为了得到动感素描效果,将梯度图像、模糊图像和动感线条图像,按一定的比例对各自对应的像素值进行叠加计算。梯度图像与模糊图像叠加的效果是在保持图像细节特征的同时勾勒出物体的轮廓,也即素描。再与动感线条图像叠加,作为素描的背景,得到就好像是人手握铅笔作素描画,在纸上反复来回涂摩产生的效果。设B(x,y)为梯度图像的灰度值,C(x,y)为模糊图像的灰度值,D(x,y)为动感线条的灰度值,使用式(10)进行图像叠加合成素描图像,得到结果图像对应灰度值为s。

s=u×[B(x,y)+C(x,y)]+V×D(x,y).

(10)

设合成素描图像灰度值为A(x,y),叠加计算的灰度值s若大于255,则将(x,y)处用黑色像素表示,否则将s取整,得到此处的实际灰度值,计算公式如式(11)。

(11)

式(10)中,u为素描图像中原图素描加权系数,v为素描图像动感线条加权系数。若v较大,则强调动感线条,过分强调动感线条会导致所生成的素描图像中原图像较弱。通过对多类图像试验,当u=0.5,v=0.2时,合成素描效果更真实,且具有动感特效。图3、图4、图5合成素描图像效果如图6所示。

图6 合成素描图像

7结束语

本文介绍的算法采用Visual C++6.0编程工具,Windows 7操作系统运行环境。系统运行时间开销取决于要处理图像的大小,在硬件条件为2.30 GHz Intel Core(TM)i3-2350处理器, 4.00 G内存的条件下,一张301×197大小的图像,仅需时间26 ms就能输出素描效果图,一张1024×724大小的图像,也仅需时间184 ms。可以对灰色或彩色的各种常用格式图像进行处理。实验结果证明:该算法快速有效,可以用来逐帧地处理连续的图像,将真实录制或拍摄的连续影像、或者是使用计算机制作的动画转化为铅笔画风格的动画。 PhotoShop实现图像的素描处理,必须按照菜单操作,比较费时,不适合对连续影像实现动画处理。

参考文献:

[1]潘龙,纪庆革.基于图像的铅笔画绘制技术的研究现状与展望[J].计算机科学,2012,36(6) :474-477.

[2]张恒国.素描基础教程[M].北京:化学工业出版社,2010:1-5.

[3]斯图瓦特·珀塞. 现代素描技法[M].杨志达译.长沙:湖南美术出版社,1990:3-8.

[4]Wang Jin,Bao Hujin,Zhou Weihua,et al. Automatic image-based pencil sketch rendering[J],Journal of Computer Science and Technology,2002,17(3):347-355.

[5]DanijelaMarkovic,Efstathios Stavrakis,Margrit Gelautz. Parameterized sketches from stereo images[C]//SAID A,APOSTOLOPOULOS J G.Proceedings of SPIE-Image and Video Communications and Processing 2005.California:SPIE-International Society for Optical Engine,2005:783-791.

[6]Chen Zhenyu,Zhou Jingye,Gao Xingyu,et al. A Novel Method for Pencil Drawing Generation in Non-Photo-Realistic Rendering [C]//Proceedings of the 9th Pacific Rim Conference on Multimedia: Advances in Multimedia Information Processing. Tainan,Lecture Notes in Computer Science, Volume 5353/2008, December 2008:931-934.

[7]李重,黄敏,吴庆标.基于傅里叶变换的图像素描效果生成算法[J].计算机应用研究,2003(5):21-22.

[8]冯捷,郑河荣.基于灰度合成的图像素描效果生成算法[J].浙江工业大学学报,2009,37(3):316-319.

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

[10]李春艳.素描中明暗色调的功能及基本技法[J].大众文艺,2012(8):58-59.

[11]刘光蓉,周红,管庶安.基于图像处理技术的大米轮廓检测[J].粮食与饲料工业,2014(6):14-15.

[12]张洪刚,陈光, 郭军.图像处理与识别[M].北京:人民邮电出版社,2006:52-57.

[13]霍宏涛.数字图像处理[M].北京:机械工业出版社,2003:95-99.

An image processing algorithms and implementation of sketch effects

LIUGuang-rong1,WANGWen-jing2,LIShi-gao1,GUANShu-an1

(1.School of Mathematics and Computer Science ,Wuhan Polytechnic University, Wuhan 430023,China;

2.The Second Middle School Nanyang, Nanyang 473000,China)

Abstract:An algorithm is proposed which sketch image effects processing is automatically and quickly realized by using image processing technology. The algorithm is based on manual sketch method and human visual characteristics. Firstly, the original image is converted to grayscale image. Gradient image of clear outline is generated by extracted the edges in grayscale image using Sobel gradient operator and then inverts the result. Secondly, a smoother and softer blurred image is obtained from grayscale image by image smoothing and blurring using 11 * 11 neighborhood mean filter. Thirdly, to simulate holding a pencil and rub friction effect on paper, random dynamic lines image which is the same size as grayscale image is built by generated random lines dynamically for the entire image. Finally, gradient image, blurred image, and random dynamic lines image are superimposed to get the sketch with dynamic effects. The experimental results show that although the algorithm is implemented by a computer, and it can quickly and efficiently imitate hand painting and get a very actual sketch image.

Key words:sketch effects processing; Sobel gradient operator; mean filtering; dynamic lines

DOI:10.3969/j.issn.2095-7386.2015.04.014

文章编号:2095-7386(2015)04-0056-04

作者简介:秦岭(1976-),男,副教授,E-mail:popularqin@163.com.

收稿日期:2015-08-14.修回日期:2015-11-27.

中图分类号:TP 391.4

文献标识码:A