一种图像处理方法、装置、电子设备及存储介质
技术领域
本发明涉及图像处理技术领域,特别是涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
目前,使用电子设备进行拍摄时,可对当前拍摄窗口画面进行对象检测,然后基于所检测到的对象进行效果添加,例如:参见图1(a),对当前拍摄窗口画面进行人脸检测,然后为检测到的人脸添加各种效果,但是,在拍摄过程中,经常会由于各种原因导致电子设备晃动,使得检测到的人脸不再完整显示于当前拍摄窗口画面中,即仅有部分显示在当前拍摄窗口画面中如图1(b)所示。
由于人脸仅有部分显示在当前拍摄窗口画面中,使得人脸的特征不足,导致电子设备无法检测到人脸,因此,无法对未完整显示于当前拍摄窗口画面中的人脸进行效果添加,导致用户体验较差。
发明内容
本发明实施例的目的在于提供一种图像处理方法、装置、电子设备及存储介质,解决如何对未完整显示于当前拍摄窗口画面中的对象进行效果添加的问题。具体技术方案如下:
第一方面,本发明实施例提供一种图像处理方法,所述方法包括:
对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
可选的,所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,包括:
根据所记录的相对位置关系,确定位置变换参数;
根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
根据所记录的相对大小关系,确定大小变换参数;
根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
可选的,所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤,包括:
根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
可选的,在所述确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小的步骤之后,所述方法还包括:
当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,包括:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
可选的,在所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤之前,所述方法还包括:
获得待添加效果。
可选的,所述获得待添加效果,包括:
确定所述待添加效果对象的类型;
根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
可选的,所述待添加效果对象的类型包括人脸或车辆。
可选的,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
可选的,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
第二方面,本发明实施例提供一种图像处理装置,所述装置包括:
对象检测模块,用于对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录模块,用于记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
第一确定模块,用于当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
第二确定模块,用于根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
添加模块,用于基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
可选的,所述第二确定模块,包括:
位置变换参数确定单元,用于根据所记录的相对位置关系,确定位置变换参数;
位置确定单元,用于根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
大小变换参数确定单元,用于根据所记录的相对大小关系,确定大小变换参数;
大小确定单元,用于根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
可选的,所述添加模块,包括:
确定单元,用于根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
添加单元,用于按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
可选的,所述装置还包括:
选择模块,用于在确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小之后,当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述第二确定模块,具体用于:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
可选的,所述装置还包括:
获得模块,用于在基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果之前,获得待添加效果。
可选的,所述获得模块,包括:
类型确定单元,用于确定所述待添加效果对象的类型;
待添加效果确定单元,用于根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
可选的,所述待添加效果对象的类型包括人脸或车辆。
可选的,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
可选的,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
第三方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
第五方面,本发明实施例提供一种应用程序,其中,所述应用程序用于在运行时执行上述任一所述的方法步骤。
本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1(a)为当前拍摄窗口画面中人脸完整显示时的示意图;
图1(b)为当前拍摄窗口画面中人脸未完整显示时的示意图;
图2为本发明实施例提供的图像处理方法的第一种流程示意图;
图3为本发明实施例提供的确定待添加效果对象的当前位置和大小的流程示意图;
图4为本发明实施例提供的添加待添加效果的流程示意图;
图5为本发明实施例提供的图像处理方法的第二种流程示意图;
图6为本发明实施例提供的图像处理方法的第三种流程示意图;
图7为本发明实施例提供的获得待添加效果的流程示意图;
图8为本发明实施例提供的图像处理装置的结构示意图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种图像处理方法、装置、电子设备及存储介质。
下面首先对本发明实施例所提供的一种图像处理方法进行介绍。
需要说明的是,本发明实施例所提供的一种图像处理方法应用于电子设备。在实际应用中,该电子设备可以为智能手机、平板电脑等,这都是合理的。
如图2所示,本发明实施例提供的一种图像处理方法,可以包括:
S101:对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象。
为了给当前拍摄窗口画面中的待添加效果对象进行效果添加,需要对当前拍摄窗口画面进行对象检测,确定当前拍摄窗口画面中的待添加效果对象和参考对象。
例如:假设当前拍摄窗口画面中存在一张人脸和一张桌子,假设需要进行效果添加的是人脸,则人脸为待添加效果对象,桌子为参考对象。
详细的,对当前拍摄窗口画面进行对象检测的方式有多种,包括但不限于以下方式:
第一种方式:利用深度学习的方式检测待添加效果对象和参考对象。
建立用于进行待添加效果对象检测的目标模型和用于进行参考对象检测的参考模型;
然后利用预先建立的目标模型和参考模型对当前拍摄窗口画面进行对象检测,得到待添加效果对象和参考对象。
其中,建立目标模型的过程可以但不限于包括:
(1)提取正负样本的特征,正样本为待添加效果对象,如:人、猫、车辆,负样本为非待添加效果对象,如:书、椅子、桌子;
(2)通过支持向量机SVM对所提取的正负样本的特征进行训练,得到目标模型。
其中,在机器学习中,SVM(Support Vector Machine,支持向量机)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。
建立参考模型的过程与上述建立目标模型的过程类型,只是建立参考模型时所使用的正样本为参考对象,如:书、椅子、桌子,负样本为待添加效果对象,如:人、猫、车辆。
第二种方式:利用边缘检测的方式检测待添加效果对象和参考对象。
由于需要添加效果的待添加效果对象一般具有与参考对象不同的特征,例如:待添加效果对象为人脸,参考对象为桌子,则人脸具有与桌子不同的边缘,因此,可以通过边缘检测的方式检测待添加效果对象和参考对象。
详细的,通过边缘检测的方式检测待添加效果对象和参考对象的过程为:
对当前拍摄窗口画面进行边缘检测,得到多个边缘特征;
将各个边缘特征分别与预设边缘特征进行匹配;
将与预设边缘特征匹配的边缘特征对应的对象确定为待添加效果对象,将与预设边缘特征不匹配的边缘特征对应的对象确定为参考对象。
S102:记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系。
在确定当前拍摄窗口画面中的待添加效果对象和参考对象后,即可确定待添加效果对象的位置和大小,以及参考对象的位置和大小。
其中,确定待添加效果对象的大小的方式可以包括但不限于以下方式:
第一种方式:确定待添加效果对象的最小外接矩形,将该最小外接矩形的面积大小确定为该待添加效果对象的大小。
第二种方式:确定待添加效果对象的最小外接圆,将该最小圆的面积大小确定为该待添加效果对象的大小。
类似的,参考对象的大小也可以通过上述方式进行确定。
在确定了待添加效果对象的位置以及参考对象的位置后,根据待添加效果对象的位置和参考对象的位置,确定待添加效果对象和参考对象之间的相对位置关系。其中,相对位置关系可以为:待添加效果对象与参考对象之间的横坐标之间的相对关系,以及纵坐标之间的相对关系。
在确定了待添加效果对象的大小以及参考对象的大小后,根据待添加效果对象的大小和参考对象的大小,确定待添加效果对象和参考对象之间的相对大小关系。其中,相对大小关系可以为待添加效果对象对应的最小外接圆与参考对象对应的最小外接圆之间的相对关系。
例如:假设拍摄窗口画面比例为100×100像素,待添加效果对象为人脸,参考对象为桌子,人脸的位置为(50,50),人脸的大小为以(50,50)为中心,半径为10单位像素的圆的大小,桌子的位置为(80,80),桌子的大小为以(80,80)为中心,半径为4单位像素的圆的大小;
则根据人脸的位置(50,50)以及桌子的位置(80,80),确定人脸和桌子之间的相对位置关系为:桌子的横坐标与人脸的横坐标之差为30,桌子的纵坐标与人脸的纵坐标之差为30;
根据人脸的大小以及桌子的大小,确定人脸和桌子之间的相对大小关系为:桌子的半径是人脸的半径的2/5。
S103:当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小。
由于有时电子设备晃动,使得待添加效果对象在当前拍摄窗口画面中进行了移动,此时,会出现待添加效果对象全部移出或部分移出当前拍摄窗口画面的情况,当待添加效果对象部分移出当前拍摄窗口画面,即当待添加效果对象未完整显示于当前拍摄窗口画面中时,将导致无法检测到该待添加效果对象。
因此,为了再次识别出该待添加效果对象,在记录了待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系后,需要确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小。
S104:根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小。
在确定了完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小后,即可根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小。
例如:承接步骤S102的例子,假设确定了完整显示于当前拍摄窗口画面中的参考对象仍为桌子,且当前桌子的位置为(30,30),桌子的大小为以(30,30)为中心,半径为2单位像素的圆的大小;
由于人脸和桌子之间的相对位置关系为:桌子的横坐标与人脸的横坐标之差为30,桌子的纵坐标与人脸的纵坐标之差为30,且,当前桌子的位置为(30,30),因此,可以确定当前人脸的横坐标为30-30=0,人脸的纵坐标为30-30=0;
由于人脸和桌子之间的相对位置关系为:桌子的半径是人脸的半径的2/5,且,当前桌子的半径为2,因此,可以确定当前人脸的半径为2÷(2/5)=5;
由此,确定人脸的当前位置为(0,0),人脸的大小为以(0,0)为中心,半径为5单位像素的圆的大小。
S105:基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。
在确定了待添加效果对象的当前位置和大小后,即可在当前拍摄窗口画面中添加待添加效果。
本发明实施例中,对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象,记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系,当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
进一步的,参见图3,S104可以包括:
S1041:根据所记录的相对位置关系,确定位置变换参数。
在确定了完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小后,即可根据所记录的相对位置关系,确定位置变换参数。在相对位置关系为待添加效果对象与参考对象之间的横坐标之间的相对关系,以及纵坐标之间的相对关系时,位置变换参数为横坐标之差以及纵坐标之差。
例如:参见图2中步骤S102的例子,位置变化参数为:横坐标之差30,纵坐标之差30。
S1042:根据位置变换参数以及完整显示于当前拍摄窗口画面中的参考对象的当前位置,确定待添加效果对象的当前位置。
在确定了位置变换参数后,即可根据位置变换参数以及完整显示于当前拍摄窗口画面中的参考对象的当前位置,确定待添加效果对象的当前位置。详细的方式可参见图2中步骤S104的例子。
S1043:根据所记录的相对大小关系,确定大小变换参数。
类似的,可以根据所记录的相对大小关系,确定大小变换参数。在相对大小关系为待添加效果对象对应的最小外接圆与参考对象对应的最小外接圆之间的相对关系时,大小变换参数为半径之比。
例如:参见图2中步骤S102的例子,大小变化参数为:半径之比2/5。
S1044:根据大小变换参数以及完整显示于当前拍摄窗口画面中的参考对象的当前大小,确定待添加效果对象的大小。
在确定了大小变换参数后,即可根据大小变换参数以及完整显示于当前拍摄窗口画面中的参考对象的当前大小,确定待添加效果对象的大小。详细的方式可参见图2中步骤S104的例子。
由此,通过确定位置变换参数和大小变换参数的方式,确定待添加效果对象的当前位置和大小。
进一步的,参见图4,S105可以包括:
S1051:根据待添加效果对象的当前位置和大小,确定待添加效果的位置和大小。
S1052:按照所确定的待添加效果的位置和大小,在当前拍摄窗口画面中添加待添加效果。
为了使添加的效果与对象匹配,例如:假设待添加效果对象为人脸,待添加效果为眼镜,则眼镜需与人脸匹配,不可过大,也不可过小,因此,在确定了待添加效果对象的当前位置和大小后,需要根据待添加效果对象的当前位置和大小,确定待添加效果的位置和大小。
然后按照所确定的待添加效果的位置和大小,在当前拍摄窗口画面中添加待添加效果。
由于此时的待添加效果对象未完整显示于当前拍摄窗口画面中,因此,所添加的待添加效果也可能未完整显示于当前拍摄窗口画面中。
例如:假设待添加效果对象为人脸,待添加效果为眼镜,假设人脸的一半显示于当前拍摄窗口画面中,此时,当前拍摄窗口画面中只显示了一只眼睛,则在添加完待添加效果眼镜后,眼镜也只显示了一半。
由此,通过确定待添加效果的位置和大小的方式,完成了待添加效果的添加。
在图2所示方法的基础上,如图5所示,本发明实施例提供的一种图像处理方法,在步骤S103之后,还可以包括:
S104A:当完整显示于当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于当前拍摄窗口画面中的参考对象中选择一个参考对象。
由于完整显示于当前拍摄窗口画面中的参考对象的数量可能有多个,此时,可以根据预设选择规则,从多个完整显示于当前拍摄窗口画面中的参考对象中选择一个参考对象。
其中,预设选择规则可以包括但不限于以下方式:
第一种方式:任意选择一个。
第二种方式:根据各个参考对象与待添加效果对象的距离,选择距离最近的一个。
图5中步骤S104可以包括:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小。
在从多个参考对象中选择了一个参考对象后,即可根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小。详细的过程可以参见图2中的步骤S104。
在图2所示方法的基础上,如图6所示,本发明实施例提供的一种图像处理方法,在步骤S105之前,还可以包括:
S105A:获得待添加效果。
为了给待添加效果对象添加效果,在确定待添加效果对象的当前位置和大小后,需要获得待添加效果。在获得待添加效果后,即可进行待添加效果的添加。
其中,获得待添加效果的方式有多种,包括但不限于以下几种:
第一种:接收用户选择的待添加效果。
为了带给用户较好的用户体验,可以在当前拍摄窗口画面中展示多种待添加效果,用户可以通过点击的方式选择一种待添加效果,电子设备接收用户选择的待添加效果。
第二种:预设一待添加效果,获得该预设的待添加效果。
第三种:根据待添加效果对象的类型,确定待添加效果。
参见图7,步骤S105A可以包括:
S105A1:确定待添加效果对象的类型。
由于待添加效果对象的类型可能有多种,不同类型的待添加效果对象可以添加不同的效果,因此,可以确定待添加效果对象的类型。详细的,待添加效果对象的类型包括但不限于人脸或车辆。
S105A2:根据预设的类型与效果的对应关系,确定与待添加效果对象的类型对应的待添加效果。
为了确定待添加效果,预先建立了类型与效果的对应关系,在确定了待添加效果对象的类型后,即可根据预设的类型与效果的对应关系,确定与待添加效果对象的类型对应的待添加效果。
详细的,当待添加效果对象的类型为人脸时,待添加效果为滤镜效果、贴纸效果或美肤效果。
当待添加效果对象的类型为车辆时,待添加效果为标记框。标记框可以为各种形状的框,例如:矩形框。
由此,获得了待添加效果。
相对于上述方法实施例,如图8所示,本发明实施例还提供了一种图像处理装置,所述装置可以包括:
对象检测模块201,用于对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录模块202,用于记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
第一确定模块203,用于当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
第二确定模块204,用于根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
添加模块205,用于基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
本发明实施例中,对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象,记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系,当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
在本发明的一种实现方式中,所述第二确定模块204,可以包括:
位置变换参数确定单元,用于根据所记录的相对位置关系,确定位置变换参数;
位置确定单元,用于根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
大小变换参数确定单元,用于根据所记录的相对大小关系,确定大小变换参数;
大小确定单元,用于根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
在本发明的一种实现方式中,所述添加模块205,可以包括:
确定单元,用于根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
添加单元,用于按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
在本发明的一种实现方式中,所述装置还可以包括:
选择模块,用于在确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小之后,当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述第二确定模块,可以具体用于:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
在本发明的一种实现方式中,所述装置还可以包括:
获得模块,用于在基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果之前,获得待添加效果。
在本发明的一种实现方式中,所述获得模块,可以包括:
类型确定单元,用于确定所述待添加效果对象的类型;
待添加效果确定单元,用于根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
在本发明的一种实现方式中,所述待添加效果对象的类型可以包括人脸或车辆。
在本发明的一种实现方式中,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
在本发明的一种实现方式中,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901、通信接口902、存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
本发明实施例中,对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象,记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系,当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
在本发明的一种实现方式中,所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,可以包括:
根据所记录的相对位置关系,确定位置变换参数;
根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
根据所记录的相对大小关系,确定大小变换参数;
根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
在本发明的一种实现方式中,所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤,可以包括:
根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
在本发明的一种实现方式中,在所述确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小的步骤之后,所述方法还可以包括:
当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,包括:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
在本发明的一种实现方式中,在所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤之前,所述方法还可以包括:
获得待添加效果。
在本发明的一种实现方式中,所述获得待添加效果,可以包括:
确定所述待添加效果对象的类型;
根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
在本发明的一种实现方式中,所述待添加效果对象的类型可以包括人脸或车辆。
在本发明的一种实现方式中,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
在本发明的一种实现方式中,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
本发明实施例中,对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象,记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系,当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
在本发明的一种实现方式中,所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,可以包括:
根据所记录的相对位置关系,确定位置变换参数;
根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
根据所记录的相对大小关系,确定大小变换参数;
根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
在本发明的一种实现方式中,所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤,可以包括:
根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
在本发明的一种实现方式中,在所述确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小的步骤之后,所述方法还可以包括:
当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,包括:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
在本发明的一种实现方式中,在所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤之前,所述方法还可以包括:
获得待添加效果。
在本发明的一种实现方式中,所述获得待添加效果,可以包括:
确定所述待添加效果对象的类型;
根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
在本发明的一种实现方式中,所述待添加效果对象的类型可以包括人脸或车辆。
在本发明的一种实现方式中,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
在本发明的一种实现方式中,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
本发明实施例还提供了一种应用程序,其中,所述应用程序用于在运行时执行如下步骤:
对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象;
记录所述待添加效果对象和所述参考对象之间的相对位置关系,以及相对大小关系;
当所述待添加效果对象未完整显示于所述当前拍摄窗口画面时,确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小;
根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小;
基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果。
本发明实施例中,对当前拍摄窗口画面进行对象检测,确定待添加效果对象和参考对象,记录待添加效果对象和参考对象之间的相对位置关系,以及相对大小关系,当待添加效果对象未完整显示于当前拍摄窗口画面时,确定完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,根据完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,基于待添加效果对象的当前位置和大小,在当前拍摄窗口画面中添加待添加效果。本发明在待添加效果对象未完整显示于当前拍摄窗口画面时,通过完整显示于当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定待添加效果对象的当前位置和大小,从而完成对未完整显示于当前拍摄窗口画面中的待添加效果对象进行效果添加,提高识别待添加效果对象的识别度,以及提高了用户体验。
在本发明的一种实现方式中,所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,可以包括:
根据所记录的相对位置关系,确定位置变换参数;
根据所述位置变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前位置,确定所述待添加效果对象的当前位置;
根据所记录的相对大小关系,确定大小变换参数;
根据所述大小变换参数以及完整显示于所述当前拍摄窗口画面中的参考对象的当前大小,确定所述待添加效果对象的大小。
在本发明的一种实现方式中,所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤,可以包括:
根据所述待添加效果对象的当前位置和大小,确定待添加效果的位置和大小;
按照所确定的待添加效果的位置和大小,在所述当前拍摄窗口画面中添加所述待添加效果。
在本发明的一种实现方式中,在所述确定完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小的步骤之后,所述方法还可以包括:
当完整显示于所述当前拍摄窗口画面中的参考对象的数量为多个时,从多个完整显示于所述当前拍摄窗口画面中的参考对象中选择一个参考对象;
所述根据完整显示于所述当前拍摄窗口画面中的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小的步骤,包括:
根据所选择的参考对象的当前位置和大小,以及所记录的相对位置关系以及相对大小关系,确定所述待添加效果对象的当前位置和大小。
在本发明的一种实现方式中,在所述基于所述待添加效果对象的当前位置和大小,在所述当前拍摄窗口画面中添加待添加效果的步骤之前,所述方法还可以包括:
获得待添加效果。
在本发明的一种实现方式中,所述获得待添加效果,可以包括:
确定所述待添加效果对象的类型;
根据预设的类型与效果的对应关系,确定与所述待添加效果对象的类型对应的待添加效果。
在本发明的一种实现方式中,所述待添加效果对象的类型可以包括人脸或车辆。
在本发明的一种实现方式中,当所述待添加效果对象的类型为人脸时,所述待添加效果为滤镜效果、贴纸效果或美肤效果。
在本发明的一种实现方式中,当所述待添加效果对象的类型为车辆时,所述待添加效果为标记框。
对于装置、电子设备、存储介质及应用程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非只在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例中可能采用术语“第一”、“第二”、“第三”等来描述各种连接端口和标识信息等,但这些连接端口和标识信息等不应限于这些术语。这些术语仅用来将连接端口和标识信息等彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一连接端口也可以被称为第二连接端口,类似地,第二连接端口也可以被称为第一连接端口。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。