相框绘制方法、设备及存储介质与流程

    专利2022-07-08  132


    本申请实施例涉及图像处理技术领域,尤其涉及一种相框绘制方法、设备及存储介质。



    背景技术:

    随着网络技术的不断发展,图像的存储、处理和使用等日益频繁,为图像绘制相框这一应用也很常见。目前,在进行相框绘制时,在图像的外边框绘制具有一定宽度和特定形状的相框,如矩形相框和心形相框等,相框上还可以绘制特定的图形。

    图像变换是指一个图形到另一个图形的演变,常见的图像变换有平移、缩放、旋转、翻转和错切等变换。当对图像进行了变换后,相框也要随着图像的变换而变换,如何使得相框随着图像的变换而变换,同时保持相框的原有宽度比例,是亟需解决的问题。



    技术实现要素:

    本申请实施例提供一种相框绘制方法、设备及存储介质,以解决如何实现相框随着图像的变换而变换的问题。

    第一方面,本申请实施例提供一种相框绘制方法,包括:

    获取图像变换的旋转角度;

    根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息;

    根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵;

    根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框。

    一种可能的实施方式中,

    所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第二关键点位置信息为:所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标;

    所述根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息,包括:

    根据所述图像变换后图像的外边框对应的矩形的四个顶点的坐标、所述图像变换前相框的宽度和所述旋转角度,计算所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标。

    一种可能的实施方式中,所述第三关键点位置信息为:所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标;

    所述根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵,包括:

    根据所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标和所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标,确定所述相框的变换矩阵,所述相框的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一种可能的实施方式中,所述根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框,包括:

    根据所述相框的变换矩阵和所述图像变换前相框上每一点的坐标,确定所述图像变换后的相框上每一点的坐标;

    根据所述图像变换后的相框上每一点的坐标,绘制所述图像变换后的相框。

    一种可能的实施方式中,所述相框上包括至少一个图形,所述方法还包括:

    对所述至少一个图形中的每个图形,根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息;

    根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵;

    根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形。

    一种可能的实施方式中,所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第四关键点位置信息为:所述图像变换后所述图形的外切矩形的四个顶点的坐标;

    所述第五关键点位置信息为:所述图像变换前所述图形的外切矩形的四个顶点的坐标;

    所述根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息,包括:

    根据所述旋转角度、所述图像变换后图像的外边框对应的矩形的四个顶点的坐标和所述外切矩形的长度与宽度,计算所述图像变换后所述图形的外切矩形的四个顶点的坐标。

    一种可能的实施方式中,所述根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵,包括:

    根据所述图像变换前所述图形的外切矩形的四个顶点的坐标和所述图像变换后所述图形的外切矩形的四个顶点的坐标,计算所述图形的变换矩阵,所述图形的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一种可能的实施方式中,所述根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形,包括:

    根据所述图形的变换矩阵和所述图像变换前所述图形上每一点的坐标,确定所述图像变换后的图形上每一点的坐标;

    根据所述图像变换后的图形上每一点的坐标,绘制所述图像变换后的图形。

    第二方面,本申请实施例提供一种相框绘制装置,包括:

    获取模块,用于获取图像变换的旋转角度;

    第一确定模块,用于根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息;

    第二确定模块,用于根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵;

    绘制模块,用于根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框。

    一种可能的实施方式中,

    所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第二关键点位置信息为:所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标;

    所述第一确定模块用于:根据所述图像变换后图像的外边框对应的矩形的四个顶点的坐标、所述图像变换前相框的宽度和所述旋转角度,计算所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标。

    一种可能的实施方式中,所述第三关键点位置信息为:所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标;所述第二确定模块用于:

    根据所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标和所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标,确定所述相框的变换矩阵,所述相框的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一种可能的实施方式中,所述绘制模块用于:

    根据所述相框的变换矩阵和所述图像变换前相框上每一点的坐标,确定所述图像变换后的相框上每一点的坐标;

    根据所述图像变换后的相框上每一点的坐标,绘制所述图像变换后的相框。

    一种可能的实施方式中,所述相框上包括至少一个图形,所述第一确定模块还用于:

    对所述至少一个图形中的每个图形,根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息;

    所述第二确定模块还用于:根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵;

    所述绘制模块还用于:根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形。

    一种可能的实施方式中,所述位置信息为坐标,

    所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第四关键点位置信息为:所述图像变换后所述图形的外切矩形的四个顶点的坐标;

    所述第五关键点位置信息为:所述图像变换前所述图形的外切矩形的四个顶点的坐标;

    所述第一确定模块具体用于:

    根据所述旋转角度、所述图像变换后图像的外边框对应的矩形的四个顶点的坐标和所述外切矩形的长度与宽度,计算所述图像变换后所述图形的外切矩形的四个顶点的坐标。

    一种可能的实施方式中,所述第二确定模块具体用于:根据所述图像变换前所述图形的外切矩形的四个顶点的坐标和所述图像变换后所述图形的外切矩形的四个顶点的坐标,计算所述图形的变换矩阵,所述图形的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一种可能的实施方式中,所述绘制模块具体用于:

    根据所述图形的变换矩阵和所述图像变换前所述图形上每一点的坐标,确定所述图像变换后的图形上每一点的坐标;

    根据所述图像变换后的图形上每一点的坐标,绘制所述图像变换后的图形。

    第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的相框绘制方法。

    第四方面,本申请实施例提供一种电子设备,包括:

    处理器;以及

    存储器,用于存储所述处理器的可执行指令;

    其中,所述处理器配置为经由执行所述可执行指令来执行第一方面或第一方面各可能的实施方式中任一所述的相框绘制方法。

    第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的相框绘制方法。

    本申请实施例提供的相框绘制方法、设备及存储介质,通过先获取图像变换的旋转角度,该旋转角度可以是平移、缩放、旋转、翻转和错切中的任一种或其组合后的变换前后图像的旋转角度,接着根据该旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息,然后根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵,最后根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。由于相框的变换矩阵是根据图像变换前相框的外边框的关键点位置信息和图像变换后的相框的外边框的关键点位置信息确定,图像变换后的相框是根据相框的变换矩阵和图像变换前相框的形状绘制,从而,可以实现不论是哪种图像变换,均可根据图像的变换为变换后的图像重新绘制相框,实现了相框可随着图像的变换而变换,同时保持相框的原有宽度比例。

    附图说明

    为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

    图1为原图像经过水平方向错切得到变换后图像的一种示意图;

    图2为原图像经过垂直方向错切得到变换后图像的一种示意图;

    图3为本申请实施例提供的应用场景示例图;

    图4为本申请实施例提供的应用场景示例图;

    图5为本申请实施例提供的相框绘制方法的流程图;

    图6为本申请实施例提供的相框绘制方法中计算图像变换后的相框的外边框对应的矩形的一个顶点的坐标的过程示意图;

    图7为本申请实施例提供的相框绘制方法中计算图像变换后的相框的外边框对应的矩形的两个顶点的坐标的示意图;

    图8为本申请实施例提供的相框绘制方法的流程图;

    图9为本申请实施例提供的相框绘制方法中相框上的图形为心形时的外切矩形的示意图;

    图10为本申请实施例提供的相框绘制装置的结构示意图;

    图11为本申请实施例提供的电子设备的结构示意图。

    具体实施方式

    为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。

    本申请实施例的说明书、权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

    首先,下面对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

    1、图像变换,图像变换包括基本变换和仿射变换与透视变换,基本变换包括平移、缩放、旋转、翻转和错切,仿射变换与透视变换通过对基本变换进行组合实现。

    2、错切,也称为斜切、剪切或错位变换,错切包含水平方向错切和垂直方向错切,如图1和图2所示,图1为原图像经过水平方向错切得到变换后图像的一种示意图,图2为原图像经过垂直方向错切得到变换后图像的一种示意图。

    目前,在一些应用中,对于图像的显示,涉及到为图像绘制相框,在图像进行了图像变换后,原有的相框需要随着图像的变换而变换,同时保持相框的原有宽度比例,因此需要为变换后的图像重新绘制相框。相框有不同的形状,如矩形相框、平行四边形相框和心形相框等,相框上还可以绘制特定的图形,在进行了图像变换后,相框和相框上的图形均要随着图像的变换而变换。

    对于图像变换中的平移和缩放,随着图像的变换重新绘制相框比较容易实现,例如,若仅仅是平移,则根据平移后图像的边框的位置绘制等宽度的相框即可,若是缩放,则按照图像缩放的比例绘制等比例的相框即可,但是,若图像变换包括平移、缩放、旋转、翻转和错切中的任一种或其组合时,如何实现相框随着图像的变换而变换,同时保持相框的原有宽度比例,是本申请实施例要解决的问题。

    本申请实施例提供一种相框绘制方法、设备及存储介质,通过先获取图像变换的旋转角度,该旋转角度可以是平移、缩放、旋转、翻转和错切中的任一种或其组合后的变换前后图像的旋转角度,接着根据该旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息,然后根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵,最后根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。由于相框的变换矩阵是根据图像变换前相框的外边框的关键点位置信息和图像变换后的相框的外边框的关键点位置信息确定,图像变换后的相框是根据相框的变换矩阵和图像变换前相框的形状绘制,从而,可以实现不论是哪种图像变换,均可根据图像的变换为变换后的图像重新绘制相框,实现了相框可随着图像的变换而变换,同时保持相框的原有宽度比例。

    接下来,对本申请实施例涉及的应用场景进行示例说明。

    图3为本申请实施例提供的应用场景示例图,矩形相框较为常见,本实施例中以矩形相框为例,如图3所示,原图像为灰色所示的矩形部分,原相框为图像外的矩形框,相框具有固定的宽度,图3中的另外三个图所示的分别为原图像和原相框经过变换1、变换2和变换3之后的示意图,变换1为旋转,变换2为旋转和错切,变换3为缩放、错切与旋转,图3仅仅是示例,还有其它图像变换。本申请实施例提供的相框绘制方法,可实现根据图像的变换为变换后的图像重新绘制相框,实现了相框可随着图像的变换而变换,同时保持相框的原有宽度比例。

    图4为本申请实施例提供的应用场景示例图,矩形相框较为常见,本实施例中以矩形相框为例,矩形相框上还有图形,如图4所示,矩形相框的四个顶点的位置均设置有图形,原图像为相框内所示的图像,原相框为图像外的矩形框,相框具有固定的宽度,矩形相框的四个顶点的位置还设置有图形,图4中的另外两个图所示的分别为原图像和原相框经过变换1和变换2之后的示意图,变换1为旋转、缩放与错切,变换2为旋转、缩放与错切,图4仅仅是示例,还有其它图像变换。本申请实施例提供的相框绘制方法,可实现根据图像的变换为变换后的图像重新绘制相框,实现了相框和相框上的图形可随着图像的变换而变换,同时保持相框的原有宽度比例。

    下面通过具体实施例,对本申请实施例提供的相框绘制方法、设备及存储介质的具体实现过程进行详细说明。

    图5为本申请实施例提供的相框绘制方法的流程图,该相框绘制方法可以由相框绘制装置执行,该相框绘制装置可以通过软件和/或硬件的方式实现。该相框绘制装置可以是电子设备或电子设备的芯片或电路。如图5所示,本实施例的方法可以包括:

    s101、获取图像变换的旋转角度。

    具体来说,本实施例中,图像变换包括基本变换和仿射变换与透视变换,基本变换包括平移、缩放、旋转、翻转和错切,仿射变换与透视变换通过对基本变换进行组合实现。可以理解的是,除了平移和/或缩放对应的旋转角度为0,旋转、翻转和错切中的任意一种或组合的变换对应的旋转角度均大于0,旋转、翻转和错切中的至少一种变换与平移或缩放的组合变换对应的旋转角度也大于0。

    作为一种可实施的方式,获取图像变换的旋转角度,可以是通过向量法获取,由于变换前图像和变换后图像是已知的,可以取变换前图像上某两点的坐标(x1,y1)和(x2,y2),该两点构成第一向量,再取变换后图像对应相同位置的两点的坐标(x1’,y1’)和(x2’,y2’),该两点构成第二向量,计算第一向量与第二向量的夹角即为图像变换的旋转角度。

    具体如何计算第一向量与第二向量的夹角,可以通过反正切函数计算,例如,通过atan2方法返回一个-π到π之间的数值,表示点(x,y)对应的偏移角度,该偏移角度是一个逆时针角度,以弧度为单位,正x轴和点(x,y)与原点连线之间。对于两个相交的向量,交点即为原点,通过atan2方法分别计算出对应的角度之后,通过相减即可获得两个向量的夹角。

    作为另一种可实施的方式,获取图像变换的旋转角度,可以是通过先获取图像的变换矩阵,图像的变换矩阵包括图像变换的信息,如包括平移距离、缩放比例、旋转角度等信息,然后根据图像的变换矩阵可以得到图像变换的旋转角度。

    s102、根据旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息。

    具体来说,图像变换后图像的外边框的第一关键点位置信息可以是在s101之前或之后获取,或者在获取旋转角度的同时获取,图像变换前相框的宽度可以是已知的,或者可以是在s101之前或之后获取,或者在获取旋转角度的同时获取。

    在一种可实施的方式中,位置信息可以为坐标,相框的外边框的关键点可以是相框的外边框对应的矩形的四个顶点,若相框的外边框为矩形,则相框的外边框的关键点即为矩形的四个顶点,若相框的外边框为圆形、椭圆形或心形等,则相框的外边框对应的矩形即为相框的外边框的外切矩形,相应地,相框的外边框的关键点即为外切矩形的四个顶点。若相框的外边框为平行四边形,相框的外边框对应的矩形为以平行四边形的底和高分别作为矩形的长和宽而构成的矩形。

    作为一种可实施的方式,第一关键点位置信息可以为:图像变换后图像的外边框对应的矩形的四个顶点的坐标,第二关键点位置信息可以为:图像变换后的相框的外边框对应的矩形的四个顶点的坐标。相应地,s102可以为:根据图像变换后图像的外边框对应的矩形的四个顶点的坐标、图像变换前相框的宽度和旋转角度,计算图像变换后的相框的外边框对应的矩形的四个顶点的坐标。

    本实施例中,通过将相框的外边框对应的矩形的四个顶点作为相框的外边框的关键点,将图像的外边框对应的矩形的四个顶点作为图像的外边框的关键点,便于计算,且可保证相框变换矩阵计算的准确性。

    还是以矩形相框为例,在根据图像变换后图像的外边框对应的矩形的四个顶点的坐标、图像变换前相框的宽度和旋转角度,计算图像变换后的相框的外边框对应的矩形的四个顶点的坐标时,可以是每个顶点分别计算,以计算其中一个顶点为例,图6为本申请实施例提供的相框绘制方法中计算图像变换后的相框的外边框对应的矩形的一个顶点的坐标的过程示意图,如图6所示,c点为图像变换后图像的外边框的四个顶点中的其中一个顶点,c点的坐标是可以获得的,ce的长度为图像变换前相框的宽度,ce与cb的夹角即为旋转角度,根据c点的坐标与图像变换后c点所在的边的方向向反方向延伸图像变换前相框的宽度的距离,即可得到ce,ce与be垂直,根据ce与cb的夹角,可计算出cb的长度,得到b点的坐标,按照同样的方法得到d点的坐标,根据a、b、c和d点构成菱形,得到c、b和d点的位置后,即可得到a点的坐标。按照图6所示的同样的方法,可以得到图像变换后的相框的外边框对应的矩形的四个顶点的坐标。图7为本申请实施例提供的相框绘制方法中计算图像变换后的相框的外边框对应的矩形的两个顶点的坐标的示意图,如图7所示,a点和a’点分别为图像变换后的相框的外边框对应的矩形的两个顶点,a’点的坐标的计算过程与a点的坐标的计算过程相同。

    在另一种可实施的方式中,如图7所示,还可以是计算出cb的长度,得到b点的坐标后,cb线段延伸固定距离(即计算出的cb的长度)到b点,c’b’延伸相同的距离到b’点,再通过bb’延伸相同的距离即可得到a点和a’点,以此类推可计算出四个顶点的坐标,可选的,还可以利用对称特性减少部分计算量。

    s103、根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵。

    具体地,在一种可实施的方式中,第三关键点位置信息为:图像变换前的相框的外边框对应的矩形的四个顶点的坐标。

    s103具体可以为:根据图像变换前的相框的外边框对应的矩形的四个顶点的坐标和图像变换后的相框的外边框对应的矩形的四个顶点的坐标,确定相框的变换矩阵,相框的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    根据变换前后的四点顶点的坐标,确定变换矩阵,可以采用变换矩阵的计算方式,本实施例此处不再赘述。

    s104、根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。

    具体地,通过s103获取到相框的变换矩阵后,根据相框的变换矩阵和图像变换前相框的形状,就可以绘制图像变换后的相框。

    作为一种可实施的方式,s104具体可以为:

    s1041、根据相框的变换矩阵和图像变换前相框上每一点的坐标,确定图像变换后的相框上每一点的坐标。

    s1042、根据图像变换后的相框上每一点的坐标,绘制图像变换后的相框。具体地,将图像变换后的相框上每一点连接,即可得到图像变换后的相框。

    本实施例提供的相框绘制方法,通过先获取图像变换的旋转角度,该旋转角度可以是平移、缩放、旋转、翻转和错切中的任一种或其组合后的变换前后图像的旋转角度,接着根据该旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息,然后根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵,最后根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。由于相框的变换矩阵是根据图像变换前相框的外边框的关键点位置信息和图像变换后的相框的外边框的关键点位置信息确定,图像变换后的相框是根据相框的变换矩阵和图像变换前相框的形状绘制,从而,可以实现不论是哪种图像变换,均可根据图像的变换为变换后的图像重新绘制相框,实现了相框可随着图像的变换而变换,同时保持相框的原有宽度比例。

    图8为本申请实施例提供的相框绘制方法的流程图,该相框绘制方法可以由相框绘制装置执行,该相框绘制装置可以通过软件和/或硬件的方式实现。该相框绘制装置可以是电子设备或电子设备的芯片或电路。本实施例与图5所示方法实施例中的区别在于,图5中可实现相框可随着图像的变换而变换,若相框上还设置有至少一个图形,本实施例的方法可实现相框和相框上的图形可随着图像的变换而变换,如图8所示,本实施例的方法可以包括:

    s201、获取图像变换的旋转角度。

    s202、根据旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息。

    s203、根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵。

    具体地,对于相框的变换矩阵的具体确定方式,可参见图5所示实施例中的描述,此处不再赘述。

    s204、对至少一个图形中的每个图形,根据旋转角度、第一关键点位置信息和外切矩形的长度与宽度,确定图像变换后图形的外切矩形的第四关键点位置信息。

    作为一种可实施的方式,位置信息为坐标,第一关键点位置信息可以为:图像变换后图像的外边框对应的矩形的四个顶点的坐标。第四关键点位置信息可以为:图像变换后图形的外切矩形的四个顶点的坐标。第五关键点位置信息为:图像变换前图形的外切矩形的四个顶点的坐标。

    相应地,s204可以为:根据旋转角度、图像变换后图像的外边框对应的矩形的四个顶点的坐标和外切矩形的长度与宽度,计算图像变换后图形的外切矩形的四个顶点的坐标。

    图9为本申请实施例提供的相框绘制方法中相框上的图形为心形时的外切矩形的示意图,如图9所示,若相框上的图形为心形,该心形图形的外切矩形如图9中的虚线框所示。该心形图形的外切矩形有长度与宽度,通过图像变换前心形图形的外切矩形的四个顶点的坐标和图像变换后心形图形的外切矩形的四个顶点的坐标,可以计算出图形的变换矩阵。图形的变换矩阵的计算方式和相框的变换矩阵的计算方式类似,由于图像变换前心形图形的外切矩形的四个顶点的坐标是可以直接获得的,此处需要确定图像变换后心形图形的外切矩形的四个顶点的坐标,具体可以根据旋转角度、图像变换后图像的外边框对应的矩形的四个顶点的坐标和外切矩形的长度与宽度,计算图像变换后图形的外切矩形的四个顶点的坐标。

    需要说明的是,图形离图像变换后图像的外边框对应的矩形的四个顶点中的哪个顶点近,在计算时就使用这个顶点的坐标,即根据旋转角度、图像变换后图像的外边框对应的矩形的四个顶点中与图形的距离最小的顶点的坐标和外切矩形的长度与宽度,计算图像变换后图形的外切矩形的四个顶点的坐标,计算方式可以和相框的变换矩阵的计算方式中计算图像变换后的相框的外边框对应的矩形的四个顶点的坐标类似,此处不再赘述。

    本实施例中,通过将图形的外切矩形的四个顶点作为图形的外切矩形的关键点,便于计算,且可保证图形变换矩阵计算的准确性。

    s205、根据图像变换前图形的外切矩形的第五关键点位置信息和第四关键点位置信息,确定图形的变换矩阵。

    相应地,在一种可实施的方式中,s205具体可以是根据图像变换前图形的外切矩形的四个顶点的坐标和图像变换后图形的外切矩形的四个顶点的坐标,计算图形的变换矩阵,计算的方式可以采用变换矩阵的计算方式,图形的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    需要说明的是,通过s202-s203确定相框的变换矩阵,通过s204-s205确定图形的变换矩阵,s202-s203和s204-s205没有先后顺序,若相框上设置有至少一个图形,相框的变换矩阵和图形的变换矩阵的确定部分顺序,还可以同时执行。相框的变换矩阵和图形的变换矩阵不同,对于相框上设置的每个图形,每个图形的变换矩阵分别通过s204-s205确定。

    s206、根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。

    s207、根据图形的变换矩阵和图形的形状,绘制图像变换后的图形。

    具体地,s207可以是:根据图形的变换矩阵和图像变换前图形上每一点的坐标,确定图像变换后的图形上每一点的坐标,根据图像变换后的图形上每一点的坐标,绘制图像变换后的图形。

    本实施例提供的相框绘制方法,通过先获取图像变换的旋转角度,接着根据旋转角度、图像变换后图像的外边框的第一关键点位置信息、图像变换前相框的宽度和图像变换前的相框的外边框的第三关键点位置信息确定相框的变换矩阵,然后对至少一个图形中的每个图形,根据旋转角度、第一关键点位置信息、外切矩形的长度与宽度和图像变换前图形的外切矩形的第五关键点位置信息,确定图形的变换矩阵,最后根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框,根据图形的变换矩阵和图形的形状,绘制图像变换后的图形。由于相框的变换矩阵是根据图像变换前相框的外边框的关键点位置信息和图像变换后的相框的外边框的关键点位置信息确定,图像变换后的相框是根据相框的变换矩阵和图像变换前相框的形状绘制,从而,可以实现不论是哪种图像变换,均可根据图像的变换为变换后的图像重新绘制相框,实现了相框可随着图像的变换而变换,同时保持相框的原有宽度比例。由于图形的变换矩阵是根据图像变换前图形的外切矩形的关键点位置信息和图像变换后的图形的外切矩形的关键点位置信息确定,图像变换后的图形是根据图形的变换矩阵和图形的形状绘制,从而,可以实现不论是哪种图像变换,均可根据图像的变换为变换后的图像重新绘制相框上的图形,实现了相框上的图形可随着图像的变换而变换。

    下面以相框为四边形abcd为例,四边形abcd可以是矩形、平行四边形或菱形中的任一种,示出一种实现本申请提供的相框绘制方法的程序代码举例,下述的实施公式中,可实现相框可随着图像的变换而变换:

    计算实际延伸的距离的实现代码:

    以下为本申请装置实施例,可以用于执行本申请上述方法实施例。对于本申请装置实施例中未披露的细节,可参考本申请上述方法实施例。

    图10为本申请实施例提供的相框绘制装置的结构示意图。该相框绘制装置可以通过软件和/或硬件的方式实现。如图10所示,本实施例的相框绘制装置可以包括:获取模块11、第一确定模块12、第二确定模块13和绘制模块14,其中,

    获取模块11用于获取图像变换的旋转角度。

    第一确定模块12用于根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息。

    第二确定模块13用于根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵。

    绘制模块14用于根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框。

    一些实施例中,所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第二关键点位置信息为:所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标;

    所述第一确定模块12用于:根据所述图像变换后图像的外边框对应的矩形的四个顶点的坐标、所述图像变换前相框的宽度和所述旋转角度,计算所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标。

    一些实施例中,所述第三关键点位置信息为:所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标;所述第二确定模块13用于:

    根据所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标和所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标,确定所述相框的变换矩阵,所述相框的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一些实施例中,所述绘制模块14用于:

    根据所述相框的变换矩阵和所述图像变换前相框上每一点的坐标,确定所述图像变换后的相框上每一点的坐标;

    根据所述图像变换后的相框上每一点的坐标,绘制所述图像变换后的相框。

    一些实施例中,所述相框上包括至少一个图形,所述第一确定模块12还用于:

    对所述至少一个图形中的每个图形,根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息;

    所述第二确定模块13还用于:根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵;

    所述绘制模块14还用于:根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形。

    一些实施例中,所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标,所述第四关键点位置信息为:所述图像变换后所述图形的外切矩形的四个顶点的坐标,所述第五关键点位置信息为:所述图像变换前所述图形的外切矩形的四个顶点的坐标。

    所述第一确定模块12具体用于:根据所述旋转角度、所述图像变换后图像的外边框对应的矩形的四个顶点的坐标和所述外切矩形的长度与宽度,计算所述图像变换后所述图形的外切矩形的四个顶点的坐标。

    一种可能的实施方式中,所述第二确定模块13具体用于:根据所述图像变换前所述图形的外切矩形的四个顶点的坐标和所述图像变换后所述图形的外切矩形的四个顶点的坐标,计算所述图形的变换矩阵,所述图形的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    一种可能的实施方式中,所述绘制模块14具体用于:根据所述图形的变换矩阵和所述图像变换前所述图形上每一点的坐标,确定所述图像变换后的图形上每一点的坐标,根据所述图像变换后的图形上每一点的坐标,绘制所述图像变换后的图形。

    本实施例的装置,可以用于执行图5或图8所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

    本申请实施例中可以根据上述方法示例对相框绘制装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

    图11为本申请实施例提供的电子设备的结构示意图。如图11所示,电子设备50包括:处理器51,以及与处理器51连接的存储器52、通信模块53和显示屏54。

    处理器51可以包括一个或多个处理单元,例如:处理器51可以是中央处理单元(centralprocessingunit,简称cpu),也可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

    存储器52可以用于存储程序指令。存储器52可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能等)等。存储数据区可存储电子设备50使用过程中所创建的数据(比如音频数据等)等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,简称ufs)等。处理器51通过运行存储在存储器52的程序指令,执行电子设备50的各种功能应用以及数据处理。

    通信模块53可以提供应用在电子设备50上的包括2g/3g/4g/5g等无线通信的解决方案。通信模块53可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。通信模块53还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,通信模块53的至少部分功能模块可以被设置于处理器51中。在一些实施例中,通信模块53的至少部分功能模块可以与处理器51的至少部分模块被设置在同一个器件中。

    显示屏54用于显示画面,例如图像,视频等。显示屏54包括显示面板。显示面板可以采用液晶显示器(liquidcrystaldisplay,简称lcd),有机发光二极管(organiclight-emittingdiode,简称oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode,简称amoled),柔性发光二极管(flexlight-emittingdiode,简称fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,简称qled)等。显示面板可以接收用户通过手指或者输入设备输入的触摸操作。其中,输入设备包括但不限定于:触控笔、红外笔和/或电容笔等。

    可选地,电子设备50还包括:摄像头55,等等。

    摄像头55可以进行图像或者视频的拍摄。例如,摄像头55可以在处理器51的控制下拍摄视频,并将视频存储至存储器52。

    需说明的是,对于存储器52及处理器51的个数,本申请实施例不对其进行限制,其均可以为一个或多个,图11以一个为例进行图示;存储器52、及处理器51之间,可以通过多种方式进行有线或者无线连接,例如通过总线连接。实际应用中,该电子设备50可以是电脑,手机,平板,pda或交互平板等。

    总线可以是工业标准体系结构(industrystandardarchitecture,简称isa)总线、外部设备互连(peripheralcomponent,简称pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

    本实施例的电子设备,可以用于执行上述实施例中的相框绘制方法,其实现原理和技术效果类似,此处不再赘述。

    本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,计算机程序用于实现如上实施例中的相框绘制方法。

    本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上实施例中的相框绘制方法。

    本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

    最后应说明的是:以上各实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述各实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例各实施例技术方案的范围。


    技术特征:

    1.一种相框绘制方法,其特征在于,包括:

    获取图像变换的旋转角度;

    根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息;

    根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵;

    根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框。

    2.根据权利要求1所述的方法,其特征在于,所述位置信息为坐标,所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第二关键点位置信息为:所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标;

    所述根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息,包括:

    根据所述图像变换后图像的外边框对应的矩形的四个顶点的坐标、所述图像变换前相框的宽度和所述旋转角度,计算所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标。

    3.根据权利要求2所述的方法,其特征在于,所述第三关键点位置信息为:所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标;

    所述根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵,包括:

    根据所述图像变换前的相框的外边框对应的矩形的四个顶点的坐标和所述图像变换后的相框的外边框对应的矩形的四个顶点的坐标,确定所述相框的变换矩阵,所述相框的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框,包括:

    根据所述相框的变换矩阵和所述图像变换前相框上每一点的坐标,确定所述图像变换后的相框上每一点的坐标;

    根据所述图像变换后的相框上每一点的坐标,绘制所述图像变换后的相框。

    5.根据权利要求1所述的方法,其特征在于,所述相框上包括至少一个图形,所述方法还包括:

    对所述至少一个图形中的每个图形,根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息;

    根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵;

    根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形。

    6.根据权利要求5所述的方法,其特征在于,所述位置信息为坐标,

    所述第一关键点位置信息为:所述图像变换后图像的外边框对应的矩形的四个顶点的坐标;

    所述第四关键点位置信息为:所述图像变换后所述图形的外切矩形的四个顶点的坐标;

    所述第五关键点位置信息为:所述图像变换前所述图形的外切矩形的四个顶点的坐标;

    所述根据所述旋转角度、所述第一关键点位置信息和所述外切矩形的长度与宽度,确定所述图像变换后所述图形的外切矩形的第四关键点位置信息,包括:

    根据所述旋转角度、所述图像变换后图像的外边框对应的矩形的四个顶点的坐标和所述外切矩形的长度与宽度,计算所述图像变换后所述图形的外切矩形的四个顶点的坐标。

    7.根据权利要求6所述的方法,其特征在于,所述根据所述图像变换前所述图形的外切矩形的第五关键点位置信息和所述第四关键点位置信息,确定所述图形的变换矩阵,包括:

    根据所述图像变换前所述图形的外切矩形的四个顶点的坐标和所述图像变换后所述图形的外切矩形的四个顶点的坐标,计算所述图形的变换矩阵,所述图形的变换矩阵包括平移信息、旋转信息、缩放信息、翻转信息和斜切信息中的至少一种。

    8.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述图形的变换矩阵和所述图形的形状,绘制所述图像变换后的图形,包括:

    根据所述图形的变换矩阵和所述图像变换前所述图形上每一点的坐标,确定所述图像变换后的图形上每一点的坐标;

    根据所述图像变换后的图形上每一点的坐标,绘制所述图像变换后的图形。

    9.一种相框绘制装置,其特征在于,包括:

    获取模块,用于获取图像变换的旋转角度;

    第一确定模块,用于根据所述旋转角度、所述图像变换后图像的外边框的第一关键点位置信息和所述图像变换前相框的宽度,确定所述图像变换后的相框的外边框的第二关键点位置信息;

    第二确定模块,用于根据所述图像变换前的相框的外边框的第三关键点位置信息和所述第二关键点位置信息,确定相框的变换矩阵;

    绘制模块,用于根据所述相框的变换矩阵和所述图像变换前相框的形状,绘制所述图像变换后的相框。

    10.一种电子设备,其特征在于,包括:

    处理器;以及

    存储器,用于存储所述处理器的可执行指令;

    其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的相框绘制方法。

    11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的相框绘制方法。

    12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8任一项所述的相框绘制方法。

    技术总结
    本申请实施例提供一种相框绘制方法、设备及存储介质,属于图像处理技术领域。该方法包括:获取图像变换的旋转角度,根据旋转角度、图像变换后图像的外边框的第一关键点位置信息和图像变换前相框的宽度,确定图像变换后的相框的外边框的第二关键点位置信息,根据图像变换前的相框的外边框的第三关键点位置信息和第二关键点位置信息,确定相框的变换矩阵,根据相框的变换矩阵和图像变换前相框的形状,绘制图像变换后的相框。从而,实现了相框和相框上的图形可随着图像的变换而变换,同时保持相框的原有宽度比例。

    技术研发人员:陈耿槟
    受保护的技术使用者:广州视源电子科技股份有限公司;广州视睿电子科技有限公司
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16068.html

    最新回复(0)