首页> 中国专利> 一种基于模拟壁画的手机动漫人物及背景创作方法

一种基于模拟壁画的手机动漫人物及背景创作方法

摘要

本发明公开了一种基于模拟壁画的手机动漫人物及背景创作方法,采用下述4种方法中的任一种或多种:方法一:根据待处理像素的亮度值Y执行黯黄化移色操作。方法二:若当前像素的RGB和样板色之差小于variationWidth则保留原色,否则执行黯黄化移色操作;方法三:如果当前像素的RGB和样板色之差小于预设的变异宽度值且在破损区之内则替代为破损色,否则执行黯黄化移色操作;方法四:如果当前像素的RGB和样板色之差小于预设的变异宽度值,则该像素褪化为白色,否则执行黯黄化移色操作;该基于模拟壁画的手机动漫人物及背景创作方法易于实施,图像处理过程数量小,适于在手机上运行。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-01-01

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):G06T13/00 申请日:20120425

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明属于基于手机平台的数字图像处理技术领域,涉及一种基于模拟壁画 的手机动漫人物及背景创作方法。

背景技术

中共中央十七届六中全会通过了关于深化文化体制改革推动社会主义文 化大发展大繁荣若干重大问题的决定。决定明确指出既要让人民过上殷实富足的 物质生活,又要让人民享有健康丰富的文化生活。决定要求:文化产业要成为国 民经济支柱性产业,整体实力和国际竞争力显著增强;加快发展动漫游戏、文化 会展、艺术创意、网络文化、文化产品数字制作等优势产业;……。这一决定必 将推动社会主义文化大发展大繁荣,进一步兴起社会主义文化建设新高潮,不断 提高文化建设科学化水平,为把我国建设成为社会主义文化强国打下坚实基础。

这一令业界欢欣鼓舞的消息表明我国的动漫产业也将跟随文化大产业的 发展进入快速发展期。

作为动漫产业的一个分支,我国手机动漫产品也获得了长足的发展,目前 主要包括动漫彩信、四格手机漫画、动画短片和回合制手机游戏等。它们兼有 文化产品和信息产品的双重特性:作为文化产品无疑需要遵循社会主义文化产 品的普遍原则,但又不宜直白说教,而要寓教于乐;而作为信息产品则希望尽 可能地引入先进的计算机技术,以期在提高产品质量的同时提高其生产效率。

壁画是人们直接画在墙面上的画,是人类历史上最早的绘画形式之一。原 始社会的人类用烧焦的树枝(木炭)、黄色的泥土在洞壁上刻画各种图形,以记 录某狩猎、舞蹈、祭祀和战争等事件,形成了最早的壁画。隋唐时期敦煌莫高窟 的壁画表现出题材更广泛,场面更宏大,色彩更瑰丽的特点,无论是人物造型、 风格技巧,以及设色敷彩都达到了空前的水平。无独有偶,埃及进入奴隶社会后, 国王已是至高无上的首领,在国王死后,不仅他的尸体要妥善保护,而且要使他 们能享受活着时同样的欢乐,于是就把人间的事都画在墓壁上以供其享受。沿着 这一脉络,东西方各自发展着自己的壁画艺术。

本发明瞄准这一历史久远、表现能力极强的艺术形式,通过自行设计的图 像处理算法,以数码照片为素材,改造成不同款式的、具有壁画风格的作品, 在动漫服务器或手机用户个人的手机上进行DIY操作,创造出效果奇特、有别 于传统数码照片的动漫人物及或动漫背景。图1和图2为真正的壁画和本专利 创作的壁画在视觉上的对比。

我们尚未发现有与本发明相似的、通过图像处理技术,将传统数码照片改 造为此类具有壁画效果的动漫作品的报道。

发明内容

本发明所要解决的技术问题是提供一种基于模拟壁画的手机动漫人物及背 景创作方法,该基于模拟壁画的手机动漫人物及背景创作方法易于实施,图像处 理过程数量小,适于在手机上运行。

发明的技术解决方案如下:

一种基于模拟壁画的手机动漫人物及背景创作方法,采用下述4种方法中的 任一种或多种方法的组合:

方法一:根据待处理像素的亮度值Y确定移色系数M,执行黯黄化移色操作。

方法二:由客户选定样板色color1,color2,若当前像素的RGB和样板色之差小 于variationWidth则保留原色,否则执行黯黄化移色操作;

方法三:客户选定样板色和破损色,对于图像中的每一像素,如果当前像素的 RGB和样板色之差小于预设的变异宽度值且在破损区之内则替代为破损色,否 则执行黯黄化移色操作;

方法四:由客户选定样板色color1,color2;对于图像中的每一像素,如果当前像 素的RGB和样板色之差小于预设的变异宽度值,则该像素褪化为白色(即用白 色像素代替),否则执行黯黄化移色操作;

黯黄化移色操作的步骤为:

rout=abs(rin-(M1*rin));

gout=abs(gin-(M2*gin));

bout=abs(bin-(M3*bin));

其中,rin,gin,bin分别为某像素点原有的R、G、B颜色分量值;rout,gout,bout分 别为该像素点移色后的R、G、B输出分量值;

移色系数M包含三个变量:M1、M2和M2;M1、M2和M2均为非负值;其中 Y=0.257*rin+0.504*gin+0.98*bin

M1、M2和M2的阶跃式赋值采用如下公式:

Y<50,M1=0.4,M2=0.2,M3=0.1;

50<Y<200,M1=0.2,M2=0.1,M3=0.0.5;

Y>200,M1=0.1,M2=0.05,M3=0.25。

方法一的具体步骤为:

根据预设的迭代次数iterativeTimes值,按整数递减(即每次减1) iterativeTimes,直到iterativeTimes为0;在每一个iterativeTimes值时,执行 以下步骤:逐列逐行地依次对选定区域的每一个像素点,先根据该像素颜色取 值rin,gin,bin计算出Y值;再根据Y计算M值,并执行黯黄化移色操作,并 将当前像素点的颜色分量值更新为执行黯黄化移色操作的输出值。

方法二涉及到的参数为:用户设置的迭代次数iterativeTimes,用户设置的变 异宽度variationWidth和用户在原图像中选择的颜色样板点colorSamples;具体 步骤为:

步骤(1):根据由用户选定的colorSamples得到样板色color1和color2; color1和color2对应的RGB值分别为(rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):根据预设的迭代次数iterativeTimes值,按整数递减(即每次 减1)iterativeTimes,直到iterativeTimes为0;在每一个iterativeTimes值时, 执行以下步骤:逐列逐行地依次对选定区域的每一个像素点执行以下步骤:

当前像素点的RGB值为(rin,gin,bin);如下式成立:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 则本像素点的输出rout,gout,bout取原值;

如下式成立:

(rin-r2<variationWidth)∩(gin-gs2<variationWidth)∩(bin-bs2<variationWidth), 成立,则本像素点的输出rout,gout,bout取原值;

式中∩为逻辑“与”操作;

否则,先根据该像素颜色取值rin,gin,bin计算出Y值;再根据Y计算M 值,并执行黯黄化移色操作,并将当前像素点的颜色分量值更新为执行黯黄化 移色操作的输出值。

方法三涉及到的参数为:用户设置的变异宽度variationWidth和用户在原图 像中选择的颜色样板点colorSamples;具体步骤为:

步骤(1):用户在原图上指定破损区,根据由用户选定的colorSamples得到 样板色color1和破损色color2;color1和color2对应的RGB值分别为 (rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):逐列逐行地依次对选定区域的每一个像素点执行以下步骤:

当前像素点的RGB值为(rin,gin,bin);如当前像素点位于破损区内且满 足下式:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 则本像素点的输出rout,gout,bout取破损色,即rout=rs2, gout=gs2,bout=bs2;式中∩为逻辑“与”操作。

方法四涉及到的参数为:用户设置的变异宽度variationWidth和用户在原图 像中选择的颜色样板点colorSamples;具体步骤为:

步骤(1):对全图灰度化操作;对预留存放输出图像的数据空间清零为白 色;根据由用户选定的colorSamples得到样板色color1和color2;color1和 color2对应的RGB值分别为(rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):逐列逐行地依次对图像的每一个像素点执行以下步骤,最终得 到的输出图像为本方法的最终输出结果:

当前像素点的RGB值为(rin,gin,bin);如满足下式:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 或者满足下式:

(rin-r2<variationWidth)∩(gin-gs2<variationWidth)∩(bin-bs2<variationWidth), 式中∩为逻辑“与”操作,则无需任何操作,否则,根据当前像素颜色取值 rin,gin,bin计算出Y值,根据Y计算M值;再执行黯黄化移色操作。

迭代次数iterativeTimes的取值范围为0~3。

变异宽度variationWidth的取值范围为1~80。

因为尚无人想到可以在手机上以本人(或朋友)的照片为素材、进行DIY 操作来创作手机动漫人物或动漫背景;特别是考虑到手机相对于台式计算机远 为薄弱(仅相当于本世纪初期的台式机)的计算能力,也往往使人却步。

为了针对手机这一特殊的平台实现DIY图像操作,在设计上采用了以下 一系列措施,特别是减少应用程序的内存需求:

A.应用程序越简单越好。我们尽可能将每个组件制作成Midlet,将所用 到的多个Midlet封装在一个Midlet包中,这使手机的程序管理器可以更节约地 管理Midlet和Midlet所使用的资源。

B.应用程序越小越好。删除应用程序中暂时用不上的组件,尽量减少不 必要的信息,以减少整个程序的体积。当在无线网上下载应用程序时,较小的 应用程序将大大缩短下载时间,并能与设备上其他应用程序兼容(而不是排他) 地运行。

C.尽量减少应用程序总内存需求。主要措施有:①少使用对象类型,换 用标量类型(scalar type)。因为标量类型比对象类型占用更少的内存;②尽量 少声明对象。因为当声明一个对象时,系统要在运行堆上分配空间,所以应该 在应用程序即将使用该对象时再分配它,而不是程序启动时全部进行分配。而 且,一旦程序不再需要该对象,就将对该对象的引用均赋值为null。③按精度 需要使用数据类型。只要有可能就应该用boolean,byte,short等数据类型代替 int。这种细节对台式机程序影响甚微,但对手机将会带产生积少成多的影响。 ④尽量重用。让多个引用在程序生存周期中的不同时间使用同一个对象。例 如重用某些大型数组、重用可利用已分配的运行时存储器,使用“惰性”实例化。 虽然这不符合软件工程原则,但却适合手机这种能力很弱的计算设备的现实情 况。⑤避免在循环内创建对象。⑥经常检查存储器使用情况。相关的方法有: freeMemory和totalMemory。自行处理OutMemoryError错误。应当保证应用 程序在内存溢出时,有一个预定的退出例程对此进行管理,而不留给操作系统。 ⑦及时释放资源。对文件、网络连接等等资源,当不再需要使用时,切莫占 着不放。应当自己执行必要的清除操作,而不要依靠垃圾收集器或宿主环境。 ⑧多使用局部变量。在台式机应用中,开发人员习惯设定较多的类数据成员, 而较少使用局部变量。但类数据成员实际上是类内的“全局变量”,是需要频繁 的数据调度、堆栈操作支持,实际上是消耗CPU计算来支持的。通过局部变 量赋值,消除访问类的数据成员的额外步骤,可以减少应用程序的CPU处理 量。这样虽然失去了将数据封装在类中所带来的好处,但是,对于在手机这种 微小型计算设备上运行、需要大量数据的应用程序来说,其处理速度是需要首 先考虑的。

有益效果:

本发明的基于模拟壁画的手机动漫人物及背景创作方法,使用简单实用的 数字图像处理算法,注意减少数据量和提高CPU运行效率,使受制约于手机 屏幕尺寸和手机计算能力的手机动漫作品能够以低廉的创作成本和快速的运 行效果,为不同年龄、不同层次、处于不同时间段的手机用户,通过独创的、 易于操作的方法,在手机上将数码原图转化成各种风格迥异的壁画效果图,给 手机用户的生活带来更多姿色和欢乐。特别要指出:本发明目的之一要是在手 机这种软硬件资源远远弱于计算机的平台上实现DIY图像操作,所以在设计上 采取上述一系列针对性措施是完全必要的。

附图说明

图1为古代壁画(图a)、近代的壁画(图b)及其与和由本专利形成的 “女郎”壁画(图c)对比图;

图2为木炭棒绘制的壁画(图a)及其与和由本专利形成的“风景”壁画(图b、 图c和图d)对比图。其中图2的b、c、d图中预设的变异宽度值(variationWidth) 为50;

图3为“女郎”原图(图a)和由本专利形成的三款不同风格壁画的对 比图。其中图b设迭代次数iterativeTimes为3,变异宽度值(variationWidth)为 50;图c设变异宽度值(variationWidth)为50,图d在对原图实施灰度化操作 后,变异宽度值(variationWidth)为60,故反差较大。

图4为“帅哥”原图(图a)和由本专利形成的两款木炭棒壁画(图b 和图c)对比图;图b和图c的变异宽度值(variationWidth)分别为70和80, 而且由于样本点的位置不同,所以效果也不同。

图5为本发明的流程图。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:

本发明的基于模拟壁画的手机动漫人物及背景创作方法,逻辑上分为3个 步骤,如图5所示:

步骤一.可选的灰度化操作,处理后各像点的灰度值 I=0.3B+0.59G+0.11R,其中B、G、R为该像素点原先的蓝、绿、红分量值。

步骤二.

设定迭代次数、变异深度、变异宽度等参数,和(两个)颜色样板点。

1.迭代次数(iterativeTimes):壁画的颜色将随着年代的久远而变得灰黯, 本专利通过选择迭代次数,改变壁画的成画早晚。可选范围为0~3。

2.变异宽度(variationWidth):所选择的数值越大,经由颜色融合样板点 扩展的本色区域越大。可选范围为1~80。

3.颜色样板点(colorSamples):用户通过现场所见即所得地选择颜色样 板点。程序对色差小于variationWidth的像素实行图像融合操作,对色差大于 variationWidth的像素实行(由定义1所定义)图像移色操作。

步骤三:对数字图像进行模拟壁画再创作,

本专利的核心算法包括图像融合和图像移色两类:

图像融合实现了局部区域和全局画面的无缝融合。算法上通过保留由 variationWidth确定的颜色融合区域内的自然色彩(或局域化为可选的土黄、灰 白等墙面本色,以模拟壁画的局部破损;或褪化为白色,以模拟木炭棒绘制的 壁画),展示出服务于设计初衷的视觉效果。

图像移色则由下述定义1导出。它从视觉上模拟风尘仆仆的效果,使画面 随着年代的推移由原本的亮丽褪化为黯黄。

具有图像融合和图像移色效果的壁画作品,参见图3(b),3(c),3(d)。

本专利提供四种款式的壁画创作,涉及一个公用的程序段和不同的四种算 法。其中:

公用程序段:本专利公用的图像移色程序段基于如下定义:

定义1.如将某像素点的颜色修正为其原有值减去它与一个非负(或非正) 系数的乘积,则称为对该像素实施图像移色。特别地,当选用非负系数时称为黯 黄化移色;当选用非正系数时则称为白皙化移色。具体地:

A.像素点原有亮度Y由下式给出:

Y=0.257*rin+0.504*gin+0.98*bin                (1)

其中rin,gin,bin为该像素点原有颜色取值。

B.移色系数M为一个实效的、与亮度Y负相关的阶跃式非负系数。

C.移色输出rout,gout,bout由下式给出;

rout=abs(rin-(M1*rin))                        (2)

gout=abs(gin-(M2*gin))                        (3)

bout=abs(bin-(M3*bin))                        (4)

式中abs函数为取绝对值操作;M1、M2和M2的阶跃式赋值采用如下公式:

Y<50,M1=0.4,M2=0.2,M3=0.1;

50<Y<200,M1=0.2,M2=0.1,M3=0.0.5;

Y>200,M1=0.1,M2=0.05,M3=0.25。

具体的,一种基于模拟壁画的手机动漫人物及背景创作方法,采用下述4 种方法中的任一种或多种方法的组合:

方法一:根据待处理像素的亮度值Y确定移色系数M,执行黯黄化移色操作。

方法二:由客户选定样板色color1,color2,若当前像素的RGB和样板色之差小 于variationWidth则保留原色,否则执行黯黄化移色操作;

方法三:客户选定样板色和破损色,对于图像中的每一像素,如果当前像素的 RGB和样板色之差小于预设的变异宽度值且在破损区之内则替代为破损色,否 则执行黯黄化移色操作;

方法四:由客户选定样板色color1,color2;对于图像中的每一像素,如果当前像 素的RGB和样板色之差小于预设的变异宽度值,则该像素褪化为白色,否则执 行黯黄化移色操作;

黯黄化移色操作的步骤为:

rout=abs(rin-(M1*rin));

gout=abs(gin-(M2*gin));

bout=abs(bin-(M3*bin));

其中,rin,gin,bin分别为某像素点原有的R、G、B颜色分量值;rout,gout,bout分 别为该像素点移色后的R、G、B输出分量值;

移色系数M包含三个变量:M1、M2和M2;M1、M2和M2均为非负值;其中 Y=0.257*rin+0.504*gin+0.98*bin

M1、M2和M2的阶跃式赋值采用如下公式:

Y<50,M1=0.4,M2=0.2,M3=0.1;

50<Y<200,M1=0.2,M2=0.1,M3=0.0.5;

Y>200,M1=0.1,M2=0.05,M3=0.25。

方法一的具体步骤为:

根据预设的迭代次数iterativeTimes值,按整数递减(即每次减1) iterativeTimes,直到iterativeTimes为0;在每一个iterativeTimes值时,执行 以下步骤:逐列逐行地依次对选定区域的每一个像素点,先根据该像素颜色取 值rin,gin,bin计算出Y值;再根据Y计算M值,并执行黯黄化移色操作,并 将当前像素点的颜色分量值更新为执行黯黄化移色操作的输出值。

方法二涉及到的参数为:用户设置的迭代次数iterativeTimes,用户设置的变 异宽度variationWidth和用户在原图像中选择的颜色样板点colorSamples;具体 步骤为:

步骤(1):根据由用户选定的colorSamples得到样板色color1和color2; color1和color2对应的RGB值分别为(rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):根据预设的迭代次数iterativeTimes值,按整数递减(即每次 减1)iterativeTimes,直到iterativeTimes为0;在每一个iterativeTimes值时, 执行以下步骤:逐列逐行地依次对选定区域的每一个像素点执行以下步骤:

当前像素点的RGB值为(rin,gin,bin);如下式成立:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 则本像素点的输出rout,gout,bout取原值;

如下式成立:

(rin-r2<variationWidth)∩(gin-gs2<variationWidth)∩(bin-bs2<variationWidth), 成立,则本像素点的输出rout,gout,bout取原值;

式中∩为逻辑“与”操作;

否则,先根据该像素颜色取值rin,gin,bin计算出Y值;再根据Y计算M 值,并执行黯黄化移色操作,并将当前像素点的颜色分量值更新为执行黯黄化 移色操作的输出值。

方法三涉及到的参数为:用户设置的变异宽度variationWidth和用户在原图 像中选择的颜色样板点colorSamples;具体步骤为:

步骤(1):用户在原图上指定破损区,根据由用户选定的colorSamples得到 样板色color1和破损色color2;color1和color2对应的RGB值分别为 (rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):逐列逐行地依次对选定区域的每一个像素点执行以下步骤:

当前像素点的RGB值为(rin,gin,bin);如当前像素点位于破损区内且满 足下式:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 则本像素点的输出rout,gout,bout取破损色,即rout=rs2, gout=gs2,bout=bs2;式中∩为逻辑“与”操作。

方法四涉及到的参数为:用户设置的变异宽度variationWidth和用户在原图 像中选择的颜色样板点colorSamples;具体步骤为:

步骤(1):对全图灰度化操作;对预留存放输出图像的数据空间清零为白 色;根据由用户选定的colorSamples得到样板色color1和color2;color1和 color2对应的RGB值分别为(rs1,gs1,bs1)和(rs2,gs2,bs2);

步骤(2):逐列逐行地依次对图像的每一个像素点执行以下步骤,最终得 到的输出图像为本方法的最终输出结果:

当前像素点的RGB值为(rin,gin,bin);如满足下式:

(rin-rs1<variationWidth)∩(gin-gs1<variationWidth)∩(bin-bs1<variationWidth), 或者满足下式:

(rin-r2<variationWidth)∩(gin-gs2<variationWidth)∩(bin-bs2<variationWidth), 式中∩为逻辑“与”操作,则无需任何操作,否则,根据当前像素颜色取值 rin,gin,bin计算出Y值,根据Y计算M值;再执行黯黄化移色操作。

迭代次数iterativeTimes的取值范围为0~3。

变异宽度variationWidth的取值范围为1~80。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号