图像处理方法、装置、计算机设备和存储介质与流程

文档序号:18323555发布日期:2019-08-03 10:44阅读:128来源:国知局
图像处理方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。



背景技术:

随着科学技术发展,各种智能产品已成为人们日常生活的一部分,拍照更是人们旅游聚餐必不可少的活动。拍摄的图像可以用在不同的领域,比如海报、虚拟试衣等领域。但有些时候由于拍摄角度、光线等原因使得拍摄出来的图像的整体呈现效果不如人意,并且在一些情况下,不能重新进行拍摄,但使用已拍摄的图像无法体现人物的整体形象。例如用户拍摄的图像中的人体产生了扭曲现象,无法体现被拍摄对象的整体形象。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够解决图像中的人体扭曲现象的图像处理方法、装置、计算机设备和存储介质。

一种图像处理方法,所述方法包括:

获取头部图像,确定所述头部图像的拍摄距离;

获取身体图像,确定所述身体图像的拍摄距离;所述拍摄距离为被拍摄对象与拍摄设备之间的距离;

根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像;

将拍摄距离相同的所述头部图像和所述身体图像进行形变,得到形变后的头部图像和身体图像;

将所述形变后的头部图像和身体图像拼合。

在其中一个实施例中,所述根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

根据所述身体图像的拍摄距离,确定所述头部图像需要调整的距离;

根据所述头部图像需要调整的距离将所述头部图像进行透视重建,以使所述头部图像的拍摄距离与所述身体图像的拍摄距离相同。

在其中一个实施例中,所述将所述头部图像进行透视重建的步骤,包括:

提取所述头部图像中被拍摄对象的图像;

根据所述头部图像需要调整的距离确定所述头部图像中被拍摄对象的图像需要调整的尺寸;

根据所述头部图像需要调整的距离和所述需要调整的尺寸透视重建所述头部图像中被拍摄对象的图像。

在其中一个实施例中,所述将所述头部图像进行透视重建步骤,包括:

确定所述头部图像在地平面的投影图像;

根据所述投影图像和所述拍摄设备的位置,确定所述投影图像中各像素点至所述拍摄设备的距离;

将所述投影图像中各像素点至所述拍摄设备的距离与所述头部图像中各像素点至所述拍摄设备的距离的比值,确定为相似比;

根据所述投影图像、所述拍摄设备的位置和所述相似比,对所述头部图像进行透视重建。

在其中一个实施例中,所述根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

根据所述头部图像的拍摄距离,确定所述身体图像需要调整的距离;

根据所述身体图像需要调整的距离将所述身体图像透视重建,以使所述身体图像的拍摄距离与所述头部图像的拍摄距离相同。

在其中一个实施例中,所述根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

获取距离阈值;

根据所述距离阈值确定所述头部图像需要调整的距离和所述身体图像需要调整的距离;

根据所述头部图像需要调整的距离和所述身体图像需要调整的距离将所述头部图像和所述身体图像进行透视重建,以使所述头部图像的拍摄距离与所述身体图像的拍摄距离相同。

在其中一个实施例中,所述根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

将所述头部图像的拍摄距离与素材库的身体图像的拍摄距离进行对比;

选取与所述头部图像的拍摄距离相同的身体图像。

在其中一个实施例中,所述根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

将所述身体图像的拍摄距离与素材库的头部图像的拍摄距离进行对比;

选取与所述身体图像的拍摄距离相同的头部图像。

在其中一个实施例中,所述将拍摄距离相同的所述头部图像和所述身体图像进行形变,得到形变后的头部图像和身体图像,包括:

确定所述头部图像的形变参数和所述身体图像的形变参数;

根据所述头部图像的形变参数对所述头部图像进行形变处理,并根据所述身体图像的形变参数对所述身体图像进行形变处理,得到形变后的头部图像和身体图像。

在其中一个实施例中,所述将所述形变后的头部图像和身体图像拼合,包括:

确定所述形变后的头部图像和身体图像拼合的重叠区域;

对所述重叠区域进行泊松融合。

在其中一个实施例中,所述方法还包括:

获取所述头部图像的图像参数和所述身体图像的图像参数;

采用所述头部图像的图像参数替换所述身体图像的图像参数。

一种图像处理装置,所述装置包括:

距离获取模块,用于获取头部图像,确定所述头部图像的拍摄距离;

距离获取模块,还用于获取身体图像,确定所述身体图像的拍摄距离;所述拍摄距离为被拍摄对象与拍摄设备之间的距离;

调整模块,用于根据所述头部图像的拍摄距离和所述身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像;

形变模块,用于将拍摄距离相同的所述头部图像和所述身体图像进行形变,得到形变后的头部图像和身体图像;

拼合模块,用于将所述形变后的头部图像和身体图像拼合。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

上述图像处理方法、装置、计算机设备和存储介质,通过获取头部图像并确定头部图像的拍摄距离,获取身体图像并确定身体图像的拍摄距离,再将头部图像的拍摄距离和身体图像的拍摄距离调整为相同的距离,使得头部图像和身体图像的被拍摄对象与拍摄设备之间的距离保持一致。将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像,使得形变后的头部图像和身体图像能够保持协调的姿态,避免拼接后出现畸形或人物各部分体型不相符的情况。将形变后的头部图像和身体图像拼合,得到完整的人物形象,从而从整体上优化了人物形象的呈现效果。

附图说明

图1为一个实施例中图像处理方法的应用环境图;

图2为一个实施例中图像处理方法的流程示意图;

图3为一个实施例中透视重建步骤的流程示意图;

图4为另一个实施例中透视重建方法的流程示意图;

图5为另一个实施例中调整拍摄距离的流程示意图;

图6为一个实施例中图像处理装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,终端102可以是一体式虚拟形象生成设备或分体式虚拟形象生成设备,可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。

在一个实施例中,如图2所示,提供了一种图像处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤202,获取头部图像,确定头部图像的拍摄距离。

步骤204,获取身体图像,确定身体图像的拍摄距离,拍摄距离为被拍摄对象与拍摄设备之间的距离。

其中,头部图像是指包含头部的人体图像,可以是全身图像或半身图像。头部图像的拍摄距离的拍摄距离是指该图像的被拍摄对象和拍摄设备之间的距离。身体图像是指不包含头部的人体图像,身体图像的拍摄距离的拍摄距离是指该图像的被拍摄对象和拍摄设备之间的距离。身体图像可以是拍摄的真实人体的图像,也可以是通过三维、二维制作的人体图像。

具体地,终端可以从内部存储图像中选取一张包含头部的人体图像,也可以通过第三方获取一张包含头部的人体图像。从该头部图像对应的深度图像中确定该头部图像的被拍摄对象与拍摄设备之间的距离。或者,终端可以预先设置拍摄对象和拍摄设备之间的距离,并按照该拍摄距离对该拍摄对象进行拍摄,得到包含头部的图像,从而确定头部图像的拍摄距离。同样地,终端可以从内部存储图像中选取身体图像,也可以通过第三方获取身体图像。从该身体图像对应的深度图像中确定该身体图像的被拍摄对象与拍摄设备之间的距离。或者,终端可以预先设置拍摄对象和拍摄设备之间的距离,并按照设置的拍摄距离对该拍摄对象进行拍摄,得到身体图像,从而确定身体图像的拍摄距离。并且,头部图像和身体图像可以是相同的拍摄对象,也可以是不同的拍摄对象。身体图像可以是相同的拍摄对象的一张图像,可以是相同的拍摄对象的各个身体部位的多张图像,也可以是不同拍摄对象的不同身体部位的多张图像。

步骤206,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像。

其中,相同的拍摄距离是指头部图像的被拍摄对象至拍摄设备之间的距离和身体图像的的被拍摄对象至拍摄设备之间的距离相等。

具体地,终端可检测头部图像的拍摄距离和身体图像的拍摄距离是否相同,不相同,终端可根据头部图像的拍摄距离调整身体图像的拍摄距离,或者根据身体图像的拍摄距离调整头部图像的拍摄距离。或者,根据用户的需求,将头部图像的拍摄距离和身体图像的拍摄距离都进行调整,得到相同拍摄距离的头部图像和身体图像。

步骤208,将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像。

具体地,终端得到拍摄距离相同的头部图像和身体图像后,可以根据头部图像的姿态,将身体图像进行形变处理。或者根据身体图像的姿态,对头部图像进行形变处理。例如,用户的头部图像是正面半身照,身体图像是向左偏转的,则终端需要将身体图像形变处理为正面的图像,使得头部图像和身体图像能够保持协调的姿态。

步骤210,将形变后的头部图像和身体图像拼合。

具体地,终端可将头部图像和身体图像按照预定的规则拼接。若存在多张身体图像,则终端可头部图像和对应连接的部位的一张身体图像先拼合,接着再继续拼合下一个部位的下一张身体图像,知道将所有部位的身体图像都完成拼合,得到一张完整的人物形象图像。

上述图像处理方法中,通过获取头部图像并确定头部图像的拍摄距离,获取身体图像,并确定身体图像的拍摄距离,再将头部图像的拍摄距离和身体图像的拍摄距离调整为相同的距离,使得头部图像和身体图像的被拍摄对象与拍摄设备之间的距离保持一致。将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像,使得形变后的头部图像和身体图像能够保持协调的姿态,避免拼接后出现畸形或人物各部分体型不相符的情况。将形变后的头部图像和身体图像拼合,得到完整的人物形象,从而从整体上优化了人物形象的呈现效果。

在一个实施例中,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:根据身体图像的拍摄距离,确定头部图像需要调整的距离;根据头部图像需要调整的距离将头部图像进行透视重建,以使头部图像的拍摄距离与身体图像的拍摄距离相同。

具体地,终端确定头部图像的被拍摄者与拍摄设备之间的距离,以及身体图像的被拍摄者与拍摄设备之间的距离。接着,终端以身体图像的拍摄距离为参照,将头部图像的拍摄距离与身体图像的拍摄距离对比,确定头部图像需要增加或减小的拍摄距离。接着,终端根据头部图像需要增加或减少的拍摄距离,确定头部图像调整后的位置,并在该位置将头部图像进行透视重建,使得透视重建后的头部图像的拍摄距离与身体图像的拍摄距离相同。根据身体图像的拍摄距离,将身体图像的拍摄距离作为参照,以确定头部图像需要调整的距离,从而确定了头部图像调整后的位置。接着将头部图像在确定的位置进行透视重建,使得只调整一张图像的拍摄距离,即可使头部图像的拍摄距离与身体图像的拍摄距离调整为相同距离。

例如,头部图像的拍摄距离为3米,身体图像的拍摄距离为1.5米,则终端需要将头部图像的距离调整为与身体图像相同的1.5米,即终端需要将头部图像的拍摄距离缩短1.5米,将头部图像在距离拍摄设备1.5米的位置进行透视重建。透视重建之后的头部图像与身体图像的拍摄距离都为1.5米,达到两张图像拍摄距离相同的目的。

在一个实施例中,如图3所示,将头部图像进行透视重建的步骤,包括:

步骤302,提取头部图像中被拍摄对象的图像。

其中,被拍摄对象是指该图像中的人。

具体地,终端从头部图像中提取出被拍摄的人的图像,可通过机器学习模型提取出头部图像中的人的图像。例如,头部图像是一个人的风景照,只提取出人的图像,不提取任何的风景部分。

步骤304,根据头部图像需要调整的距离确定头部图像中被拍摄对象的图像需要调整的尺寸。

其中,被拍摄对象的图像需要调整的尺寸是指在透视重建的过程中,被拍摄对象的大小与需要调整的距离有关,距离由远变近,则被拍摄对象的图像也相应地由小变大。距离由近变远,则被拍摄对象的图像由大变小。

具体地,终端确定头部图像需要调整的拍摄距离后,根据需要调整的拍摄距离判断被拍摄对象的图像的尺寸是由小变大,还是由大变小。并且,终端可根据头部图像需要调整的拍摄距离和原拍摄距离的比值,以及被拍摄对象的图像的原尺寸的大小,确定被拍摄对象的图像的需要调整尺寸。例如,头部图像的拍摄距离由远变近,则可确定被拍摄对象的图像也相应地由小变大。头部图像需要调整的拍摄距离和原拍摄距离的比值为1/2,则被拍摄对象的图像的需要调整尺寸是原尺寸的两倍。

步骤306,根据头部图像需要调整的距离和需要调整的尺寸透视重建头部图像中被拍摄对象的图像。

具体地,终端确定头部图像需要调整的拍摄距离和需要调整的尺寸后,在调整拍摄距离后的位置上透视重建被拍摄对象的图像。接着,终端将透视重建后的被拍摄对象的图像放大或缩小至需要的尺寸。

上述图像处理方法,通过提取头部图像中的被拍摄对象的图像,根据头部图像需要调整的拍摄距离是增加或减少,能够确定被拍摄对象的图像是缩小或放大。并且根据调整的拍摄距离和原拍摄距离的比值和拍摄对象的图像的原尺寸,能够准确地获知被拍摄图像需要调整的尺寸。最后再根据需要调整的距离和尺寸对被拍摄对象的图像透视重建,从而保证透视重建后的被拍摄对象的图像与原图像的特征保持一致。

在其中一个实施例中,如图4所示,将头部图像进行透视重建步骤,包括:

步骤402,确定头部图像在地平面的投影图像。

具体地,由于相机的内部参数和外部参数固定,根据相机的标定原理,可将图像坐标系中的像素点的坐标转化为世界坐标系中的三维坐标,即可将头部图像中的每个像素点转化为世界坐标系中的每个像素点的三维坐标。头部图像中的像素点都转化到世界坐标系中后,得到各像素点在世界坐标系中的集合。接着建立图像坐标系中的像素点的坐标和世界坐标系中的各像素点的坐标的映射关系。根据该映射关系进行线性变换,得到投影矩阵,再根据投影矩阵和图像坐标系中的坐标,确定头部图像在地平面的投影。

步骤404,根据投影图像和拍摄设备的位置,确定投影图像中各像素点至拍摄设备的距离。

具体地,根据头部图像的拍摄距离和像素点在世界坐标系中的三维坐标,确定拍摄设备在世界坐标系中的坐标位置。投影图像中各像素点至拍摄设备之间的距离可以通过将投影图像中各像素点坐标和拍摄设备的位置坐标代入两点间距离公式确定。

步骤406,将投影图像中各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,确定为相似比。

步骤408,根据投影图像、拍摄设备的位置和相似比,对头部图像进行透视重建。

具体地,终端将投影图像中一个像素点至拍摄设备的距离,与在头部图像中的对应像素点至拍摄设备的距离的比值,作为相似比。并根据投影图像中该像素点的三维坐标,拍摄设备的三维坐标和相似比,确定该像素点重建的三维坐标。并按照相同的方式,确定头部图像中的各像素点的重建的三维坐标,得到透视重建的三维坐标集合。根据该三维坐标集合对头部图像进行重建。

例如,头部图像中的某一像素点a,对应投影图像中的像素点b。确定像素点b至拍摄设备的距离,和像素点b至拍摄设备的距离,两个距离的比值作为像素点a和像素点b的相似比。根据该相似比、拍摄设备的三维坐标和投影图像中的像素点b的三维坐标,确定头部图像中的像素点a重建的三维坐标。采用相同的方式,可以得到头部图像中的所有像素点重建的三维坐标,根据这些三维坐标可以重建头部图像。

上述图像处理方法,通过确定头部图像在地平面的投影图像,并根据投影图像和拍摄设备的位置,可以确定投影图像中各像素点至拍摄设备的距离。将投影图像中各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,可确定投影图像的每个像素点在头部图像中对应的像素点之间的相似比。再根据投影图像、拍摄设备的位置和相似比,可以得到头部图像中每个像素点重建的三维坐标,根据这些三维坐标可对头部图像进行重建。使得重建得到的头部图像的特征与原图像的特征能够保持一致,保证了透视重建的图像的准确性和完整性。

在另一个实施例中,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:根据头部图像的拍摄距离,确定身体图像需要调整的距离;根据身体图像需要调整的距离将身体图像透视重建,以使身体图像的拍摄距离与头部图像的拍摄距离相同。

具体地,终端以头部图像的拍摄距离为参照,将身体图像的拍摄距离与头部图像的拍摄距离对比,确定身体图像需要增加或减小的拍摄距离。接着,终端根据身体图像需要增加或减少的拍摄距离,确定身体图像调整后的位置,并在该位置将身体图像进行透视重建,使得透视重建后的身体图像的拍摄距离与头部图像的拍摄距离相同。根据头部图像的拍摄距离,将头部图像的拍摄距离为参照距离,以确定身体图像需要调整的距离,从而确定了身体图像调整后的位置。接着将身体图像在确定的位置进行透视重建,使得只调整一张图像的拍摄距离,即可使身体图像的拍摄距离与头部图像的拍摄距离调整为相同距离。

在一个实施例中,如图5所示,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:

步骤502,获取距离阈值。

其中,距离阈值是指拍摄设备至被拍摄对象所在位置的距离值。

具体地,终端可预先设置距离阈值,作为默认的距离阈值。例如默认的距离阈值为1.5米等。不同的用户可根据自己的喜好自定义设置距离阈值,也可以根据所要处理的图像的特点相应地调整距离阈值。

步骤504,根据距离阈值确定头部图像需要调整的距离和身体图像需要调整的距离。

具体地,终端将距离阈值与头部图像的拍摄距离比较,确定头部图像需要调整的距离。并将距离阈值与身体图像的拍摄距离比较,确定身体图像需要调整的距离。将距离阈值减去两张图像的拍摄距离,得出差值,差值即为图像需要调整的距离。进一步地,若差值为正,可表示增大图像的拍摄距离,若差值为负,可表示减小图像的拍摄距离。

步骤506,根据头部图像需要调整的距离和身体图像需要调整的距离将头部图像和身体图像进行透视重建,以使头部图像的拍摄距离与身体图像的拍摄距离相同。

具体地,终端根据头部图像需要调整的距离,确定头部图像透视重建的位置,在该位置将头部图像进行透视重建。终端根据身体图像需要调整的距离,确定身体图像透视重建的位置,在该位置将身体图像进行透视重建。经过透视重建最终得到拍摄距离相同的头部图像和身体图像。

例如,头部图像的拍摄距离为3米,身体图像的拍摄距离为1.5米,距离阈值为2.5米。距离阈值减去头部图像的拍摄距离,得到-0.5米,则终端需要将头部图像的拍摄距离缩短0.5米。距离阈值减去身体图像的拍摄距离,得到1米,则终端需要将身体图像的拍摄距离增加1米。最后将头部图像和身体图像在距离拍摄设备2.5米的位置进行透视重建。透视重建之后的头部图像与身体图像的拍摄距离都为2.5米,达到两张图像拍摄距离相同的目的。

上述图像处理方法,通过获取距离阈值,并根据距离阈值与图像的差值确定图像需要调整的距离,能够简单准确地获知图像具体的调整方式。根据头部图像需要调整的距离将头部图像重建,根据身体图像需要调整的距离将身体图像进行透视重建,通过透视重建的方式调整拍摄距离能够保证重建后图像的特征与原图像高度一致。

在其中一个实施例中,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:将头部图像的拍摄距离与素材库的身体图像的拍摄距离进行对比;选取与头部图像的拍摄距离相同的身体图像。

具体地,终端获取了用户的头部图像后,确定该头部图像的拍摄距离。接着,终端从素材库中寻找与该头部图像的拍摄距离相同的身体图像。进一步地,终端需要先从素材库中筛选出身体素材图像,然后再将头部图像的拍摄距离与身体图像的拍摄距离一一比较,选出与头部图像的拍摄距离相同的身体图像。根据已获取的图像,从素材库中直接选取相同拍摄距离的另一部分图像,能够快速匹配到需要的图像,提高图像处理的速度。

在其中一个实施例中,根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像,包括:将身体图像的拍摄距离与素材库的头部图像的拍摄距离进行对比;选取与身体图像的拍摄距离相同的头部图像。

具体地,终端获取了用户的身体图像后,确定该身体图像的拍摄距离。接着,终端从素材库中寻找与该身体图像的拍摄距离相同的头部图像。进一步地,终端需要先从素材库中筛选出头部素材图像,然后再将头部图像的拍摄距离与身体图像的拍摄距离一一比较,选出与身体图像的拍摄距离相同的一张头部图像。根据已获取的图像,从素材库中直接选取相同拍摄距离的另一部分图像,能够快速匹配到需要的图像,提高图像处理的速度。

在另一个实施例中,素材库可分为头部素材库和身体素材库。头部素材库中的图像都是包含头部的图像,身体素材库中的图像都是包含除头部以外的身体各部位的图像。终端可根据已有的图像和该图像的被拍摄对象的数据信息,如身高、肩宽、体重和胸围等数据信息,在不同的素材库中寻找需要的图像,节省了查找所需图像的时间。

在一个实施例中,将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像,包括:确定头部图像的形变参数和身体图像的形变参数;根据头部图像的形变参数对头部图像进行形变处理,并根据身体图像的形变参数对身体图像进行形变处理,得到形变后的头部图像和身体图像。

其中,形变参数可以是特征点和特征点的权重。

具体地,终端可通过神经网络模型或卷积神经网络模型采集头部图像和身体图像的特征点,并给每个特征点赋予不同的权重。终端可将头部图像和身体图像划分多个网格,接终端根据头部图像的特征点和特征点的权重按照形变处理的能量方程计算头部图像的形变程度,并根据网格完成对头部图像的形变处理。同样地,终端根据身体图像的特征点和特征点的权重按照形变处理的能量方程计算身体图像的形变程度,并在网格上完成对身体图像的形变处理。最终得到形变后的头部图像和身体图像。通过确定两张图像的形变参数,并按照每张图像的形变参数对图像进行形变处理,保证了形变处理后的两张图像拼接的吻合程度和协调性。

在另一个实施例中,将形变后的头部图像和身体图像拼合,包括:确定形变后的头部图像和身体图像拼合的重叠区域;对重叠区域进行泊松融合。

其中,泊松融合的原理是将一张图像中的一个物体或者一个区域嵌入到另一张图像,从而生成一张无缝连接的新图像。

具体地,终端根据形变后的头部图像和身体图像的特征,确定头部图像和身体图像拼合时需要重叠的区域。例如,头部图像是半身图像,身体图像是除头部以外的整个身体的图像。此时,两张图像的重叠区域就是除头部以外的半身图像的区域。为了使拼合后的两张图像的拼合区域及重叠区域无明显的边界,采用泊松融合方式。首先计算头部图像和身体图像的梯度场,接着,根据头部图像的梯度场和身体图像的梯度场,求得重叠区域的梯度场。接下来求重叠区域图像的散度,重叠区域图像的散度由重叠区域图像的梯度场求导得到。最后,进行泊松重建,求解泊松方程组,根据求解的结果重建重叠区域的图像,从而生成一张无缝连接的完整的人体图像。

在另一个实施例中,方法还包括:获取头部图像的图像参数和身体图像的图像参数;采用头部图像的图像参数替换身体图像的图像参数。

其中,图像参数是指图像的颜色和图像的清晰度。

具体地,终端获取头部图像的图像颜色和图像的清晰度等参数数据,图像的清晰度可以包括图像的分辨率等。接着,终端同样获取身体图像的图像参数数据,并用头部图像的图像参数替换身体图像的图像参数,使得两张图像的图像颜色和图像的清晰度保持一致,使得最后拼合得到的图像更协调自然。

在本实施例中,终端可以在身体图像进行了形变处理后,调整身体图像的图像参数,使得身体图像的图像颜色、图像清晰度与头部图像的图像颜色、图像清晰度保持一致。

在其中一个实施例中,终端还可以在头部图像和身体图像拼合之后,终端获取头部图像的图像颜色和图像的清晰度等参数数据。接着,终端同样获取身体图像的图像颜色和图像的清晰度,并将身体图像的图像颜色和图像的清晰度调整为头部图像的图像颜色和图像的清晰度,使得两张图像的图像颜色和图像的清晰度保持一致,从而使最后拼合得到的图像更协调自然。

在一个实施例中,该图像处理方法包括:

终端获取头部图像,确定头部图像的拍摄距离;终端获取身体图像,确定身体图像的拍摄距离,拍摄距离为被拍摄对象与拍摄设备之间的距离。

可选地,终端根据身体图像的拍摄距离,确定头部图像需要调整的距离。

接着,终端确定头部图像在地平面的投影图像。

接着,终端根据投影图像和拍摄设备的位置,确定投影图像中各像素点至拍摄设备的距离。

进一步地,终端将投影图像中各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,确定为相似比。

进一步地,终端根据投影图像、拍摄设备的位置和相似比,对头部图像进行透视重建,以使头部图像的拍摄距离与身体图像的拍摄距离相同。

可选地,终端确定头部图像的形变参数和身体图像的形变参数。

接着,终端根据头部图像的形变参数对头部图像进行形变处理,并根据身体图像的形变参数对身体图像进行形变处理,得到形变后的头部图像和身体图像。

可选地,终端确定形变后的头部图像和身体图像拼合的重叠区域。

接着,终端对重叠区域进行泊松融合。

进一步地,终端获取头部图像的图像参数和身体图像的图像参数。

接着,终端采用头部图像的图像参数替换身体图像的图像参数。

上述图像处理方法中,通过获取头部图像并确定头部图像的拍摄距离,获取身体图像,并确定身体图像的拍摄距离,通过确定头部图像在地平面的投影图像,并根据投影图像和拍摄设备的位置,可以确定投影图像中各像素点至拍摄设备的距离。将投影图像中各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,可确定投影图像的每个像素点在头部图像中对应的像素点之间的相似比。再根据投影图像、拍摄设备的位置和相似比,可以得到头部图像中每个像素点重建的三维坐标,根据这些三维坐标可对头部图像进行重建。使得重建得到的头部图像的特征与原图像的特征能够保持一致,保证了透视重建的图像的准确性和完整性。通过确定两张图像的形变参数,并按照每张图像的形变参数对图像进行形变处理,保证了形变处理后的两张图像拼接的吻合程度和协调性。通过确定形变后的头部图像和身体图像拼合的重叠区域,对重叠区域进行泊松融合,从而生成一张无缝连接的完整的人体图像。获取身体图像的图像参数数据,并用头部图像的图像参数替换身体图像的图像参数,使得两张图像的图像颜色和图像的清晰度保持一致,使得最后拼合得到的图像更协调自然。

应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种图像处理装置,包括:距离获取模块602、调整模块604、形变模块606和拼合模块608,其中:

距离获取模块602,用于获取头部图像,确定头部图像的拍摄距离;

距离获取模块602,还用于获取身体图像,确定身体图像的拍摄距离;拍摄距离为被拍摄对象与拍摄设备之间的距离;

调整模块604,用于根据头部图像的拍摄距离和身体图像的拍摄距离得到具有相同拍摄距离的头部图像和身体图像;

形变模块606,用于将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像;

拼合模块608,用于将形变后的头部图像和身体图像拼合。

上述图像处理装置,通过获取头部图像并确定头部图像的拍摄距离,获取身体图像,并确定身体图像的拍摄距离,再将头部图像的拍摄距离和身体图像的拍摄距离调整为相同的距离,使得头部图像和身体图像的被拍摄对象与拍摄设备之间的距离保持一致。将拍摄距离相同的头部图像和身体图像进行形变,得到形变后的头部图像和身体图像,使得形变后的头部图像和身体图像能够保持协调的姿态,避免拼接后出现畸形或人物各部分体型不相符的情况。将形变后的头部图像和身体图像拼合,得到完整的人物形象,从而从整体上优化了人物形象的呈现效果。

在一个实施例中,调整模块604还用于:根据身体图像的拍摄距离,确定头部图像需要调整的距离;根据头部图像需要调整的距离将头部图像进行透视重建,以使头部图像的拍摄距离与身体图像的拍摄距离相同。根据身体图像的拍摄距离,将身体图像的拍摄距离作为参照,以确定头部图像需要调整的距离,从而确定了头部图像调整后的位置。接着将头部图像在确定的位置进行透视重建,使得只调整一张图像的拍摄距离,即可使头部图像的拍摄距离与身体图像的拍摄距离调整为相同距离。

在一个实施例中,调整模块604还用于:提取头部图像中被拍摄对象的图像;根据头部图像需要调整的距离确定头部图像中被拍摄对象的图像需要调整的尺寸;根据头部图像需要调整的距离和需要调整的尺寸透视重建头部图像中被拍摄对象的图像。通过提取头部图像中的被拍摄对象的图像,根据头部图像需要调整的拍摄距离是增加或减少,能够确定被拍摄对象的图像是缩小或放大。并且根据调整的拍摄距离和原拍摄距离的比值和拍摄对象的图像的原尺寸,能够准确地获知被拍摄图像需要调整的尺寸。最后再根据需要调整的距离和尺寸对被拍摄对象的图像透视重建,从而保证透视重建后的被拍摄对象的图像与原图像的特征保持一致。

在其中一个实施例中,调整模块604还用于:确定头部图像在地平面的投影图像;根据投影图像和拍摄设备的位置,确定投影图像中各像素点至拍摄设备的距离;将各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,确定为相似比;根据投影图像、拍摄设备的位置和相似比,对头部图像进行透视重建。通过确定头部图像在地平面的投影图像,并根据投影图像和拍摄设备的位置,可以确定投影图像中各像素点至拍摄设备的距离。将投影图像中各像素点至拍摄设备的距离与头部图像中各像素点至拍摄设备的距离的比值,可确定投影图像的每个像素点在头部图像中对应的像素点之间的相似比。再根据投影图像、拍摄设备的位置和相似比,可以得到头部图像中每个像素点重建的三维坐标,根据这些三维坐标可对头部图像进行重建。使得重建得到的头部图像的特征与原图像的特征能够保持一致,保证了透视重建的图像的准确性和完整性。

在另一个实施例中,调整模块604还用于:根据头部图像的拍摄距离,确定身体图像需要调整的距离;根据身体图像需要调整的距离将身体图像透视重建,以使身体图像的拍摄距离与头部图像的拍摄距离相同。根据头部图像的拍摄距离,将头部图像的拍摄距离为参照距离,以确定身体图像需要调整的距离,从而确定了身体图像调整后的位置。接着将身体图像在确定的位置进行透视重建,使得只调整一张图像的拍摄距离,即可使身体图像的拍摄距离与头部图像的拍摄距离调整为相同距离。

在一个实施例中,调整模块604还用于:获取距离阈值;根据距离阈值确定头部图像需要调整的距离和身体图像需要调整的距离;根据头部图像需要调整的距离和身体图像需要调整的距离将头部图像和身体图像进行透视重建,以使头部图像的拍摄距离与身体图像的拍摄距离相同。,通过获取距离阈值,并根据距离阈值与图像的差值确定图像需要调整的距离,能够简单准确地获知图像具体的调整方式。根据头部图像需要调整的距离将头部图像重建,根据身体图像需要调整的距离将身体图像进行透视重建,通过透视重建的方式调整拍摄距离能够保证重建后图像的特征与原图像高度一致。

在其中一个实施例中,调整模块604还用于:将头部图像的拍摄距离与素材库的身体图像的拍摄距离进行对比;选取与头部图像的拍摄距离相同的身体图像。根据已获取的图像,从素材库中直接选取相同拍摄距离的另一部分图像,能够快速匹配到需要的图像,提高图像处理的速度。

在其中一个实施例中,调整模块604还用于:将身体图像的拍摄距离与素材库的头部图像的拍摄距离进行对比;选取与身体图像的拍摄距离相同的头部图像。根据已获取的图像,从素材库中直接选取相同拍摄距离的另一部分图像,能够快速匹配到需要的图像,提高图像处理的速度。

在一个实施例中,形变模块606还用于:确定头部图像的形变参数和身体图像的形变参数;根据头部图像的形变参数对头部图像进行形变处理,并根据身体图像的形变参数对身体图像进行形变处理,得到形变后的头部图像和身体图像。通过确定两张图像的形变参数,并按照每张图像的形变参数对图像进行形变处理,保证了形变处理后的两张图像拼接的吻合程度和协调性。

在另一个实施例中,拼合模块608还用于:确定形变后的头部图像和身体图像拼合的重叠区域;对重叠区域进行泊松融合。能够生成一张无缝连接的完整的人体图像。

在另一个实施例中,该装置还包括:替换模块。替换模块用于:获取头部图像的图像参数和身体图像的图像参数;采用头部图像的图像参数替换身体图像的图像参数。获取身体图像的图像参数数据,并用头部图像的图像参数替换身体图像的图像参数,使得两张图像的图像颜色和图像的清晰度保持一致,使得最后拼合得到的图像更协调自然。

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现实现上述图像处理方法步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图像处理方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1