图像处理方法、装置、存储介质及电子设备与流程

文档序号:33507009发布日期:2023-03-18 02:53阅读:63来源:国知局
图像处理方法、装置、存储介质及电子设备与流程

1.本发明涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、存储介质及电子设备。


背景技术:

2.随着游戏产业和漫画产业的蓬勃发展,游戏产品和漫画产品的更新速度逐步加快。游戏产品和漫画产品的更新主要包括绘制线稿图像和对线稿图像进行上色两个过程。
3.在对线稿进行上色时,考虑到线稿所对应场景中的光影效果,通常会对线稿中的阴影区域进行识别和上色,以使上色后线稿可以具有阴影效果。目前,主要采用训练好的神经网络模型对线稿图像中的阴影区域自动识别和上色,但是,由于神经网络模型需要提前针对物体类型进行大量线稿图样本的学习,比如人脸、车等物体类型,故训练后的神经网络模型只能用于处理已知的物体类型的阴影区域识别和上色,无法针对未知的物体类型进行处理,适用局限性较强,阴影处理效果较差。


技术实现要素:

4.本技术提供一种图像处理方法、装置、存储介质及电子设备,能适用于各种对象的阴影效果绘制,提高阴影处理效果。
5.本技术实施例提供了一种图像处理方法,包括:
6.获取待处理的线稿图像,所述线稿图像中包括至少一个对象;
7.确定所述对象对应的至少一条轮廓线、以及每条所述轮廓线对应的初始高度层级;
8.根据所述初始高度层级和所述轮廓线,确定每条所述轮廓线中各像素点的目标高度值;
9.根据所述目标高度值和所述线稿图像,生成所述对象的阴影渲染图像。
10.本技术实施例还提供了一种图像处理装置,包括:
11.获取模块,用于获取待处理的线稿图像,所述线稿图像中包括至少一个对象;
12.第一确定模块,用于确定所述对象对应的至少一条轮廓线、以及每条所述轮廓线对应的初始高度层级;
13.第二确定模块,用于根据所述初始高度层级和所述轮廓线,确定每条所述轮廓线中各像素点的目标高度值;
14.生成模块,用于根据所述目标高度值和所述线稿图像,生成所述对象的阴影渲染图像。
15.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述任一项图像处理方法。
16.本技术实施例还提供了一种电子设备,包括耦合的存储器和处理器,所述存储器存储内有计算机程序,所述处理器用于运行所述存储器内的所述计算机程序,以执行上述
任一项图像处理方法。
17.本技术提供的图像处理方法、装置、存储介质及电子设备,通过获取待处理的线稿图像,线稿图像中包括至少一个对象,确定对象对应的至少一条轮廓线、以及每条轮廓线对应的初始高度层级,根据初始高度层级和轮廓线,确定每条轮廓线中各像素点的目标高度值,根据目标高度值和线稿图像,生成该对象的阴影渲染图像,从而能准确地为线稿图像中各种类型的对象绘制出其阴影效果,适用范围广,阴影处理效果较好。
附图说明
18.下面结合附图,通过对本技术的具体实施方式详细描述,将使本技术的技术方案及其它有益效果显而易见。
19.图1为本技术实施例提供的图像处理方法的流程示意图。
20.图2为本技术实施例提供的线稿图像的展示示意图。
21.图3为本技术实施例提供的图像处理方法的另一流程示意图。
22.图4为本技术实施例提供的图像处理装置的结构示意图。
23.图5为本技术实施例提供的电子设备的结构示意图。
24.图6为本技术实施例提供的电子设备的另一结构示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,本技术所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.需要说明的是,本文中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
27.本技术实施例提供一种图像处理方法、装置、存储介质及电子设备。
28.请参见图1,图1是本技术实施例提供的图像处理方法的流程示意图,该图像处理方法应用于服务器或终端等电子设备中,该电子设备可以适用于动画制作、动漫制作以及游戏制作等场景。该图像处理方法的具体流程可以包括如下步骤s101-s104,其中:
29.s101.获取待处理的线稿图像,线稿图像中包括至少一个对象。
30.其中,线稿图像是指由线条组合而成,没有上色的效果图。线稿图像上的对象可以是人物、动物或者其它类型的物体。线稿图像可以是利用绘图软件绘制得到,也可以是对纸质的线稿图纸拍摄得到的。不同于rgb三通道的彩色图像,线稿图像一般为单通道图像,通常情况下,线稿图像中线条的颜色为黑色,其余部分为白色,也即像素点只有黑色和白色两种颜色,其中,黑色像素点(可以认为是非空白的像素点)的像素值可以为0,白色像素点(可以认为是空白的像素点)的像素值可以为255或1。在一些实施方式中,线稿图像也可以是由彩色线条绘制的线条图转换得到的灰度图,此时,像素点的像素值在0~1之间或者0~255之间取值,像素值为1或255代表空白的像素点,其余数值的像素值代表非空白的像素点。
31.s102.确定对象对应的至少一条轮廓线、以及每条轮廓线对应的初始高度层级。
32.其中,线稿图像上的各个对象是通过轮廓线来呈现其形状,轮廓线包括外轮廓线和内轮廓线,可以认为线稿图像上的线条是各个对象的轮廓线。请参见图2,图2是本技术实施例提供的线稿图像的展示示意图,其中,线稿图像上的对象为人物a,其上黑色的线条也即人物a的轮廓线。由于线稿图像为二维平面坐标系(比如x轴和y轴),而对对象进行阴影渲染时,需要在世界坐标系(比如x轴、y轴和z轴)中进行,其中,z轴可以模拟为摄像机光轴,z轴值的大小影响最终的阴影效果,故可以为线稿图像上的像素点设置一个初始的z轴值,而不同的初始高度层级对应不同的z轴值。
33.需要指出的是,由于线稿图像一般是人工绘制,存在一定的误差,且图像是基于像素点形式进行呈现,故线稿图像上各个对象的轮廓线可能会存在肉眼可见或不可见的不连续情况,也即轮廓线上相邻两个像素点之间存在间隔,此时,若直接将这些像素点通过直线段连接成轮廓线,可能得到的是非光滑的多段折线,轮廓线不自然,不利于后续阴影效果的生成,而若要得到自然的轮廓线,可以基于这些不连续的像素点进行线条拟合,以得到光滑的曲线作为轮廓线。
34.在一些实施方式中,请参见图3,上述步骤s102具体可以包括下述步骤s1021-s1023,其中:
35.s1021.对当前的对象进行外轮廓扫描,得到多个目标像素点,并记录已扫描次数。
36.其中,目标像素点是非空白的像素点,也即像素值不为255或1的像素点。若要得到对象的所有轮廓线,可以采用由上下左右做逼近的方式,逐个像素点对对象进行外轮廓扫描,基于每次扫描得到的目标像素点拟合成相应轮廓线。
37.具体的,对于首次扫描,对象的外轮廓线是最外圈像素值不为255或1的像素点对应的轮廓线,对于非首次扫描,对象的外轮廓线是去除之前扫描得到的目标像素点后,剩余像素点中最外圈像素值不为255或1的像素点对应的轮廓线,也即每次扫描的像素点数量是在不断缩小的,每次外边缘扫描得到的目标像素点,都是当前剩余像素点中,每行像素最左边和最右边的两个像素值不为255或1的像素点,以及每列像素最上边和最下边的两个像素值不为255或1的像素点,当然,若某行像素只剩一个像素值不为255或1的像素点,则最左边和最右边的像素点为同一个点,若某列像素只剩一个像素值不为255或1的像素点,则最上边和最下边的像素点也为同一个点,若某行或某列像素中剩余的全部是像素值为255或1的像素点,则这行或列的扫描结果为空。
38.s1022.确定目标像素点对应的至少一条轮廓线,并根据已扫描次数确定轮廓线对应的初始高度层级。
39.在一些实施方式中,上述步骤“确定目标像素点对应的至少一条轮廓线”具体可以包括:
40.获取每个目标像素点的图像坐标;
41.根据图像坐标确定相邻两个目标像素点之间的坐标距离;
42.根据坐标距离和图像坐标对目标像素点进行线条拟合,得到至少一条轮廓线。
43.其中,相邻是指坐标位置相邻,图像坐标一般表现为(x,y)形式,x代表x轴上的坐标值,y代表y轴上的坐标值。由于每次外轮廓扫描时,最外圈的目标像素点可能对应多条轮廓线,也可能对应单条轮廓线,考虑到对于同一条轮廓线上的目标像素点来说,相邻两个目
标像素点之间的间距一般比较小,对于不同轮廓线上的目标像素点来说,任意两个目标像素点之间的间距一般都比较大,故在进行线条拟合时,可以先根据相邻目标像素点之间的坐标距离来对目标像素点进行分组,每个组对应一条轮廓线,其中,可以将坐标距离较大,比如大于设定间隔阈值的相邻两个目标像素点归为一组,从而可以得到至少一个组。
44.在进行线条拟合时,可以按组进行拟合,拟合过程中,可以先引入一个参数s,s定义为:
[0045][0046]
其中,δx(j)=x(j)-x(j-1);
[0047]
δy(j)=y(j)-y(j-1);
[0048]
其中,i∈[2,n],j∈[2,n],n为每组中目标像素点的个数,s(i)为从第一个目标像素点开始依次连接到第i个目标像素点的线条长度(通常是折线长度),x
(j)
为第j个目标像素点的x轴坐标值,y
(j)
为第j个目标像素点的y轴坐标值。
[0049]
在拟合过程中,将每组中的目标像素点作为离散点,通过以上公式进行遍历,得到多个s值,每个目标像素点对应一个s值,之后,建立参数方程x=h(s),y=g(s),由于s值是一个递增数列,故h和g是容易拟合的,基于拟合函数h和g,输入任意的s值,都可以得到对应的x和y值,之后,可以利用曲线拟合工具(curve fitting tool)形成相应的轮廓线。
[0050]
在一些实施方式中,上述步骤“根据已扫描次数确定轮廓线对应的初始高度层级”具体可以包括:
[0051]
将已扫描次数作为相应轮廓线的初始高度层级。
[0052]
其中,可以按照扫描顺序,将相应轮廓线的高度一层层叠加。对于首次扫描得到的至少一条轮廓线,可以将其初始高度层级设定为1,也即第一层轮廓线,之后每次扫描得到的至少一条轮廓线,将其高度叠加在上一层轮廓线上,也即初始高度层级依次递增1,比如第二层轮廓线、第三层轮廓线等。容易理解的是,每次扫描得到的外轮廓线,可能是闭合线或非闭合线,闭合线是指起点和终点为同一目标像素点,非闭合线是指起点和终点为不同目标像素点。
[0053]
s1023.将对象中除目标像素点之外剩余的像素点作为当前的对象,并返回执行上述步骤s1021,直至满足预设条件结束。
[0054]
其中,预设条件可以是当前对象只剩一个目标像素点或不存在目标像素点,当满足预设条件时,即认为该对象已完成所有轮廓线的扫描。
[0055]
s103.根据初始高度层级和轮廓线,确定每条轮廓线中各像素点的目标高度值。
[0056]
其中,目标高度值可以看作是相应像素点在z轴上的坐标值。
[0057]
在一些实施方式中,请继续参见图3,上述步骤s103具体可以包括以下步骤s1031-s1034,其中:
[0058]
s1031.确定每条轮廓线的线条长度。
[0059]
其中,线条长度即上述s值,也即将每组目标像素点中所有目标像素点连接后的线条长度,比如当有n个目标像素点时,线条长度为s
(n)

[0060]
s1032.确定相邻的两个初始高度层级对应的轮廓线之间的最小距离。
[0061]
其中,该最小距离是相邻两层轮廓线之间的最小垂线距离,通常情况下,两条轮廓线(曲线)之间可以计算出很多个垂线距离。
[0062]
需要指出的是,上述步骤s1031和s1032可以同时进行,也可以先后执行,此处不做限制。
[0063]
s1033.根据线条长度、最小距离和初始高度层级,确定每条轮廓线对应的目标高度层级。
[0064]
其中,由于初始高度层级的设置仅仅是基于扫描先后顺序来确定,很难体现出轮廓线的实际高度值(z轴坐标值)大小,还需根据线条长度和最小距离对初始高度层级进行调整,得到目标高度层级。
[0065]
在一些实施方式中,上述步骤s1033具体可以包括:
[0066]
当线条长度小于预设长度阈值时,将相应轮廓线对应的初始高度层级进行下降调整;
[0067]
当最小距离小于预设距离阈值时,将相应的两个初始高度层级中,数值较大的初始高度层级进行下降调整;
[0068]
将下降调整后的所述初始高度层级作为相应轮廓线的目标高度层级,且将剩余未调整的所述初始高度层级作为相应轮廓线的目标高度层级。
[0069]
其中,预设长度阈值、预设距离阈值和下降调整的幅度均是人为设定的。由于之前已按照扫描顺序,将轮廓线的初始高度层级以1作为增量递增,故后续在调整高度层级时,下降调整的幅度可以为2个层级,也即将之前得到的初始高度层级的数值减2,从而使相应轮廓线的层级从升1级变为降1级。
[0070]
比如,对于第三次扫描得到的轮廓线,其初始高度层级为3,相对于第二次扫描得到的轮廓线来说,本来高度层级上升了一层,但是若该轮廓线的线条长度小于预设距离阈值,或者该轮廓线与第二次扫描得到的轮廓线之间的最小垂线距离小于预设距离阈值,则将其初始高度层级减2,从3变为1,从而相对于第二次扫描得到的轮廓线来说,其高度层级下降了一层,而若第三次扫描得到的轮廓线的线条长度大于或者等于预设长度阈值,或者其与第二次扫描得到的轮廓线之间的最小垂线距离大于或等于预设距离阈值,则不对初始高度层级进行调整,从而相对于第二次扫描得到的轮廓线来说,其高度层级上升了一层。需要注意的是,若单次扫描得到了多条轮廓线,则这些轮廓线中,可能有些轮廓线的高度层级需要上升一层,有些轮廓线的高度层级需要下降一层。
[0071]
s1034.根据目标高度层级确定对应轮廓线中各个像素点的目标高度值。
[0072]
在一些实施方式中,上述步骤s1034具体可以包括:
[0073]
确定预设高度增量和所述目标高度层级之间的乘积;
[0074]
确定该乘积和预设起始高度值之间的和值,并将该和值作为对应轮廓线中各个像素点的初始高度值;
[0075]
对初始高度值进行平滑处理,得到对应轮廓线中各个像素点的目标高度值。
[0076]
其中,预设高度增量和预设起始高度值可以人为设定,比如预设高度增量可以为1,也即高度层级每上升一层,高度值增加1,预设起始高度值可以默认为2。初始高度值可以是以预设起始高度值为高度起点,按照高度层级进行递增得到,比如第一层轮廓线中各个像素点的初始高度值为2,第二层轮廓线中各个像素点的初始高度层级为3,第三层轮廓线
中各个像素点的初始高度层级为4。由于初始高度值是一些离散值,为避免后续基于此生成的阴影效果不自然,可以对其进行平滑处理。
[0077]
具体的,可以采用偏导ddx,ddy的方式做平滑处理,具体平滑处理公式如下:
[0078][0079]
其中,ρ为一个变量参数,f()为正态分布函数,p(xi,yj)为第i行第j列的像素点的初始高度值,i的取值范围为对应轮廓线中像素点所在的行的数值范围,j的取值范围为对应轮廓线中像素点所在的列的数值范围,d为距离第i行第j列的像素点距离最近的上下左右四个非空白的像素点的距离。
[0080]
s104.根据目标高度值和线稿图像,生成对象的阴影渲染图像。
[0081]
其中,阴影渲染图像是指使对象具有阴影效果的渲染图像。
[0082]
在一些实施方式中,上述步骤s104具体可以包括:
[0083]
s1041.根据目标高度值确定轮廓线中各个像素点的法线信息。
[0084]
其中,对于轮廓线上的每个像素点,可以通过该像素点、以及该像素点上下左右四个最近的非空白的像素点,形成4个面,计算出这四个面的法线向量后求其法线向量的平均值,将平均值作为该像素点的法线信息。
[0085]
s1042.根据法线信息、目标高度值和预设光照参数信息生成对象的阴影信息。
[0086]
在一些实施方式中,上述步骤s1042具体可以包括:
[0087]
根据法线信息生成对象对应的闭塞图;
[0088]
根据目标高度值生成对象对应的遮挡图;
[0089]
根据闭塞图、遮挡图和预设光照参数信息,生成对象的阴影信息。
[0090]
其中,闭塞图可以是以像素点的法线向量的偏导数作为像素值(取值范围在0~1之间),得到的图像,遮挡图可以是以像素点的目标高度值作为像素值,得到的图像。需要说明的是,由于对象是由各个轮廓线围成的整个图像区域,故其通常包括空白的像素点(也即像素值为255或1的像素点)、以及非空白的像素点(也即像素值不为255或1的像素点),对于非空白的像素点,可以将其法线信息设置为0,也即闭塞图上相应像素点的像素值为0,同样的,可以将空白的像素点的目标高度值设置为0,也即遮挡图上相应像素点的像素值为0。
[0091]
在生成阴影信息时,可以先根据遮挡图和预设光照参数信息计算出每个像素点的投影向量,之后,根据投影向量和闭塞图来计算像素点对应的阴影信息。其中,预设光照参数决定了光照方向、光照强度和软硬度等光照信息,其可以包括点光源位置,通常情况下,对象中每个像素点接收到点光源射出的光线的方向都不同,用户可以根据实际需求来设定所需的光照参数。
[0092]
其中,对于任意一个像素点,其投影向量的计算公式可以如下:
[0093][0094]
平面方程:n
·
q+d=0;
[0095]
其中,n为投影平面的平面法线(单位化),q为投影平面上的任意点,d为平面方程中的距离参数,s为点光源坐标。q’x
、q’y
和q’z
分别为投影平面上任意点坐标的x轴分量、y轴
分量和z轴分量(也即投影向量的分量),为n
x
、ny和nz分别为平面法线n的y轴分量、y轴分量和z轴分量,s
x
、sy和sz分别为点光源坐标的x轴分量、y轴分量和z轴分量,p
x
、py和pz分别为像素点坐标的x轴分量、y轴分量和z轴分量(z轴分量也即遮挡图上像素点的像素值)。
[0096]
当得到每个像素点在各个坐标轴上的投影向量的分量后,可以将该投影向量的分量乘以闭塞图上相应像素点的像素值,其乘积即为该像素点对应的阴影信息,最终,当计算出对象中每个像素点对应的阴影信息之后,可以将所有阴影信息作为该对象的阴影信息。
[0097]
s1043.根据阴影信息和线稿图像,生成对象的阴影渲染图像。
[0098]
其中,可以将阴影信息作为第二图层,将线稿图像作为第一图层,将两者进行图层叠加,得到的叠加图像即为阴影渲染图像。
[0099]
由上述可知,本技术实施例提供的图像处理方法,通过获取待处理的线稿图像,线稿图像中包括至少一个对象,确定对象对应的至少一条轮廓线、以及每条轮廓线对应的初始高度层级,根据初始高度层级和所述轮廓线,确定每条轮廓线中各像素点的目标高度值,根据目标高度值和线稿图像,生成对象的阴影渲染图像,从而能准确地为线稿图像中各种类型的对象自动绘制出其阴影效果,适用范围广,阴影处理效果较好。
[0100]
基于上述实施例所描述的方法,本实施例将从图像处理装置的角度进一步进行描述,该图像处理装置具体可以作为独立的实体来实现,其可以应用于服务器或终端等电子设备中,该终端可以包括手机、平板电脑、个人pc等,该服务器可以是能提供动画制作、动漫制作以及游戏制作服务的服务器。
[0101]
请参阅图4,图4具体描述了本技术实施例提供的图像处理装置,该图像处理装置可以包括:获取模块10、第一确定模块20、第二确定模块30和生成模块40,其中:
[0102]
(1)获取模块10
[0103]
获取模块10,用于获取模块,用于获取待处理的线稿图像,该线稿图像中包括至少一个对象。
[0104]
(2)第一确定模块20
[0105]
第一确定模块20,用于确定该对象对应的至少一条轮廓线、以及每条该轮廓线对应的初始高度层级。
[0106]
在一些实施方式中,上述第一确定模块20具体用于:
[0107]
对当前的该对象进行外轮廓扫描,得到多个目标像素点,并记录已扫描次数;
[0108]
确定该目标像素点对应的至少一条轮廓线,并根据该已扫描次数确定该轮廓线对应的初始高度层级;
[0109]
将该对象中除该目标像素点之外剩余的像素点作为当前的该对象,并返回执行该对当前的该对象进行外轮廓扫描的步骤,直至满足预设条件结束。
[0110]
进一步地,上述第一确定模块20用于:
[0111]
获取每个该目标像素点的图像坐标;
[0112]
根据该图像坐标确定相邻两个该目标像素点之间的坐标距离;
[0113]
根据该坐标距离和该图像坐标对该目标像素点进行线条拟合,得到至少一条轮廓线。
[0114]
进一步地,上述第一确定模块20用于:
[0115]
将该已扫描次数作为相应轮廓线的初始高度层级。
[0116]
(3)第二确定模块30
[0117]
第二确定模块30,用于根据该初始高度层级和该轮廓线,确定每条该轮廓线中各像素点的目标高度值。
[0118]
在一些实施方式中,该第二确定模块30具体用于:
[0119]
确定每条该轮廓线的线条长度;
[0120]
确定相邻的两个该初始高度层级对应的该轮廓线之间的最小距离;
[0121]
根据该线条长度、该最小距离和该初始高度层级,确定每条该轮廓线对应的目标高度层级;
[0122]
根据该目标高度层级确定对应轮廓线中各个像素点的目标高度值。
[0123]
在一些实施方式中,该第二确定模块30具体用于:
[0124]
当该线条长度小于预设长度阈值时,将相应轮廓线对应的该初始高度层级进行下降调整;
[0125]
当该最小距离小于预设距离阈值时,将相应的两个该初始高度层级中,数值较大的该初始高度层级进行下降调整;
[0126]
将下降调整后的该初始高度层级作为相应轮廓线的目标高度层级,且将剩余未调整的该初始高度层级作为相应轮廓线的目标高度层级。
[0127]
在一些实施方式中,该第二确定模块30具体用于:
[0128]
确定预设高度增量和该目标高度层级之间的乘积;
[0129]
确定该乘积和预设起始高度值之间的和值,并将该和值作为对应轮廓线中各个像素点的初始高度值;
[0130]
对该初始高度值进行平滑处理,得到对应轮廓线中各个像素点的目标高度值。
[0131]
(4)生成模块40
[0132]
生成模块40,用于根据该目标高度值和该线稿图像,生成该对象的阴影渲染图像。
[0133]
在一些实施方式中,该生成模块40具体用于:
[0134]
根据该目标高度值确定该轮廓线中各个像素点的法线信息;
[0135]
根据该法线信息、该目标高度值和预设光照参数信息生成该对象的阴影信息;
[0136]
根据该阴影信息和该线稿图像,生成该对象的阴影渲染图像。
[0137]
在一些实施方式中,该生成模块40进一步用于:
[0138]
根据该法线信息生成该对象对应的闭塞图;
[0139]
根据该目标高度值生成该对象对应的遮挡图;
[0140]
根据该闭塞图、该遮挡图和该预设光照参数信息,生成该对象的阴影信息。
[0141]
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
[0142]
另外,本技术实施例还提供一种电子设备,该电子设备可以是智能手机、平板电脑等设备。如图5所示,电子设备200包括处理器201、存储器202。其中,处理器201与存储器202电性连接。
[0143]
处理器201是电子设备200的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器202内的应用程序,以及调用存储在存储器202内
的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
[0144]
在本实施例中,电子设备200中的处理器201会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器202中,并由处理器201来运行存储在存储器202中的应用程序,从而实现各种功能。
[0145]
图6示出了本技术实施例提供的电子设备的具体结构框图,该电子设备可以用于实施上述实施例中提供的图像处理方法。该电子设备可以包括智能手机或服务器。
[0146]
该电子设备可以包括一个或者一个以上处理核心的处理器301、一个或一个以上计算机可读存储介质的存储器302、射频(radio frequency,rf)电路303、电源304、输入单元305、以及显示单元306等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0147]
处理器301是该电子设备的控制中心。其中,处理器利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器可包括一个或多个处理核心;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地是,上述调制解调处理器也可以不集成到处理器中。
[0148]
存储器302可用于存储软件程序(计算机程序)以及模块,处理器301通过运行存储在存储器302的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器302可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器302还可以包括存储器控制器,以提供处理器301对存储器302的访问。
[0149]
rf电路303可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器301处理;另外,将涉及上行的数据发送给基站。通常,rf电路303包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、低噪声放大器(lna,low noise amplifier)、双工器等。此外,rf电路303还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,global system of mobile communication)、通用分组无线服务(gprs,general packet radio service)、码分多址(cdma,code division multiple access)、宽带码分多址(wcdma,wideband code division multiple access)、长期演进(lte,long term evolution)、电子邮件、短消息服务(sms,short messaging service)等。
[0150]
电子设备还包括给各个部件供电的电源304(比如电池),优选的,电源304可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源304还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0151]
该电子设备还可包括输入单元305,该输入单元305可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体地实施例中,输入单元305可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元305还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0152]
该电子设备还可包括显示单元306,该显示单元306可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元306包括多个硬件显示处理单元、视频帧处理模块、显示屏等。其中,多个硬件显示处理单元、视频帧处理模块可集成在处理芯片中。其中,显示屏可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0153]
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器301会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能,如下:
[0154]
获取待处理的线稿图像,该线稿图像中包括至少一个对象;
[0155]
确定该对象对应的至少一条轮廓线、以及每条该轮廓线对应的初始高度层级;
[0156]
根据该初始高度层级和该轮廓线,确定每条该轮廓线中各像素点的目标高度值;
[0157]
根据该目标高度值和该线稿图像,生成该对象的阴影渲染图像。
[0158]
在一些实施方式中,该确定该对象对应的至少一条轮廓线、以及每条该轮廓线对应的初始高度层级,包括:
[0159]
对当前的该对象进行外轮廓扫描,得到多个目标像素点,并记录已扫描次数;
[0160]
确定该目标像素点对应的至少一条轮廓线,并根据该已扫描次数确定该轮廓线对应的初始高度层级;
[0161]
将该对象中除该目标像素点之外剩余的像素点作为当前的该对象,并返回执行该对当前的该对象进行外轮廓扫描的步骤,直至满足预设条件结束。
[0162]
在一些实施方式中,该确定该目标像素点对应的至少一条轮廓线,包括:
[0163]
获取每个该目标像素点的图像坐标;
[0164]
根据该图像坐标确定相邻两个该目标像素点之间的坐标距离;
[0165]
根据该坐标距离和该图像坐标对该目标像素点进行线条拟合,得到至少一条轮廓线。
[0166]
在一些实施方式中,该根据该已扫描次数确定该轮廓线对应的初始高度层级,包括:
[0167]
将该已扫描次数作为相应轮廓线的初始高度层级。
[0168]
在一些实施方式中,该根据该初始高度层级和该轮廓线,确定每条该轮廓线中各像素点的目标高度值,包括:
[0169]
确定每条该轮廓线的线条长度;
[0170]
确定相邻的两个该初始高度层级对应的该轮廓线之间的最小距离;
[0171]
根据该线条长度、该最小距离和该初始高度层级,确定每条该轮廓线对应的目标高度层级;
[0172]
根据该目标高度层级确定对应轮廓线中各个像素点的目标高度值。
[0173]
在一些实施方式中,该根据该线条长度、该最小距离和该初始高度层级,确定每条该轮廓线对应的目标高度层级,包括:
[0174]
当该线条长度小于预设长度阈值时,将相应轮廓线对应的该初始高度层级进行下降调整;
[0175]
当该最小距离小于预设距离阈值时,将相应的两个该初始高度层级中,数值较大的该初始高度层级进行下降调整;
[0176]
将下降调整后的该初始高度层级作为相应轮廓线的目标高度层级,且将剩余未调整的该初始高度层级作为相应轮廓线的目标高度层级。
[0177]
在一些实施方式中,该根据该目标高度层级确定对应轮廓线中各个像素点的目标高度值,包括:
[0178]
确定预设高度增量和该目标高度层级之间的乘积;
[0179]
确定该乘积和预设起始高度值之间的和值,并将该和值作为对应轮廓线中各个像素点的初始高度值;
[0180]
对该初始高度值进行平滑处理,得到对应轮廓线中各个像素点的目标高度值。
[0181]
在一些实施方式中,该根据该目标高度值和该线稿图像,生成该对象的阴影渲染图像,包括:
[0182]
根据该目标高度值确定该轮廓线中各个像素点的法线信息;
[0183]
根据该法线信息、该目标高度值和预设光照参数信息生成该对象的阴影信息;
[0184]
根据该阴影信息和该线稿图像,生成该对象的阴影渲染图像。
[0185]
在一些实施方式中,该根据该法线信息、该目标高度值和预设光照参数信息生成该对象的阴影信息,包括:
[0186]
根据该法线信息生成该对象对应的闭塞图;
[0187]
根据该目标高度值生成该对象对应的遮挡图;
[0188]
根据该闭塞图、该遮挡图和该预设光照参数信息,生成该对象的阴影信息。
[0189]
该电子设备可以实现本技术实施例所提供的图像处理方法任一实施例中的步骤,
因此,可以实现本技术实施例所提供的任一图像处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0190]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0191]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的图像处理方法中任一实施例的步骤。例如,该计算机程序可以执行如下步骤:
[0192]
获取待处理的线稿图像,该线稿图像中包括至少一个对象;
[0193]
确定该对象对应的至少一条轮廓线、以及每条该轮廓线对应的初始高度层级;
[0194]
根据该初始高度层级和该轮廓线,确定每条该轮廓线中各像素点的目标高度值;
[0195]
根据该目标高度值和该线稿图像,生成该对象的阴影渲染图像。
[0196]
在一些实施方式中,该确定该对象对应的至少一条轮廓线、以及每条该轮廓线对应的初始高度层级,包括:
[0197]
对当前的该对象进行外轮廓扫描,得到多个目标像素点,并记录已扫描次数;
[0198]
确定该目标像素点对应的至少一条轮廓线,并根据该已扫描次数确定该轮廓线对应的初始高度层级;
[0199]
将该对象中除该目标像素点之外剩余的像素点作为当前的该对象,并返回执行该对当前的该对象进行外轮廓扫描的步骤,直至满足预设条件结束。
[0200]
在一些实施方式中,该确定该目标像素点对应的至少一条轮廓线,包括:
[0201]
获取每个该目标像素点的图像坐标;
[0202]
根据该图像坐标确定相邻两个该目标像素点之间的坐标距离;
[0203]
根据该坐标距离和该图像坐标对该目标像素点进行线条拟合,得到至少一条轮廓线。
[0204]
在一些实施方式中,该根据该已扫描次数确定该轮廓线对应的初始高度层级,包括:
[0205]
将该已扫描次数作为相应轮廓线的初始高度层级。
[0206]
在一些实施方式中,该根据该初始高度层级和该轮廓线,确定每条该轮廓线中各像素点的目标高度值,包括:
[0207]
确定每条该轮廓线的线条长度;
[0208]
确定相邻的两个该初始高度层级对应的该轮廓线之间的最小距离;
[0209]
根据该线条长度、该最小距离和该初始高度层级,确定每条该轮廓线对应的目标高度层级;
[0210]
根据该目标高度层级确定对应轮廓线中各个像素点的目标高度值。
[0211]
在一些实施方式中,该根据该线条长度、该最小距离和该初始高度层级,确定每条该轮廓线对应的目标高度层级,包括:
[0212]
当该线条长度小于预设长度阈值时,将相应轮廓线对应的该初始高度层级进行下降调整;
[0213]
当该最小距离小于预设距离阈值时,将相应的两个该初始高度层级中,数值较大
的该初始高度层级进行下降调整;
[0214]
将下降调整后的该初始高度层级作为相应轮廓线的目标高度层级,且将剩余未调整的该初始高度层级作为相应轮廓线的目标高度层级。
[0215]
在一些实施方式中,该根据该目标高度层级确定对应轮廓线中各个像素点的目标高度值,包括:
[0216]
确定预设高度增量和该目标高度层级之间的乘积;
[0217]
确定该乘积和预设起始高度值之间的和值,并将该和值作为对应轮廓线中各个像素点的初始高度值;
[0218]
对该初始高度值进行平滑处理,得到对应轮廓线中各个像素点的目标高度值。
[0219]
在一些实施方式中,该根据该目标高度值和该线稿图像,生成该对象的阴影渲染图像,包括:
[0220]
根据该目标高度值确定该轮廓线中各个像素点的法线信息;
[0221]
根据该法线信息、该目标高度值和预设光照参数信息生成该对象的阴影信息;
[0222]
根据该阴影信息和该线稿图像,生成该对象的阴影渲染图像。
[0223]
在一些实施方式中,该根据该法线信息、该目标高度值和预设光照参数信息生成该对象的阴影信息,包括:
[0224]
根据该法线信息生成该对象对应的闭塞图;
[0225]
根据该目标高度值生成该对象对应的遮挡图;
[0226]
根据该闭塞图、该遮挡图和该预设光照参数信息,生成该对象的阴影信息。
[0227]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0228]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0229]
由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一图像处理方法实施例中的步骤,因此,可以实现本技术实施例所提供的任一图像处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0230]
以上对本技术实施例所提供的一种图像处理方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1