一种图像处理方法、装置、设备及存储介质、程序产品与流程

文档序号:31714403发布日期:2022-10-04 21:06阅读:39来源:国知局
一种图像处理方法、装置、设备及存储介质、程序产品与流程

1.本技术涉及计算机技术领域,尤其涉及一种图像处理方法、装置、设备及存储介质、程序产品。


背景技术:

2.随着图像处理技术的快速发展,对图像进行处理的方式也逐渐多样化。其中,对图像添加特效便是重要的处理方式之一,通过对图像添加不同的特效,能够使图像具有不同的表现效果。对于水波纹特效而言,其表现在图像中为波纹荡漾的效果,水波纹的真实产生来源于物体与水面的碰撞接触,从而引发的从水波中心到四周的360
°
扩散。因此,如何生成表现真实的水波纹特效是值得研究的技术问题。


技术实现要素:

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.图7是本技术实施例提供的一种图像处理装置的结构示意图;
26.图8是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
29.(1)人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
30.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
31.(2)计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(optical character recognition,ocr)技术、视频处理、视频语义理解、视频内容/行为识别、三维(3-dimension,3d)物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
32.(3)机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
33.本技术实施例提供的方案涉及人工智能技术中的计算机视觉技术,具体通过如下实施例进行说明。
34.请参见图1,图1是本技术实施例提供的一种图像处理系统的架构示意图。该图像处理系统中包括终端设备101、服务器102以及数据库103,其中,终端设备101与服务器102之间可以通过有线或无线的方式建立通信连接,数据库103可以为服务器102提供数据服务。
35.如图1所示,终端设备101将目标图像发送至服务器102,服务器102可对目标图像进行元素识别。在一个实施例中,服务器102可识别目标图像中的文本信息,数据库103中可存储关键词库,若服务器102识别到的文本信息中存在与关键词库中的至少一个关键词相匹配的目标文本,则可以将文本信息中的该目标文本确定为关键元素。服务器102得到目标
图像的关键元素后,根据关键元素在目标图像中的位置确定水波中心点,然后将目标图像中与水波中心点的距离为预设距离像素点确定为目标像素点,再根据水波纹参数对目标像素点进行水波纹特效渲染,得到多个渲染图像,最后将多个渲染图像拼接为水波纹特效视频,并可将该水波纹特效视频通过网络发送至终端设备101。通过这种方式生成的水波纹特效视频真实模拟了水波纹的扩散效果,实现了对目标图像进行水波纹特效美化。
36.在本技术实施例中,终端设备可以是个人计算机、笔记本电脑、智能手机、平板电脑、智能手表、智能语音交互设备、智能家电、车载终端、飞行器和智能可穿戴设备等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。数据库可以是本地数据库或者是服务器可以访问的云端数据库等,本技术对此不做限制。此外,本技术实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
37.基于上述描述,本技术实施例提供一种图像处理方法,请参见图2,图2是本技术实施例提供的一种图像处理方法的流程示意图。该图像处理方法由计算机设备执行,计算机设备可以为终端设备,也可以为服务器。为了便于理解,本技术实施例以该方法由服务器执行为例进行说明,如图2所示,该方法可以包括但不限于如下步骤。
38.s201:对目标图像进行元素识别,得到目标图像的至少一个关键元素。
39.在本技术实施例中,目标图像是指待添加水波纹特效的图像,在对目标图像添加水波纹图像之前,服务器先对目标图像进行元素识别,得到目标图像的一个或多个关键元素,这里,关键元素用于指示目标图像的图像内容,例如可以是目标图像中的文本。
40.在一个实施例中,目标图像可以是广告图像,广告图像中通常包括广告文案、按钮元素、广告商品等内容。在对广告图像进行元素识别时,可从如下三个方面进行识别:

采用ocr技术识别广告图像中的文本信息,若文本信息中存在与关键词库中的关键词相匹配的目标文本,则可以将目标文本确定为关键元素。其中,ocr技术是一种对包含文本信息的图像进行分析识别处理,获取文本信息的技术。

检测广告图像中是否包含按钮元素,若包含按钮元素,则可以将按钮元素确定为关键元素。

检测广告图像中是否包含商品元素,若包含商品元素,则可以将商品元素确定为关键元素。其中,按钮元素和商品元素的检测都可以采用机器学习模型实现,例如可以是deeplabv3+(一种语义分割模型)。
41.在一个实施例中,目标图像也可以是风景图像,风景图像中通常包括植物或动物等内容。在对风景图像进行元素识别时,可以分别识别风景图像中的植物元素和动物元素。具体的,若风景图像中存在与预设素材库中的植物种类相同的植物元素,则可以将该植物元素确定为关键元素;若风景图像中存在与预设素材库中的动物种类相同的动物元素,则可以将该动物元素确定为关键元素。
42.s202:基于各个关键元素在目标图像中的位置,确定水波纹在目标图像中的水波中心点。
43.在本技术实施例中,服务器识别到目标图像的关键元素后,可以基于各个关键元素在目标图像中的位置,确定在目标图像中添加水波纹特效的水波中心点。具体的,服务器可以先基于各个元素在目标图像中的位置,确定出水波中心区域,然后再根据水波中心区
域确定水波中心点,该水波中心点可以是水波中心区域中的中心点,也可以是水波中心区域中的任意点,具体可根据实际需求进行选择,本技术实施例不作限定。
44.在一个实施例中,服务器确定水波中心区域的方式具体可以是,先获取每个关键元素在至少一个维度的属性信息,任一维度的属性信息可以包括元素尺寸信息、文本信息或元素类别信息,通过不同维度的属性信息对关键元素进行评估,有利于灵活确定水波中心区域;然后根据每个关键元素在每个维度的属性信息,得到每个关键元素在每个维度的特征值;再根据每个关键元素在至少一个维度的特征值,计算每个关键元素的参考值,最后将参考值最高的关键元素在目标图像中的位置确定为水波中心区域。
45.在一个实施例中,关键元素在目标维度的属性信息可以包括元素尺寸信息,该元素尺寸信息指的是用于识别每个关键元素的元素识别框的尺寸信息,元素识别框是一种用于在元素识别过程中,突出表示识别到的关键元素的矩形框。如图3所示,对目标图像301进行元素识别,得到目标图像301中的文本信息和按钮元素,在图3中用于突出显示识别到的文本信息和按钮元素的矩形框为元素识别框302。当关键元素在目标维度的属性信息包括元素尺寸信息时,确定关键元素在目标维度的特征值的方式可以为,根据用于识别每个关键元素的元素识别框的尺寸信息,确定每个关键元素对应的元素识别框的高度,然后将高度最高的元素识别框所识别的关键元素在目标维度的特征值设定为第一特征值,并将其他剩余的关键元素在目标维度的特征值设定为第二特征值。其中,第一特征值和第二特征值用于区别表示关键元素对应的元素识别框的高度是否最高,第一特征值例如可以设定为1,第二特征值例如可以设定为0,示例性地,若关键元素对应的元素识别框的高度是最高的,则该关键元素在目标维度的特征值可以设定为1,若关键元素对应的元素识别框的高度不是最高的,则该关键元素在目标维度的特征值可以设定为0。
46.在一个实施例中,关键元素在目标维度的属性信息还可以包括文本信息。当关键元素在目标维度的属性信息包括文本信息时,确定关键元素在目标维度的特征值的方式可以为,检测每个关键元素在目标维度的文本信息中是否存在预设关键词,若关键元素在目标维度的文本信息中存在预设关键词,则可以将该关键元素在目标维度的特征值设定为第三特征值,相应地,若关键元素在目标维度的文本信息中不存在预设关键词,则可以将该关键元素在目标维度的特征值设定为第四特征值。以广告图像为例,预设关键词可以是包含关键促销信息的关键词,例如“打折”、“优惠”、“减价”、“买一赠一”等关键词,预设关键词可以保存在一个关键词词典中,若广告图像中的文本信息命中该关键词词典,则将文本信息在目标维度的特征值设定为第三特征值,反之,则设定为第四特征值。
47.在一个实施例中,关键元素在目标维度的属性信息还可以包括元素类别信息,该元素类别信息用于指示关键元素的类别。当关键元素在目标维度的属性信息包括元素类别信息时,确定关键元素在目标维度的特征值的方式可以为,根据元素类别和特征值的对应关系,获取每个元素类别对应的特征值,其中,元素类别和特征值的对应关系可以是预先设定的对应规则。对于广告图像而言,包括的关键元素可以有文本信息、按钮元素和商品元素等,预先设定的广告图像的元素类别和特征值的对应规则例如可以是,按钮元素的特征值大于文本信息的特征值,文本信息的特征值大于商品元素的特征值,由此设定,按钮元素在广告图像中的位置相较于文本信息和商品元素更可能被确定为水波中心区域,换言之,水波纹特效更可能添加在广告图像中按钮元素所在位置,如此,将有利于提高广告的点击率
和转换率。当然,元素类别和特征值的对应关系具体可以根据实际情况进行设定,本技术实施例不做限定。
48.进一步的,若仅获取关键元素在一个维度的特征值,在计算关键元素的参考值时,则可以直接将该特征值确定为关键元素的参考值;若获取关键元素在多个维度的特征值,在计算关键元素的参考值时,则可以将元素在多个维度的特征值进行加权求和,其中,不同维度的特征值对应不同的权重,该权重可以根据需要进行调整,也可以将元素在多个维度的特征值进行平均,由此计算关键元素的参考值。
49.s203:确定目标图像中与水波中心点的距离为预设距离的目标像素点。
50.在本技术实施例中,服务器确定水波纹在目标图像中的水波中心点后,将进一步确定与水波中心点的距离为预设距离的目标像素点。其中,目标像素点指的是目标图像中添加水波纹特效的像素点,例如可以是目标图像中以水波中心点为圆心,预设距离为半径的圆上的像素点。
51.s204:根据水波纹参数,对目标像素点进行水波纹特效渲染,得到多个渲染图像。
52.在本技术实施例中,服务器根据水波纹参数可以对目标像素点进行水波纹特效渲染,得到多个渲染图像,其中,不同的渲染图像对应不同的时间节点,每个渲染图像都包括水波纹特效。由于真实水波纹的产生是水面震动引起的,且水具有阻尼,真实水波纹的强度是随时间逐渐减弱的,为了提高水波纹特效的表现效果,水波纹参数包括振幅参数、频率参数以及速度参数,振幅参数用于控制水波纹特效的震动强度,且振幅参数随时间衰减,以模拟水波纹的强度随时间逐渐减弱的效果,频率参数用于控制水波纹特效的密集程度,速度参数用于控制水波纹特效的变化速度。根据水波纹参数对目标像素点进行水波纹特效渲染的具体过程可见图4所示实施例,在此先不做详述。
53.s205:根据每个渲染图像对应的时间节点,对多个渲染图像进行拼接,生成目标图像的水波纹特效视频。
54.在本技术实施例中,由于不同的渲染图像对应不同的时间节点,服务器根据每个渲染图像对应的时间节点,可以按照时间顺序对多个渲染图像进行拼接,即将每个时间节点对应的渲染图像作为水波纹特效视频中的一帧,如此生成目标图像的水波纹特效视频。在其他实现方式中,也可以将多个渲染图像拼接为动态图,例如gif(一种图像文件格式标准)动态图。通过这种方式,有利于节约水波纹特效制作的成本,实现将目标图像自动转化为水波纹特效视频或者是水波纹特效动态图。
55.本技术实施例通过先识别目标图像中的关键元素,然后基于关键元素在目标图像中的位置确定水波纹的水波中心点,再根据水波纹参数对水波中心点周围的目标像素点进行水波纹特效渲染,得到多个渲染图像,最后将多个渲染图像进行拼接,这样生成目标图像的水波纹特效视频。通过这种方式,一方面识别目标图像中的关键元素,以关键元素在目标图像中的位置确定水波中心点,使目标图像的图像内容与水波纹特效得到了有效融合;另一方面,根据水波纹参数对目标像素点进行水波纹特效渲染,提高了水波纹特效的真实感,增强了目标图像的美观性和趣味性。
56.本技术实施例中,基于图2所示实施例的步骤s204,服务器在获取任一时间节点对应的渲染图像时,可通过执行图4中的步骤s401-步骤s405实现,下面结合各步骤进行说明。
57.s401:获取目标时间节点对应的振幅参数。
58.在本技术实施例中,目标时间节点指的是任一时间节点,由于振幅参数是随时间衰减的,服务器在对目标像素点进行水波纹特效渲染之前,可以先获取目标时间节点对应的振幅参数。
59.其中,振幅参数随时间衰减的规律可以是:振幅参数随时间衰减倍数,倍数可以设置为任意值,例如倍数设置为2,即表示振幅参数衰减后的结果为衰减前的二分之一;振幅参数随时间衰减的规律还可以是:振幅参数随时间衰减常量,常量可以设置为任意值,例如常量设置为3,即表示振幅参数衰减后的结果比衰减前的小3。可以理解的是,本技术实施例对振幅参数随时间衰减的具体方式不做限定,具体的衰减规律可以根据实际情况进行灵活的设置和选择。
60.s402:根据目标时间节点对应的振幅参数、频率参数以及速度参数,确定目标像素点相对水波中心点的扩散距离。
61.在本技术实施例中,服务器在对目标像素点进行水波纹特效渲染时,可通过变化目标像素点到水波中心点的距离,模拟水面震动的效果,根据目标时间节点对应的振幅参数、频率参数以及速度参数,可以确定目标像素点相对水波中心点的扩散距离。
62.在一个实施例中,目标像素点相对水波中心点的扩散距离可根据如下公式(1)确定:
[0063][0064]
其中,d表示扩散距离,a表示振幅参数,sin表示正弦函数,b表示频率参数,t表示速度参数。
[0065]
在公式(1)中,采用正弦函数模拟水波纹的周期变化,在其他实施例中,也可以采用余弦函数模拟水波纹的周期变化。通过综合考虑目标时间节点对应的振幅参数、频率参数以及速度参数,可模拟出更加真实的水波纹特效。
[0066]
s403:确定目标图像中与目标像素点的距离为扩散距离的参考像素点。
[0067]
在本技术实施例中,服务器确定目标像素点相对水波中心点的扩散距离后,可以进一步确定目标图像中与目标像素点的距离为扩散距离的参考像素点。
[0068]
具体的,假设目标像素点与水波中点的距离为r,目标像素点相对水波中心点的扩散距离为d,那么参考像素点则为与水波中心点的距离为(r+d)的像素点,其中,目标像素点相对于水波中心点的距离d可通过上述公式(1)计算。通过这种方式确定参考像素点,能够还原水波纹扩散过程中的视觉效果。
[0069]
s404:对参考像素点添加水波纹纹理,得到初始渲染图像。
[0070]
在本技术实施例中,服务器可参考像素点添加水波纹纹理,得到初始渲染图像。其中,水波纹纹理的幅度值是根据目标时间节点对应的振幅参数决定的,由于振幅参数是随时间衰减的,水波纹的幅度值也会随时间逐渐减小,从而可以模拟出水波纹随时间逐渐减弱的视觉效果,这里,水波纹纹理可以采用沃罗诺伊纹理进行模拟。
[0071]
s405:在初始渲染图像中,对参考像素点进行位置偏移,得到目标时间节点对应的渲染图像。
[0072]
在本技术实施例中,服务器得到初始渲染图像后,在初始渲染图像中可对参考像素点进行位置偏移,以模拟水波纹折射的视觉效果。
[0073]
具体的,在模拟水波纹折射效果时,参考像素点将按照偏移量进行位置偏移,偏移量可分为水平偏移量和垂直偏移量,水平偏移量表示参考像素点在水平方向上的偏移距离,垂直偏移量表示参考像素点在垂直方向上的偏移距离。在一个实施例中,服务器对参考像素点进行位置偏移的方式可以为,先获取参考像素点在初始渲染图像中的坐标信息,以及参考像素点与水波中心点的距离,然后再根据参考像素点的坐标信息,以及参考像素点与水波中心点的距离,确定参考像素点在初始渲染图像中的水平偏移量和垂直偏移量,最后根据水平偏移量和垂直偏移量对参考像素点的坐标信息进行偏移。
[0074]
在一个实施例中,服务器确定参考像素点在初始渲染图像中的水平偏移量具体方式可以为,先获取水波中心点在初始渲染图像中的坐标信息,然后根据参考像素点的坐标信息和水波中心点的坐标信息,确定参考像素点与水波中心点的水平距离,并将参考像素点与水波中心点的水平距离确定为水平偏移量。相应地,服务器确定参考像素点在初始渲染图像中的垂直偏移量的具体方式可以为,根据参考像素点的坐标信息和水波中心点的坐标信息,确定参考像素点与水波中心点的垂直距离,并将参考像素点与水波中心点的垂直距离,确定为垂直偏移量。
[0075]
在一个实施例中,服务器根据参考像素点的坐标信息以及水波中心点的坐标信息,可以确定参考像素点与水波中心点的连续相对水平方向的夹角,然后计算参考像素点与水波中心点的距离与夹角的余弦值的乘积,可以得到参考像素点与水波中心点的水平距离。相应地,计算参考像素点与水波中心点的距离与夹角的正弦值的乘积,可以得到参考像素点与水波中心点的垂直距离。
[0076]
在一个实施例中,如图5所示,服务器可以以水波中心点为原点,建立直角坐标系,并获取参考像素点在该直角坐标系中的坐标信息,以及参考像素点与水波中心点的距离,然后根据如下公式(2)和(3)分别确定参考像素点位置偏移后的横坐标和纵坐标:
[0077]
x'=xc+rccos(θ)
ꢀꢀ
(2)
[0078]
y'=y
c-rcsin(θ)
ꢀꢀ
(3)
[0079]
其中,x'表示参考像素点位置偏移后的横坐标,xc表示参考像素点位置偏移前的横坐标,y'表示参考像素点位置偏移后的纵坐标,yc表示参考像素点位置偏移前的纵坐标,rc表示参考像素点位置偏移前与水波中心点的距离,θ可根据如下公式(4)确定:
[0080]
θ=arctan(δy,δx)
ꢀꢀ
(4)
[0081]
其中,δy表示参考像素点偏移前的纵坐标与水波中心点的纵坐标的距离,δx表示参考像素点偏移前的横坐标与水波中心点的横坐标的距离。
[0082]
在另一个实施例中,服务器也可以直接根据参考像素点在初始渲染图像中的初始坐标信息,以及水波中心点在初始渲染图像中的初始坐标信息,确定参考像素点位置偏移后的横坐标和纵坐标。在这种实现方式中,假设参考像素点在初始渲染图像中的初始坐标信息为(xa,ya),水波中心点在初始渲染图像中的初始坐标信息为(xo,yo),那么参考像素点与水波中心点的距离则根据如下公式(5)确定:
[0083][0084]
然后再根据公式(2)和公式(3)分别确定参考像素点位置偏移后的横坐标和纵坐标。
[0085]
本技术实施例综合考虑目标时间节点对应的振幅参数、频率参数以及速度参数,模拟了水波纹由中心向四周扩散的效果,同时,振幅参数随时间衰减,进一步还原了水波纹纹理的强度随时间减弱的视觉效果,最后,通过对参考像素点进行位置偏移,使水波纹的折射效果也得以体现。采用本技术实施例,能够从多维度模拟出真实的水波纹特效,提高对象的视觉体验。
[0086]
进一步的,请参见图6,图6是本技术实施例提供的另一种图像处理方法的流程示意图。该图像处理方法由计算机设备执行,计算机设备可以为终端设备,也可以为服务器。为了便于理解,本技术实施例以该方法由服务器执行为例进行说明。
[0087]
如图6所示,本技术实施例提供的图像处理方法可以概括为以下四个部分:

服务器获取待添加水波纹特效的目标图像,该目标图像可以是终端设备发送至服务器的,也可以是对象直接向服务器输入的需要添加水波纹特效的图像;

服务器获取到目标图像后,对目标图像进行元素识别,得到目标图像中的至少一个关键元素,并根据关键元素在目标图像中的位置,确定添加水波纹特效的水波中心点,然后确定目标图像中与水波中心点的距离为预设距离的目标像素点,该目标像素点为添加水波纹特效的像素点;

服务器根据振幅参数、频率参数以及速度参数对目标像素点进行水波纹特效渲染,得到多个渲染图像,其中,每个渲染图像对应一个时间节点;

服务器将多个渲染图像按照时间顺序进行拼接,生成目标图像对应的水波纹特效视频。
[0088]
通过实施本技术实施例,一方面识别目标图像中的关键元素,以关键元素在目标图像中的位置确定水波中心点,使目标图像的图像内容与水波纹特效得到了有效融合;另一方面,根据振幅参数、频率参数以及速度参数对目标像素点进行水波纹特效渲染,真实还原了水波纹的表现效果,增强了目标图像的美观性和趣味性。
[0089]
进一步的,请参见图7,为本技术实施例提供的一种图像处理装置的结构示意图,该图像处理装置70可以包括:
[0090]
获取单元701,用于获取目标图像;
[0091]
处理单元702,用于对目标图像进行元素识别,得到目标图像的至少一个关键元素,关键元素用于指示目标图像的图像内容;用于基于各个关键元素在目标图像中的位置,确定水波纹在目标图像中的水波中心点;确定目标图像中与水波中心点的距离为预设距离的目标像素点;根据水波纹参数,对目标像素点进行水波纹特效渲染,得到多个渲染图像;其中,不同渲染图像对应不同时间节点,每个渲染图像包括水波纹特效,水波纹参数包括振幅参数、频率参数以及速度参数,振幅参数用于控制每个渲染图像中水波纹特效的震动强度,且振幅参数随时间节点衰减,频率参数用于控制每个渲染图像中水波纹特效的密集程度,速度参数用于控制每个渲染图像中水波纹特效的变化速度;根据每个渲染图像对应的时间节点,对多个渲染图像进行拼接,生成目标图像的水波纹特效视频。
[0092]
在一个实施例中,处理单元702基于各个关键元素在目标图像中的位置,确定水波纹在目标图像中的水波中心点时,具体用于:基于各个关键元素在目标图像中的位置,确定水波中心区域;在水波中心区域中确定水波中心点。
[0093]
在一个实施例中,处理单元702基于各个关键元素在目标图像中的位置,确定水波中心区域时,具体用于:获取每个关键元素在至少一个维度的属性信息,任一维度的属性信息包括元素尺寸信息、文本信息或元素类别信息;根据每个关键元素在每个维度的属性信
息,得到每个关键元素在每个维度的特征值;根据每个关键元素在至少一个维度的特征值,计算每个关键元素的参考值;将参考值最高的关键元素在目标图像中的位置确定为水波中心区域。
[0094]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括元素尺寸信息,元素尺寸信息指的是用于识别每个关键元素的元素识别框的尺寸信息;处理单元702根据每个关键元素在每个维度的属性信息,得到每个关键元素在每个维度的特征值时,具体用于:根据元素尺寸信息,确定用于识别每个关键元素的元素识别框的高度;将高度最高的元素识别框所识别的关键元素在目标维度的特征值设定为第一特征值;将至少一个关键元素中的其他关键元素在目标维度的特征值设定为第二特征值。
[0095]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括文本信息;处理单元702根据每个关键元素在每个维度的属性信息,得到每个关键元素在每个维度的特征值时,具体用于:若每个关键元素在目标维度的文本信息中存在预设关键词,则将每个关键元素在目标维度的特征值设定为第三特征值;若每个关键元素在目标维度的文本信息中不存在预设关键词,则将每个关键元素在目标维度的特征值设定为第四特征值。
[0096]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括元素类别信息;处理单元702根据每个关键元素在每个维度的属性信息,得到每个关键元素在每个维度的特征值时,具体用于:根据元素类别和特征值的对应关系,获取每个关键元素的元素类别对应的特征值;将每个关键元素的元素类别对应的特征值,确定为每个关键元素在目标维度的特征值。
[0097]
在一个实施例中,每个渲染图像对应一个时间节点;处理单元702根据水波纹参数,对目标像素点进行水波纹特效渲染,得到多个渲染图像时,具体用于:在得到目标时间节点对应的渲染图像时,获取目标时间节点对应的振幅参数,目标时间节点为任一时间节点;根据目标时间节点对应的振幅参数、频率参数以及速度参数,确定目标像素点相对水波中心点的扩散距离;确定目标图像中与目标像素点的距离为扩散距离的参考像素点;参考像素点与水波中心点的距离大于目标像素点与水波中心点的距离;对参考像素点添加水波纹纹理,得到初始渲染图像;其中,不同时间节点对应不同幅度值的水波纹纹理,水波纹纹理的幅度值是根据目标时间节点对应的振幅参数确定的;在初始渲染图像中,对参考像素点进行位置偏移,得到目标时间节点对应的渲染图像。
[0098]
在一个实施例中,处理单元702在初始渲染图像中,对参考像素点进行位置偏移,得到目标时间节点对应的渲染图像时,具体用于:获取参考像素点在初始渲染图像中的坐标信息,以及参考像素点与水波中心点的距离;根据参考像素点的坐标信息,以及参考像素点与水波中心点的距离,确定参考像素点在初始渲染图像中的水平偏移量和垂直偏移量,水平偏移量用于指示参考像素点在水平方向上的偏移距离,垂直偏移量用于指示参考像素点在垂直方向上的偏移距离;根据水平偏移量和垂直偏移量,对参考像素点的坐标信息进行偏移,得到目标时间节点对应的渲染图像。
[0099]
在一个实施例中,处理单元702根据参考像素点的坐标信息,以及参考像素点与水波中心点的距离,确定参考像素点在初始渲染图像中的水平偏移量和垂直偏移量时,具体用于:获取水波中心点在初始渲染图像中的坐标信息;根据参考像素点的坐标信息和水波中心点的坐标信息,确定参考像素点与水波中心点的水平距离,并将参考像素点与水波中
心点的水平距离,确定为参考像素点在初始渲染图像中的水平偏移量;根据参考像素点的坐标信息和水波中心点的坐标信息,确定参考像素点与水波中心点的垂直距离,并将参考像素点与水波中心点的垂直距离,确定为参考像素点在初始渲染图像中的垂直偏移量。
[0100]
在一个实施例中,处理单元702,还用于根据参考像素点的坐标信息以及水波中心点的坐标信息,确定参考像素点与水波中心点的连线相对水平方向的夹角;将参考像素点与水波中心点的距离与夹角的余弦值相乘,得到参考像素点与水波中心点的水平距离;将参考像素点与水波中心点的距离与夹角的正弦值相乘,得到参考像素点在与水波中心点的垂直距离。
[0101]
在一个实施例中,目标图像包括广告图像;处理单元702对目标图像进行元素识别,得到目标图像的至少一个关键元素时,具体用于:识别广告图像中的文本信息,将文本信息中与关键词库中的至少一个关键词相匹配的目标文本确定为关键元素;检测广告图像中是否包含按钮元素,若包含按钮元素,则将按钮元素确定为关键元素;检测广告图像中是否包含商品元素,若包含商品元素,则将商品元素确定为关键元素。
[0102]
需要说明的是,图7对应的实施例中未提及的内容以及各个步骤的具体实现方式可参见图2-图6所示实施例以及前述内容,这里不再赘述。
[0103]
进一步的,请参见图8,图8是本技术实施例提供的一种计算机设备80的结构示意图。该计算机设备可以包括:网络接口801、存储器802和处理器803,网络接口801、存储器802和处理器803通过一条或多条通信总线连接,通信总线用于实现这些组件之间的连接通信。网络接口801可以包括标准的有线接口、无线接口(如wifi接口)。存储器802可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器802也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,ssd)等;存储器802还可以包括上述种类的存储器的组合。处理器803可以是中央处理器(central processing unit,cpu)。处理器803还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)等。上述pld可以是现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)等。
[0104]
可选的,存储器802还用于存储程序指令,处理器803还可调用该程序指令,以实现本技术中相关方法及步骤。
[0105]
在一个实施例中,处理器803调用存储器802存储的程序指令,以实现:对目标图像进行元素识别,得到目标图像的至少一个关键元素,关键元素用于指示目标图像的图像内容;用于基于各个关键元素在目标图像中的位置,确定水波纹在目标图像中的水波中心点;确定目标图像中与水波中心点的距离为预设距离的目标像素点;根据水波纹参数,对目标像素点进行水波纹特效渲染,得到多个渲染图像;其中,不同渲染图像对应不同时间节点,每个渲染图像包括水波纹特效,水波纹参数包括振幅参数、频率参数以及速度参数,振幅参数用于控制每个渲染图像中水波纹特效的震动强度,且振幅参数随时间节点衰减,频率参数用于控制每个渲染图像中水波纹特效的密集程度,速度参数用于控制每个渲染图像中水波纹特效的变化速度;根据每个渲染图像对应的时间节点,对多个渲染图像进行拼接,生成目标图像的水波纹特效视频。
[0106]
在一个实施例中,处理器803还可调用该程序指令,以实现:基于各个关键元素在目标图像中的位置,确定水波中心区域;在水波中心区域中确定水波中心点。
[0107]
在一个实施例中,处理器803还可调用该程序指令,以实现:获取每个关键元素在至少一个维度的属性信息,任一维度的属性信息包括元素尺寸信息、文本信息或元素类别信息;根据每个关键元素在每个维度的属性信息,得到每个关键元素在每个维度的特征值;根据每个关键元素在至少一个维度的特征值,计算每个关键元素的参考值;将参考值最高的关键元素在目标图像中的位置确定为水波中心区域。
[0108]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括元素尺寸信息,元素尺寸信息指的是用于识别每个关键元素的元素识别框的尺寸信息;处理器803还可调用该程序指令,以实现:根据元素尺寸信息,确定用于识别每个关键元素的元素识别框的高度;将高度最高的元素识别框所识别的关键元素在目标维度的特征值设定为第一特征值;将至少一个关键元素中的其他关键元素在目标维度的特征值设定为第二特征值。
[0109]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括文本信息;处理器803还可调用该程序指令,以实现:若每个关键元素在目标维度的文本信息中存在预设关键词,则将每个关键元素在目标维度的特征值设定为第三特征值;若每个关键元素在目标维度的文本信息中不存在预设关键词,则将每个关键元素在目标维度的特征值设定为第四特征值。
[0110]
在一个实施例中,在至少一个维度中的目标维度的属性信息包括元素类别信息;处理器803还可调用该程序指令,以实现:根据元素类别和特征值的对应关系,获取每个关键元素的元素类别对应的特征值;将每个关键元素的元素类别对应的特征值,确定为每个关键元素在目标维度的特征值。
[0111]
在一个实施例中,每个渲染图像对应一个时间节点;处理器803还可调用该程序指令,以实现:在得到目标时间节点对应的渲染图像时,获取目标时间节点对应的振幅参数,目标时间节点为任一时间节点;根据目标时间节点对应的振幅参数、频率参数以及速度参数,确定目标像素点相对水波中心点的扩散距离;确定目标图像中与目标像素点的距离为扩散距离的参考像素点;参考像素点与水波中心点的距离大于目标像素点与水波中心点的距离;对参考像素点添加水波纹纹理,得到初始渲染图像;其中,不同时间节点对应不同幅度值的水波纹纹理,水波纹纹理的幅度值是根据目标时间节点对应的振幅参数确定的;在初始渲染图像中,对参考像素点进行位置偏移,得到目标时间节点对应的渲染图像。
[0112]
在一个实施例中,处理器803还可调用该程序指令,以实现:获取参考像素点在初始渲染图像中的坐标信息,以及参考像素点与水波中心点的距离;根据参考像素点的坐标信息,以及参考像素点与水波中心点的距离,确定参考像素点在初始渲染图像中的水平偏移量和垂直偏移量,水平偏移量用于指示参考像素点在水平方向上的偏移距离,垂直偏移量用于指示参考像素点在垂直方向上的偏移距离;根据水平偏移量和垂直偏移量,对参考像素点的坐标信息进行偏移,得到目标时间节点对应的渲染图像。
[0113]
在一个实施例中,处理器803还可调用该程序指令,以实现:获取水波中心点在初始渲染图像中的坐标信息;根据参考像素点的坐标信息和水波中心点的坐标信息,确定参考像素点与水波中心点的水平距离,并将参考像素点与水波中心点的水平距离,确定为参考像素点在初始渲染图像中的水平偏移量;根据参考像素点的坐标信息和水波中心点的坐
标信息,确定参考像素点与水波中心点的垂直距离,并将参考像素点与水波中心点的垂直距离,确定为参考像素点在初始渲染图像中的垂直偏移量。
[0114]
在一个实施例中,处理器803还可调用该程序指令,以实现:根据参考像素点的坐标信息以及水波中心点的坐标信息,确定参考像素点与水波中心点的连线相对水平方向的夹角;将参考像素点与水波中心点的距离与夹角的余弦值相乘,得到参考像素点与水波中心点的水平距离;将参考像素点与水波中心点的距离与夹角的正弦值相乘,得到参考像素点与水波中心点的垂直距离。
[0115]
在一个实施例中,目标图像包括广告图像;处理器803还可调用该程序指令,以实现:识别广告图像中的文本信息,将文本信息中与关键词库中的至少一个关键词相匹配的目标文本确定为关键元素;检测广告图像中是否包含按钮元素,若包含按钮元素,则将按钮元素确定为关键元素;检测广告图像中是否包含商品元素,若包含商品元素,则将商品元素确定为关键元素。
[0116]
应当理解,本技术实施例中所描述的计算机设备80解决问题的原理与有益效果与本技术图2-图6所示实施例以及前述内容解决问题的原理和有益效果相似,为简洁描述,在这里不再赘述。
[0117]
此外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施例提供的方法。
[0118]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现前述实施例提供的方法。
[0119]
本技术实施例提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行实现前述实施例提供的方法。
[0120]
本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0121]
本技术实施例装置中的单元可以根据实际需要进行合并、划分和删减。
[0122]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0123]
以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1