CN102243767B - 一种基于局部图像扭曲的手机动漫人物创作方法 - Google Patents
一种基于局部图像扭曲的手机动漫人物创作方法 Download PDFInfo
- Publication number
- CN102243767B CN102243767B CN 201110169006 CN201110169006A CN102243767B CN 102243767 B CN102243767 B CN 102243767B CN 201110169006 CN201110169006 CN 201110169006 CN 201110169006 A CN201110169006 A CN 201110169006A CN 102243767 B CN102243767 B CN 102243767B
- Authority
- CN
- China
- Prior art keywords
- distortion
- template
- grid
- mobile phone
- divergent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013461 design Methods 0.000 claims description 12
- 238000012876 topography Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 11
- 230000001815 facial effect Effects 0.000 claims description 4
- 238000000151 deposition Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 241000092161 Pithys Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种基于局部图像扭曲的手机动漫人物创作方法,包括以下步骤:步骤一:基于待操作的数码人像的尺寸设计无扭曲模板和扭曲模板;步骤二:设定由扭曲中心线和扭曲带宽度所确立的扭曲带,根据扭曲参数位扭曲模板赋值;步骤三:基于所述的扭曲模板对待操作的数码人像进行扭曲操作,形成扭曲的人物脸谱。本发明的基于局部图像扭曲的手机动漫人物创作方法,数据处理量小,易于实施,适于在手机上运行。
Description
技术领域
本发明属于数字图像处理技术领域,涉及一种基于局部图像扭曲的手机动漫人物创作方法。
背景技术
我国手机动漫产品目前主要包括动漫彩信、四格手机漫画、动画短片和回合制手机游戏等。它们兼有文化产品和信息产品的双重特性:作为文化产品无疑需要遵循社会主义文化产品的普遍原则,但又不宜直白说教,而要寓教于乐;而作为信息产品则希望尽可能地引入先进的计算机技术,以期在提高产品质量的同时提高其生产效率。
由于手机(相对于台式计算机)薄弱的计算能力和稀缺的存储资源,因此要在手机上实现动漫设计,存在较大的困难,人们往往望而却步。
我们尚未发现有在手机上运行的、基于局部图像扭曲技术的手机动漫人物创作的报道。
发明内容
本发明提出一种基于局部图像扭曲的手机动漫人物创作方法,该方法在各个技术环节特别注意算法的有效性,特别注意节约存储开销,从而使本发明可以在手机上实施。
本发明的技术解决方案如下:
一种基于局部图像扭曲的手机动漫人物创作方法,包括以下步骤:
步骤一:基于待操作的数码人像的尺寸设计无扭曲模板和扭曲模板;
步骤二:设定由扭曲中心线和扭曲带宽度所确立的扭曲带,根据扭曲参数位扭曲模板赋值;
步骤三:基于所述的扭曲模板对待操作的数码人像进行扭曲操作,形成扭曲的人物脸谱。
所述的步骤一的具体步骤为:
步骤a:为宽度为width、高度为height的待操作的数码人像,建立一个具有lines行和columns列、方形格的边长为scale的无扭曲的方形格状模板-无扭曲模板,在该无扭曲模板中记录每一方格左上端点的X、Y坐标;为便于在低运算能力的手机中快速运行,采用包含行指针和列指针的链表结构,将一个二维数组转化为一维表示;
步骤b:为上述同一数码人像建立一个具有lines行和columns列的网格,每一网格边长为scale的用于存放扭曲量(dx,dy)的网格状模板-扭曲模板,在该扭曲模板中记录每一方格左上端点的X、Y坐标;为便于在低运算能力的手机中快速运行,采用包含行指针和列指针的链表结构,将一个二维数组转化为一维表示。
所述的步骤二的具体步骤为:
1)建立以扭曲中心线和扭曲带宽度所形成的扭曲带,并在无扭曲模板中做出待扭曲标记,其过程为:
获得鼠标移动轨迹,作为扭曲带的扭曲中心线;扭曲带宽度由用户设定;以扭曲中心线经过的网格左上角为圆心,以radius为半径所覆盖的圆面积内的所有网格,标记为扭曲带,radius为扭曲带宽度的1/2;
2)计算获得扭曲模板中每一网格在X、Y方向的扭曲度(dx、dy),将每一方格左上端点的X、Y坐标scale+dx和scale+dy存入扭曲模板,最终完成扭曲模板的赋值;
dx,dy按以下方法取值:
判断当前网格是否在无扭曲模板中做出标记,如无标记,则dx,dy都取0,否则,
dx=TwistIntensity*Coefficent*cos(alpha);
dy=TwistIntensity*Coefficent*sin(alpha);
TwistIntensit为用户设定的扭曲强度,Coefficent为在正态分布条件下当某点距扭曲中心线的距离为distance时的扭曲系数:
σ为可以人工设定的sigma值,表征扭曲强度的分布梯度,d为当前网格距扭曲带中心线的距离,alpha为该扭曲带中心线在当前方格处的切线与x轴的夹角。
所述的步骤三的具体步骤为:对边长为scale的方块逐块进行扭曲操作,从而实现对全图的扭曲操作;
每一个方块的扭曲操作过程如下:
步骤1、根据本被渲染块所在地行号确定当前被渲染块左上角X坐标:xij=j×scale
步骤2、根据本被渲染块所在地行号确定当前被渲染块左上角Y坐标:yij=i×scale
步骤3、取出扭曲模板中对应本块的左上角X坐标:Lxij=TwistTemplet[i×columns+j].x,
TwistTemplet指扭曲模板;
步骤4、取出扭曲模板中对应本块的左上角Y坐标:Lyij=TwistTemplet[i×columns+j].y;
步骤5、取出扭曲模板中对应本块的右下角X坐标:Rxij=TwistTemplet[i×columns+(j+1)].x
步骤6、取出扭曲模板中对应本块的右下角Y坐标:Ryij=TwistTemplet[i×columns+(j+1)].y
步骤7、求出投影块中每一点的X平均偏移:dxij=(Rxij-Lxij)/scale;
步骤8、求出投影块中每一点的X平均偏移:dyij=(Ryij-Lyij)/scale;
步骤9、渐增地对投影块中每一行bky求出其Y坐标iy:iy=Lyij+(bkL×dyij);
步骤10、渐增地对投影块中每一列bkx求出其X坐标ix:ix=Lxij+(bkC×dxij);
步骤11、将以iy行ix列标志的RGB图像渐次投影到bky行bkx列上去,即渐次完成如下图像赋值操作:这里,扭曲后图像输出指针为:
ImgOpt+bky×lineByte+bkx×pixelByte+shift;
扭曲前图像的输入指针为:
ImgIpt+iy×LineByte+ix×pixelByte+shift;
其中,ImgOpt为扭曲后图像输出指针的基地址;
ImgIpt为扭曲前图像输入指针的基地址;
lineByte为每一图像行的字节数;
pixelByte为每一图像列的字节数;
shift为RGB图像渐次投影操作的偏移量,分别为0,1,2。
所述的基于局部图像扭曲的手机动漫人物创作方法还包括步骤4:通过曲线缩放实现附加的扭曲,曲线缩放采用基于双线性插值算法,在X,Y两个方向采用连续正弦或连续余弦通过曲线缩放实现扭曲的曲线;
计算连续正弦X方向逐点缩放比例的过程为:
设定弯曲度A;A取值为0.10、0.13或0.15;
计算系数α:其中,W为全幅图像的宽度;
计算X方向某点i的缩放系数:kx(i)=Sin(i*α);
按照kx(i)逐点完成X方向缩放;
Y方向采用连续余弦实现逐点缩放的过程为:
设定弯曲度A;A取值为0.10、0.13或0.15;
计算某点i的缩放系数:ky(i)=Cos(i*α1);
按照ky(i)逐点完成Y方向缩放。
scale取2,即2像素。TwistIntensit取值为5-20,radius取值40-120,sigma取值20-60。有益效果:
因为尚无人想到可以在手机上以本人(或熟人)的照片为素材、进行DIY操作来创作手机动漫人物;人们往往止步于手机(相对于台式计算机)薄弱的计算能力和稀缺的存储资源。
我们为针对手机这一特殊的平台实现DIY图像操作,在设计上采用了以下一系列措施,从而使本发明具有广泛的应用前景。
本发明的主要着力点为:
A.应用程序越简单越好。我们尽可能将每个组件制作成Midlet,将所用到的多个Midlet封装在一个Midlet包中,这使手机的程序管理器可以更节约地管理Midlet和Midlet所使用的资源。
B.应用程序越小越好。删除应用程序中暂时用不上的组件,尽量减少不必要的信息,以减少整个程序的体积。当在无线网上下载应用程序时,较小的应用程序将大大缩短下载时间,并能与设备上其他应用程序兼容(而不是排他)地运行。
C.尽量减少应用程序总内存需求。主要措施有:①少使用对象类型,换用标量类型(scalar type)。因为标量类型比对象类型占用更少的内存;②尽量少声明对象。因为当声明一个对象时,系统要在运行堆上分配空间,所以应该在应用程序即将使用该对象时再分配它,而不是程序启动时全部进行分配。而且,一旦程序不再需要该对象,就将对该对象的引用均赋值为null。③按精度需要使用数据类型。只要有可能就应该用boolean,byte,short等数据类型代替int。这种细节对台式机程序影响甚微,但对手机将会带产生积少成多的影响。④尽量重用。让多个引用在程序生存周期中的不同时间使用同一个对象。例如重用某些大型数组、重用可利用已分配的运行时存储器,使用“惰性”实例化。虽然这不符合软件工程原则,但却适合手机这种能力很弱的计算设备的现实情况。⑤避免在循环内创建对象。⑥经常检查存储器使用情况。相关的方法有:freeMemory和totalMemory。自行处理OutMemoryError错误。应当保证应用程序在内存溢出时,有一个预定的退出例程对此进行管理,而不留给操作系统。⑦及时释放资源。对文件、网络连接等等资源,当不再需要使用时,切莫占着不放。应当自己执行必要的清除操作,而不要依靠垃圾收集器或宿主环境。⑧多使用局部变量。在台式机应用中,开发人员习惯设定较多的类数据成员,而较少使用局部变量。但类数据成员实际上是类内的“全局变量”,是需要频繁的数据调度、堆栈操作支持,实际上是消耗CPU计算来支持的。通过局部变量赋值,消除访问类的数据成员的额外步骤,可以减少应用程序的CPU处理量。这样虽然失去了将数据封装在类中所带来的好处,但是,对于在手机这种微小型计算设备上运行、需要大量数据的应用程序来说,其处理速度是需要首先考虑的。
本发明以局部图像扭曲技术为基础,以本人(或熟人)的照片为素材,用计算机自动、低廉、高效地制作,也可以由手机用户在自己的手机上进行DIY操作,创造出一批短小精悍、生动活泼的数字动漫新作,穿梭于无线的时空之中。
本发明使用简单实用的数字图像处理算法,注意减少数据量和提高CPU运行效率,使受制约于手机屏幕尺寸和手机计算能力的手机动漫作品能够以低廉的创作成本和快速的运行效果,为不同年龄、不同层次、处于不同时间段的手机用户,提供亦庄亦谐的、不同风格的电子资讯,给手机用户的生活带来更多姿色和欢乐。特别要指出:本发明目的之一要是在手机这种软硬件资源远远弱于计算机的平台上实现DIY图像操作,所以在设计上采取上述一系列针对性措施是完全必要的。
本发明以局部图像扭曲技术为基础,以本人(或熟人)的照片为素材,既可以在动漫服务器高效、低廉地进行动漫人物的后台创作;也可以在用户自己的手机上进行DIY前台操作,从而具有很强的灵活性和广泛适用性。
附图说明
图1选取不同扭曲参数时的不同效果对比图;
图2原图(2a)和可接受的扭曲(2b~2h)以及可以做到但不建议使用的过份扭曲(2i~2k);
图3本发明方法的流程图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明:
实施例1:
如图3所示,一种基于局部图像扭曲的手机动漫人物创作方法,包括以下步骤:
步骤一设计图像扭曲模板;
步骤二设定扭曲参数以调整扭曲程度;
步骤三对图像进行扭曲操作,形成扭曲的人物脸谱;
步骤四,可选的通过曲线缩放实现附加的扭曲。
其中,步骤一为计图像扭曲模板,它可分解为下列步骤1和2:
步骤1、为宽度为width、高度为height的图像,建立一个具有lines行和columns列、边长为scale的无扭曲的方形格状模板-SquareTemplet,在该模板中记录每一方格左上端点的X、Y坐标。
为在手机这类低运算能力的设备中迅速运行,我们引入包含行指针和列指针的链表结构,将一个二维数组转化为一维表示:
SquareTemplet[i*columns+j].x=j*scale;
SquareTemplet[i*columns+j].y=i*scale;
其中:i为所描述的模板的第i行号;
j为所描述的模板的第j列号;
scale为方格的边长;
columns为方形格状模板的列数,与之相仿lines为方形格状模板的行数。显然,
columns=(width/scale)+1,其中width为待扭曲图像的宽度
lines=(height/scale)+1,其中height为待扭曲图像的高度
步骤2、为宽度为width、高度为height的图像,建立一个具有lines行和columns列的,其边长为scale+dx,scale+dy的有扭曲的网格模板-TwistTemplet,在该模板中记录每一方格左上端点的X、Y坐标。其中,dx和dy分别表示TwistTemplet中每一网格在X、Y方向的扭曲度。
步骤二为设定由扭曲中心线和扭曲带宽度所确立的扭曲带,根据扭曲参数建立扭曲模板,其具体步骤为:
1)建立以扭曲中心线和宽度为radius×2的扭曲带(可以将扭曲带类比为马路,扭曲中心线相当于马路中央的黄线,radius马路的二分之一宽度)。具体操作为:
步骤1、获得鼠标移动轨迹,作为扭曲带的扭曲中心线;
步骤2、从扭曲中心线初始网格开始,逐个网格调用一个自编的setRadiusArea函数直到扭曲中心线结束网格。其中,setRadiusArea函数的用途是对以网格左上角为圆心,以radius为半径所覆盖的圆面积内的所有网格,标记为扭曲带,即在SquareTemplet模板中做出(待扭曲)标记。
2)计算获得TwistTemplet中每一网格在X、Y方向的扭曲度(dx、dy)。将每一方格左上端点的X、Y坐标scale+dx和scale+dy存入TwistTemplet模板。dx,dy的取值和以下因素有关:
(1)该网格是否落在由扭曲中心线和扭曲带宽度所确立的扭曲带内?即在SquareTemplet模板中是否有标记?如无标记则dx,dy均为0;反之,dx和dy的取值与(可由创作者设定的)扭曲强度和扭曲强度分布相关。
(2)扭曲强度:TwistIntensify。
(3)扭曲强度分布:sigma。设计中取正态分布为扭曲强度分布。正态分布之sigma值表征扭曲强度的分布梯度。sigma越小,正态函数越窄,扭曲梯度变化越大。
为在手机这类低运算能力的设备中迅速运行,我们引入包含行指针和列指针的链表结构,同样地将一个二维数组转化为一维表示。从而,
TwistTemplet[i*columns+j].x=j*(scale+dx);
TwistTemplet[i*columns+j].y=i*(scale+dy);
i,j,scale,columns的含义同步骤1,
当i,j位于宽度为(可以人工设定的)radius×2的扭曲带以外时,dx,dy为0;反之,当i,j位于扭曲带以内时,
dx=TwistIntensity*Coefficent*cos(alpha)(1)
dy=TwistIntensity*Coefficent*sin(alpha)(2)
在公式(1)和公式(2)中,
TwistIntensit为可以人工设定的扭曲强度
Coefficent为在正态分布条件下当某点距扭曲中心线的距离为distance时的扭曲系数,由公式(3)算出:
公式(3)为标准的正态分布公式。其中,σ为可以人工设定的sigma值,表征扭曲强度的分布梯度。sigma越小,正态函数越窄,扭曲梯度变化越大;反之,sigma越大,正态函数越宽,扭曲梯度变化越小。d为当前网格距扭曲带中心线的距离(用像素点数来表示)。
Cos为余弦函数,sin为正弦函数,alpha为该扭曲带中心线与X轴的夹角
不难想象,因为TwistIntensit,radius,sigma这三个参数都可以连续取值,所以对它们加以组合,可以从同一幅原始图像演变出许许多多、具有意想不到扭曲效果的搞笑图像,这也是本发明的特点之一。限于篇幅,我们无法罗列出更多具有不同效果的图像,仅以表1给出三种参数的组合,并以图1显示其效果。
下表(表1)和图1列出当参数TwistIntensit,radius和sigma取不同值时,所形成的TwistTemplet模板及其相应的扭曲图像:
图号 | TwistIntensit | radius | sigma |
1a,1b | 5 | 40 | 20 |
1c,1d | 10 | 80 | 40 |
1e,1f | 20 | 120 | 60 |
考察图片中嘴部轮廓的变化不难看出,随着radius和sigma的加大,扭曲区域在扩大,扭曲梯度在减小。
步骤三为主要操作,即对图像进行扭曲操作形成扭曲的人物脸谱:
如步骤一所述,我们为宽度为width、高度为height的图像,建立一个具有lines行和columns列、边长为scale的方块,故本操作是面向边长为scale的方块逐块实现的,即通过bkTwist函数遍历lines行和columns列实现全图操作。而且,为说明本操作定义两种称谓:
(1)被渲染块:指本次操作所指向的目标图像块;
(2)投影块:将本投影块中的原图的图像内插地影射被被渲染块上去。
操作过程:以变量i自上而下逐行、以变量j自左至右而下逐列,遍历地调用一个自编的“bkTwist”(意为Block Twist)函数对每一被渲染块实施扭曲操作,从而实现对全图的扭曲操作。其中bkTwist函数的功能是将各投影块中的原图图像内插地影射到被被渲染块上去。下面将bkTwist函数的操作过程展开如下:
步骤1、根据本被渲染块所在地行号确定当前被渲染块左上角X坐标:xij=j×scale
步骤2、根据本被渲染块所在地行号确定当前被渲染块左上角Y坐标:yij=i×scale
步骤3、取出扭曲模板中对应本块的左上角X坐标:Lxij=TwistTemplet[i×columns+j].x
步骤4、取出扭曲模板中对应本块的左上角Y坐标:Lyij=TwistTemplet[i×columns+i].y
步骤5、取出扭曲模板中对应本块的右下角X坐标:Rxij=TwistTemplet[i×columns+(j+1)].x
步骤6、取出扭曲模板中对应本块的右下角Y 坐标:Ryij=TwistTemplet[i×columns+(j+1)].y
步骤7、求出投影块中每一点的X平均偏移:dxij=(Rxij-Lxij)/scale
步骤8、求出投影块中每一点的X平均偏移:dyij=(Ryij-Lyij)/scale
步骤9、渐增地对投影块中每一行bky求出其Y坐标iy:iy=Lyij+(bkL×dyij)
步骤10、渐增地对投影块中每一列bkx求出其X坐标ix:ix=Lxij+(bkC×dxij)
步骤11、将以iy行ix列标志的RGB图像渐次投影到bky行bkx列上去,即渐次完成如下图像赋值操作:其中图像输出指针为:
ImgOpt+bky×lineByte+bkx×pixelByte+shift (4)
图像输入指针为:
ImgIpt+iy×LineByte+ix×pixelByte+shift (5)
且,其中,ImgOpt为扭曲后图像的输出指针;
ImgIpt为扭曲前图像的输入指针;
lineByte为每一图像行的字节数;
pixelByte为每一图像列的字节数;
shift为RGB图像渐次投影操作的偏移量,分别为0,1,2。
步骤四为通过曲线缩放实现附加的扭曲,其中:
步骤1:缩放算法
设图像X轴方向算法描述的缩放比为kx,Y轴方向算法描述的缩放比为ky(具体每一图像点的缩放比例按下一节缩放曲线中的选择确定。)由此,缩放后输出图像(x,y)点的像素值g(x,y)对应于原图中座标为(u,v)的像素值f(u,v),即
g(x,y)=f(u,v) (6)
x=u×kx即
y=v×ky即
为减小缩放操作后非所欲的图像色变,就必须进行图像插值。本发明提出一种基于双线性插值算法,它使用与待估像素距离最近的四个像素值线性内插获得新的像素值。
通常u和v为带小数的数值,双线性插值法完成式1中(x,y)点到(u,v)的映射。
若令a=u-[u],b=v-[v],其中[u]表示对u取整数,[v]表示对v取整数,则g(x,y)的取值由如下公式计算:
缩放后输出图像(x,y)点的像素值g(x,y)=f(u,v)=b1t1+(1-b1)t2;(7)
其中,
t1=a1f([u]+1,[v]+1)+(1-a1)f([u],[v]+1);
t2=a1f([u]+1,[v])+(1-a1)f([u],[v]);
a1=u-[u],b1=v-[v],其中[u]表示对u取整数,[v]表示对v取整数;
步骤2:缩放扭曲曲线
在X,Y两个方向分别设计了“连续正弦”和“连续余弦”两类通过曲线缩放实现扭曲的曲线,每种曲线都有“低”、“中”、“高”三种弯曲度选择。弯曲度低的曲线用于浅度扭曲,反之弯曲度高的曲线用于深度扭曲。弯曲度由低到高分别为0.10,0.13,0.15。
例如计算连续正弦X方向逐点缩放比例的过程为:
(1)设定弯曲度A;
(3)计算X方向某点i的缩放系数:kx(i)=Sin(i*α);
(4)按照kx(i)逐点完成X方向缩放;
同理完成Y方向缩放。
假设Y方向采用连续余弦实现逐点缩放,则其过程为:
(1)设定弯曲度A;
(3)计算Y方向某点i的缩放系数:ky(i)=Cos(i*α);
(4)按照ky(i)逐点完成Y方向缩放。
图2(F)是在完成局部扭曲后(嘴部),通过曲线缩放又实现了附加的扭曲(脸颊)。
Claims (3)
1.一种基于局部图像扭曲的手机动漫人物创作方法,其特征在于,包括以下步骤:
步骤一:基于待操作的数码人像的尺寸设计无扭曲模板和扭曲模板;
步骤二:设定由扭曲中心线和扭曲带宽度所确立的扭曲带,根据扭曲参数为扭曲模板赋值;
步骤三:基于所述的扭曲模板对待操作的数码人像进行扭曲操作,形成扭曲的人物脸谱;
所述的步骤一的具体步骤为:
步骤a:为宽度为width、高度为height的待操作的数码人像,建立一个具有lines行和columns列、方形格的边长为scale的无扭曲的方形格状模板-无扭曲模板,在该无扭曲模板中记录每一方格左上端点的X、Y坐标;为便于在低运算能力的手机中快速运行,采用包含行指针和列指针的链表结构,将一个二维数组转化为一维表示;
步骤b:为上述同一数码人像建立一个具有lines行和columns列的网格,每一网格边长为scale的用于存放扭曲量dx,dy的网格状模板-扭曲模板,在该扭曲模板中记录每一方格左上端点的X、Y坐标;为便于在低运算能力的手机中快速运行,采用包含行指针和列指针的链表结构,将一个二维数组转化为一维表示;
所述的步骤二的具体步骤为:
1)建立以扭曲中心线和扭曲带宽度所形成的扭曲带,并在无扭曲模板中做出待扭曲标记,其过程为:
获得鼠标移动轨迹,作为扭曲带的扭曲中心线;扭曲带宽度由用户设定;以扭曲中心线经过的网格左上角为圆心,以radius为半径所覆盖的圆面积内的所有网格,标记为扭曲带,radius为扭曲带宽度的1/2;
2)计算获得扭曲模板中每一网格在X、Y方向的扭曲度dx、dy,将每一方格左上端点的X、Y坐标scale+dx和scale+dy存入扭曲模板,最终完成扭曲模板的赋值;
dx,dy按以下方法取值:
判断当前网格是否在无扭曲模板中做出标记,如无标记,则dx,dy都取0,否则,
dx=TwistIntensity*Coefficent*cos(alpha);
dy=TwistIntensity*Coefficent*sin(alpha);
TwistIntensity为用户设定的扭曲强度,Coefficent为在正态分布条件下当某点距扭曲中心线的距离为distance时的扭曲系数:
σ为可以人工设定的sigma值,表征扭曲强度的分布梯度,d为当前网格距扭曲带中心线的距离,alpha为该扭曲带中心线在当前方格处的切线与x轴的夹角。
2.根据权利要求1所述的基于局部图像扭曲的手机动漫人物创作方法,其特征在于,还包括步骤4:通过曲线缩放实现附加的扭曲,曲线缩放采用基于双线性插值算法,在X,Y两个方向采用连续正弦或连续余弦通过曲线缩放实现扭曲的曲线;
计算连续正弦X方向逐点缩放比例的过程为:
设定弯曲度A;A取值为0.10、0.13或0.15;
计算X方向某点i的缩放系数:kx(i)=Sin(i*α);
按照kx(i)逐点完成X方向缩放;
Y方向采用连续余弦实现逐点缩放的过程为:
设定弯曲度A;A取值为0.10、0.13或0.15;
计算某点i的缩放系数:ky(i)=Cos(i*α1);
按照ky(i)逐点完成Y方向缩放。
3.根据权利要求2所述的基于局部图像扭曲的手机动漫人物创作方法,其特征在于,scale取2,即2像素;TwistIntensity取值为5-20,radius取值40-120,sigma取值20-60。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110169006 CN102243767B (zh) | 2011-06-22 | 2011-06-22 | 一种基于局部图像扭曲的手机动漫人物创作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110169006 CN102243767B (zh) | 2011-06-22 | 2011-06-22 | 一种基于局部图像扭曲的手机动漫人物创作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102243767A CN102243767A (zh) | 2011-11-16 |
CN102243767B true CN102243767B (zh) | 2013-04-03 |
Family
ID=44961805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110169006 Expired - Fee Related CN102243767B (zh) | 2011-06-22 | 2011-06-22 | 一种基于局部图像扭曲的手机动漫人物创作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102243767B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750389B (zh) * | 2015-03-31 | 2016-08-17 | 努比亚技术有限公司 | 显示图片的方法及装置 |
CN111097169B (zh) * | 2019-12-25 | 2023-08-29 | 上海米哈游天命科技有限公司 | 一种游戏图像的处理方法、装置、设备及存储介质 |
CN116975335B (zh) * | 2023-09-25 | 2023-12-26 | 瀚博半导体(上海)有限公司 | 图像扭曲运算的顺序仿存方法、装置、介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034481A (zh) * | 2007-04-06 | 2007-09-12 | 湖北莲花山计算机视觉和信息科学研究院 | 一种肖像画的自动生成方法 |
CN101281653A (zh) * | 2008-04-30 | 2008-10-08 | 湖南拓维信息系统股份有限公司 | 将观众的个人脸谱融入动画角色的方法 |
CN101826217A (zh) * | 2010-05-07 | 2010-09-08 | 上海交通大学 | 人脸动画快速生成方法 |
CN102074035A (zh) * | 2010-12-29 | 2011-05-25 | 拓维信息系统股份有限公司 | 一种基于全景图像扭曲的手机动漫人物创作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006111602A1 (en) * | 2005-04-19 | 2006-10-26 | Nokia Corporation | A method for creating distorted portraits using camera with a wire frame overlay |
-
2011
- 2011-06-22 CN CN 201110169006 patent/CN102243767B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034481A (zh) * | 2007-04-06 | 2007-09-12 | 湖北莲花山计算机视觉和信息科学研究院 | 一种肖像画的自动生成方法 |
CN101281653A (zh) * | 2008-04-30 | 2008-10-08 | 湖南拓维信息系统股份有限公司 | 将观众的个人脸谱融入动画角色的方法 |
CN101826217A (zh) * | 2010-05-07 | 2010-09-08 | 上海交通大学 | 人脸动画快速生成方法 |
CN102074035A (zh) * | 2010-12-29 | 2011-05-25 | 拓维信息系统股份有限公司 | 一种基于全景图像扭曲的手机动漫人物创作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102243767A (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174659A1 (zh) | 一种基于WebGL可编辑大场景渐进式实时渲染方法 | |
US7661071B2 (en) | Creation of three-dimensional user interface | |
CN100338612C (zh) | 基于毛笔和宣纸的水墨传输模型与仿真算法 | |
CN103984720B (zh) | 基于OpenGL的瓦片地图创建方法及装置 | |
CN102385744B (zh) | 3d建模对象的水印添加 | |
DE102018114286A1 (de) | Durchführen einer Traversierungs-Stack-Komprimierung | |
CN103927424B (zh) | 利用体网格简化建筑三维模型结构的方法 | |
CN106600679A (zh) | 一种三维模型数据简化的方法 | |
CN101989178A (zh) | 多叉树数据结构的立体环状可视化方法 | |
CN102243767B (zh) | 一种基于局部图像扭曲的手机动漫人物创作方法 | |
CN102306389B (zh) | 一种手机动漫人物及背景的浮雕效果实现方法 | |
CN102117491B (zh) | 一种三维建模中纹理数据的绘制方法及装置 | |
CN103793549B (zh) | 采用模糊聚类与随机游走的计算机辅助乱针绣制作方法 | |
He et al. | Real-Time Extendible-Resolution Display of On-line Dynamic Terrain. | |
CN107102991A (zh) | 一种三维gis系统中的杆塔参数化建模方法 | |
CN111221514A (zh) | 基于OsgEarth的三维可视化组件实现方法及系统 | |
CN102663160A (zh) | 一种构建三维物理电路设计模型的方法 | |
CN102074035B (zh) | 一种基于全景图像扭曲的手机动漫人物创作方法 | |
CN102521867B (zh) | 一种手机动漫人物及背景创作方法 | |
Wang et al. | An improving algorithm for generating real sense terrain and parameter analysis based on fractal | |
KR20080018405A (ko) | 3차원 지형의 제작을 제공하는 지형 제작 프로그램을기록한 컴퓨터 판독가능 기록매체 | |
CN111046214B (zh) | 一种动态处理模型的方法 | |
CN109598785A (zh) | 一种三维网格模型视图转换方法 | |
CN100476880C (zh) | 一种产生体积阴影的方法及系统 | |
Zhang et al. | Computer simulation and generation of moving sand pictures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130403 |