本发明涉及图像处理,尤其涉及一种对图像中发光体添加光芒特效的方法、系统及相关设备。
背景技术:
1、随着图像处理技术的快速发展,逐渐出现了多种多样对图像进行处理的方式。其中,常用的一种处理方式是特效处理,例如,对图像进行美颜、添加特效等,通过对图像进行特效处理,能够增加图像的美观性或者趣味性。在对图像增加特效的一种具体场景中,是对图像中的发光体添加光芒效果,现有技术缺乏一种能够自动识别图像中的发光物体并自动进行添加光芒的方法。
2、因此,现有技术还有待于改进和发展。
技术实现思路
1、本发明的主要目的在于解决现有技术所存在背景技术中所提到的技术问题。
2、本发明第一方面提供了一种对图像中发光体添加光芒特效的方法,所述对图像中发光体添加光芒特效的方法包括:
3、根据预设的明度阈值确定图像中的发光体像素区域和背景像素区域;
4、通过预置的圆周探测算法对所述发光体像素区域四周的所述背景像素区域的各个像素点进行发光判断,获得需要发光的像素点集;
5、对于需要发光的所述像素点集中的各个所述像素点,利用预置的与发光距离有关的渐变颜色填充算法,计算获得各个所述像素点的填充颜色;
6、对需要发光的所述像素点集中的各个所述像素点进行颜色填充,获得初步光芒特效图像;
7、基于高亮覆盖低亮的原则对所述初步光芒特效图像中的光芒重叠区域进行自然过渡处理,获得最终光芒特效图像。
8、在本发明第一方面一种可选的实施方式中,所述根据预设的明度阈值确定图像中的发光体像素区域和背景像素区域包括:
9、对于所述图像中的各个所述像素点,通过预置的基于三原色和权重系数的像素明度计算公式获得各个所述像素点的明度值;
10、对于每个所述像素点,判断所述像素点的所述明度值是否大于所述明度阈值;
11、在所述图像中确定所有所述明度值大于所述明度阈值的所述像素点,对所有所述明度值大于所述明度阈值的所述像素点进行是否构成发光体判断;
12、基于判断结果获得所述图像中的发光体像素区域和背景像素区域。
13、在本发明第一方面一种可选的实施方式中,所述在所述图像中确定所有所述明度值大于所述明度阈值的所述像素点,对所有所述明度值大于所述明度阈值的所述像素点进行是否构成发光体判断包括:
14、在所述图像中确定所有所述明度值大于所述明度阈值的所述像素点;
15、对所有所述明度值大于所述明度阈值的所述像素点进行成团检测;
16、对所有所述明度值大于所述明度阈值的所述像素点中的每个所述像素点,若所述像素点能够与所述像素点周边的所述明度值大于所述明度阈值的所述像素点组成团,则判定所述像素点属于发光体像素点。
17、在本发明第一方面一种可选的实施方式中,所述对所有所述明度值大于所述明度阈值的所述像素点中的每个所述像素点,若所述像素点能够与所述像素点周边的所述明度值大于所述明度阈值的所述像素点组成团,则判定所述像素点属于发光体像素点包括:
18、对所有所述明度值大于所述明度阈值的所述像素点中的每个所述像素点,生成预设尺寸的移动窗口,将所述像素点依次置于所述移动窗口的各侧边缘;
19、获取所述像素点在所述移动窗口的各侧边缘时,所述移动窗口内所述明度值大于所述明度阈值的所述像素点占所述移动窗口内所有像素点的比例;
20、若存在一侧或多侧边缘所述移动窗口内所述明度值大于所述明度阈值的所述像素点占所述移动窗口内所有像素点的比例大于预设阈值,则判定所述像素点属于发光体像素点。
21、在本发明第一方面一种可选的实施方式中,所述通过预置的圆周探测算法对所述发光体像素区域四周的所述背景像素区域的各个像素点进行发光判断,获得需要发光的像素点集包括:
22、对所述发光体像素区域四周的所述背景像素区域的每个像素点,判断以所述像素点为探测中心的预设半径范围内是否存在所述发光体像素区域的所述像素点;
23、若以所述像素点为探测中心的预设半径范围内存在所述发光体像素区域的所述像素点,则进一步获取所述预设半径范围内与所述探测中心最近的所述发光体像素区域的所述像素点;
24、建立所述预设半径范围内与所述探测中心最近的所述发光体像素区域的所述像素点与所述探测中心之间的向量;
25、计算所述向量在所述探测中心的原点坐标系下的夹角;
26、若所述夹角属于预设的夹角集合,则判定所述像素点为发光像素点;
27、收集所有所述发光像素点,得到需要发光的所述像素点集。
28、在本发明第一方面一种可选的实施方式中,所述对于需要发光的所述像素点集中的各个所述像素点,利用预置的与发光距离有关的渐变颜色填充算法,计算获得各个所述像素点的填充颜色包括:
29、对于需要发光的所述像素点集中的每个所述像素点,获取所述像素点和离所述像素点最近的所述发光体像素区域的所述像素点之间的距离;
30、基于所述距离计算得到所述像素点在三种渐变填充色下分别对应的第一饱和度系数、第二饱和度系数和第三饱和度系数;
31、基于所述第一饱和度系数和预设的第一原始填充色并通过幂运算得到第一渐变填充色;
32、基于所述第二饱和度系数和预设的第二原始填充色并通过曲线函数和幂运算得到第二渐变填充色;
33、基于所述第三饱和度系数和预设的第三原始填充色并通过幂运算得到第三渐变填充色;
34、通过将所述第一渐变填充色、所述第二渐变填充色和所述第三渐变填充色混合,获得所述像素点的所述填充颜色。
35、在本发明第一方面一种可选的实施方式中,所述基于高亮覆盖低亮的原则对所述初步光芒特效图像中的光芒重叠区域进行自然过渡处理,获得最终光芒特效图像包括:
36、从需要发光的所述像素点集中确定得到光芒重叠像素点;
37、获取所述光芒重叠像素点的多种颜色;
38、判断所述多种颜色中是否存在白色;
39、若所述多种颜色中存在白色,则将白色作为所述光芒重叠像素点最终的填充颜色;
40、若所述多种颜色中不存在白色,则将计算得到所述多种颜色在灰度下的梯度差值,之后将所述梯度差值代入预置的平滑函数中得到平滑颜色值,再所述多种颜色的颜色值和所述平滑颜色值进行融合,获得融合颜色值,以所述融合颜色值对应的颜色作为所述光芒重叠像素点最终的填充颜色。
41、本发明第二方面提供了一种对图像中发光体添加光芒特效的系统,所述对图像中发光体添加光芒特效的系统包括:
42、区域区分模块,用于根据预设的明度阈值确定图像中的发光体像素区域和背景像素区域;
43、发光像素点确定模块,用于通过预置的圆周探测算法对所述发光体像素区域四周的所述背景像素区域的各个像素点进行发光判断,获得需要发光的像素点集;
44、发光颜色计算模块,用于对于需要发光的所述像素点集中的各个所述像素点,利用预置的与发光距离有关的渐变颜色填充算法,计算获得各个所述像素点的填充颜色;
45、颜色填充模块,用于对需要发光的所述像素点集中的各个所述像素点进行颜色填充,获得初步光芒特效图像;
46、颜色平滑模块,用于基于高亮覆盖低亮的原则对所述初步光芒特效图像中的光芒重叠区域进行自然过渡处理,获得最终光芒特效图像。
47、本发明第三方面提供了一种对图像中发光体添加光芒特效的设备,所述对图像中发光体添加光芒特效的设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
48、所述至少一个处理器调用所述存储器中的所述指令,以使得所述对图像中发光体添加光芒特效的设备执行如上述任一项所述的对图像中发光体添加光芒特效的方法。
49、本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的对图像中发光体添加光芒特效的方法。
50、有益效果:本发明提供了一种对图像中发光体添加光芒特效的方法、系统及相关设备,方法包括根据预设的明度阈值确定图像中的发光体像素区域和背景像素区域;通过预置的圆周探测算法对发光体像素区域四周的背景像素区域的各个像素点进行发光判断,获得需要发光的像素点集;对于需要发光的像素点集中的各个像素点,利用预置的渐变颜色填充算法,获得各个像素点的填充颜色;对需要发光的像素点集中的各个像素点进行颜色填充获得初步光芒特效图像;基于高亮覆盖低亮的原则对初步光芒特效图像中的光芒重叠区域进行自然过渡处理获得最终光芒特效图像。本发明实现了对图像中发光物体的自动识别并添加光芒特效,光芒特效模拟了自然光的特性,效果更加真实。