图像处理方法及装置、图像处理设备及存储介质与流程

文档序号:16513558发布日期:2019-01-05 09:29阅读:108来源:国知局
图像处理方法及装置、图像处理设备及存储介质与流程

本发明涉及信息技术领域,尤其涉及一种图像处理方法及装置、图像处理设备及存储介质。



背景技术:

现有的很多电子设备都配置有摄像头等图像采集设备可以采集图像;但是采集的图像通常会有一定的失真或者达不到用户想要的理想效果。若直接改造图像采集设备自身,第一方面技术难度大,第二方面成本高,第三方面即便研究出可以减少失真或者可以采集用户想要的理想效果的图像采集设备,一般结构复杂且质量大和/或体积大;不方便集成在用户方便携带的移动设备上。

如此,为了减少失真或者使得图像达到用户想要的理想效果,在相关技术中都是通过后期的图像处理,使得图像的失真减小或达到用户想要的理想效果。但是,目前相关技术中的图像处理效果,虽然一定程度上弥补硬件局限所导致的图像效果不理想的问题,但是离用户想要的理想效果还有一段距离,故如何提升图像效果依然是现有技术中需要进一步解决的问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种图像处理方法及装置、图像处理设备及存储介质。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种图像处理方法,包括:

获取二维的第一图像的第一对象在三维空间内的三维坐标;

将所述三维坐标映射到二维空间内,得到二维坐标;

基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像。

基于上述方案,所述获取二维的第一图像的第一对象在三维空间内的三维坐标,包括:

基于所述第一图像的第二对象的三维坐标,定位所述第一对象的三维坐标,其中,所述第二对象包含所述第一对象。

基于上述方案,所述基于所述第一图像的第二对象的三维坐标,定位所述第一对象的三维坐标,包括:

根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标;

根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标。

基于上述方案,所述根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标,包括:

确定所述核心点的变形值与所述边界点的变形值的差值;

根据所述差值与所述核心点与所述边界点之间的间距的关联关系,确定出所述边界点的所述第二坐标。

基于上述方案,利用如下函数得到所述第二坐标;

x*为所述第一坐标在所述三维空间的第一坐标轴的取值;y*为所述第一坐标在所述三维空间的第二坐标轴的取值;i为根据所述预设变形参数确定的变形值;ig为已知值,为所述边界点对应的变形值,x为所述第二坐标在所述三维空间的所述第一坐标轴的取值;y为所述第二坐标在所述三维空间的第二坐标轴的取值;a为已知的第一参量;b为已知的第二参量;

根据x*及y*确定z*,其中,z*为所述第一坐标在所述三维空间的第三坐标轴的取值;

根据x及y确定z,其中,z为所述第二坐标在所述三维空间的第三坐标轴的取值;

所述第一坐标轴垂直于所述第二坐标轴;

所述第一坐标轴垂直与所述第三坐标轴;

所述第二坐标轴垂直于所述第三坐标轴。

基于上述方案,所述方法还包括:

根据所述第一对象的朝向信息,确定所述第一对象所在的第一平面;

根据所述预设变形参数,确定在所述第一平面的法线上的变形值i。

基于上述方案,所述根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标,包括:

根据所述第二对象的三维坐标,确定所述第一对象的核心点的初始坐标;

根据距离所述初始坐标最近的网格点网格顶点的三维坐标,确定所述第一坐标。

基于上述方案,所述第二对象为人脸;

所述第一对象为苹果肌。

基于上述方案,所述将所述三维坐标映射到二维空间内,得到二维坐标,包括:

根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标。

基于上述方案,所述根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标,包括:

根据相机在二维坐标轴上的焦距、相机主点的坐标值和三维坐标,确定所述二维坐标。

基于上述方案,采用如下函数关系,得到所述二维坐标;

x2d为所述二维坐标在所述二维空间的第四坐标轴的取值;y2d为所述二维坐标在所述二维空间的第五坐标轴的取值;所述第四坐标轴垂直于所述第五坐标值;x3d为所述三维坐标在所述三维空间的第一坐标轴的取值;y3d为所述三维坐标在所述三维空间的第二坐标轴的取值;z3d为所述三维坐标在所述三维空间的第三坐标轴的取值;fx为相机在所述第四坐标轴上的焦距;fy为相机在所述第五坐标轴上的焦距;cx为相机在第一图像的像素平面内对应于所述第四坐标所在坐标轴的相机主点的坐标值;cy为相机在第一图像的像素平面内对应于所述第五坐标的相机主点的坐标值。

基于上述方案,所述方法包括:

根据预设变形参数及所述三维坐标,获得变形后的三维坐标;

所述将所述三维坐标映射到二维空间内,得到二维坐标,包括:

将变形前的所述三维坐标映射到所述二维空间内,得到源二维坐标;

将变形后的所述三维坐标映射到所述二维空间内,得到目标二维坐标;

所述方法还包括:

基于所述源二维坐标和目标二维坐标,得到变换参数;

所述基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像,包括:

根据所述变换参数对所述第一图像中的所述第一对象的二维坐标进行坐标转换,得到所述第二图像。

基于上述方案,所述基于所述源二维坐标和目标二维坐标,得到变换参数,包括:

利用所述源二维坐标和预设常量,构建3*n的第一矩阵,其中,n为正整数;

利用所述目标二维坐标和所述预设常量,构建维度3*n的第二矩阵;

确定所述第二矩阵变换到所述第一矩阵的变换参数。

基于上述方案,基于如下函数关系得到所述变换参数t:

xsrc为所述源二维坐标为在第四坐标轴的取值;ysrc为所述源二维坐标为在第五坐标轴的取值;xdst为所述目标二维坐标为在第四坐标轴的取值;ydst为所述目标二维坐标为在第五坐标轴的取值。

基于上述方案,所述基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像,包括:

基于所述二维坐标构建凸多边形,其中,所述凸多边形由所述第一对象的边界点的二维坐标连接而成;

将所述凸多边形转换为若干个三角形,所述三角形,由所述第一对象的相邻两个边界点的二维坐标及所述第一对象的中心点的二维坐标连接而成;

利用三角形变换,将所述第一对象的源二维坐标转换为目标二维坐标,得到所述第二图像。

基于上述方案,所述基于所述二维坐标构建所述凸多边形,包括:

根据所述第一对象的边界点的二维坐标,确定第一起始点坐标;

在确定所述第一起始点坐标后,根据所述边界点的二维坐标之间的相邻关系,确定出下一个所述第一起始点坐标,直至定位出所述边界点中最外围的所有边界点的二维坐标;

连接所述最外围的所有边界点,形成所述凸多边形。

基于上述方案,所述根据所述第一对象的边界点的二维坐标,确定第一起始点坐标,包括:

确定出所述第一对象的边界点中在第一坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标;

若所述第一对象的边界点中在所述第一坐标轴的坐标最小的边界点不止一个,选择出所述第一对象的边界点在所述第一坐标轴的坐标最小且在第二坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标。

第二方面,本发明实施例提供一种图像处理装置,包括:

第一获得模块,用于获取二维的第一图像的第一对象在三维空间内的三维坐标;

映射模块,用于将所述三维坐标映射到二维空间内,得到二维坐标;

变形模块,用于基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像。

基于上述方案,所述第一获得模块,具体用于基于所述第一图像的第二对象的三维坐标,定位所述第一对象的三维坐标,其中,所述第二对象包含所述第一对象。

基于上述方案,所述第一获得模块,具体用于根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标;根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标。

基于上述方案,所述第一获得模块,具体用于确定所述核心点的变形值与所述边界点的变形值的差值;根据所述差值与所述核心点与所述边界点之间的间距的关联关系,确定出所述边界点的所述第二坐标。

基于上述方案,利用如下函数得到所述第二坐标;

x*为所述第一坐标在所述三维空间的第一坐标轴的取值;y*为所述第一坐标在所述三维空间的第二坐标轴的取值;i为根据所述预设变形参数确定的变形值;ig为已知值,为所述边界点对应的变形值,x为所述第二坐标在所述三维空间的所述第一坐标轴的取值;y为所述第二坐标在所述三维空间的第二坐标轴的取值;a为已知的第一参量;b为已知的第二参量;

根据x*及y*确定z*,其中,z*为所述第一坐标在所述三维空间的第三坐标轴的取值;

根据x及y确定z,其中,z为所述第二坐标在所述三维空间的第三坐标轴的取值;

所述第一坐标轴垂直于所述第二坐标轴;

所述第一坐标轴垂直与所述第三坐标轴;

所述第二坐标轴垂直于所述第三坐标轴。

基于上述方案,所述装置还包括:

第一确定模块,用于根据所述第一对象的朝向信息,确定所述第一对象所在的第一平面;

第二确定模块,用于根据所述预设变形参数,确定在所述第一平面的法线上的变形值i。

基于上述方案,所述第一获得模块,具体用于根据所述第二对象的三维坐标,确定所述第一对象的核心点的初始坐标;根据距离所述初始坐标最近的网格点网格顶点的三维坐标,确定所述第一坐标。

基于上述方案,所述第二对象为人脸;

所述第一对象为苹果肌。

基于上述方案,所述映射模块,用于根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标。

基于上述方案,所述映射模块,具体用于根据相机在二维坐标轴上的焦距、相机主点的坐标值和三维坐标,确定所述二维坐标。

基于上述方案,采用如下函数关系,得到所述二维坐标;

x2d为所述二维坐标在所述二维空间的第四坐标轴的取值;y2d为所述二维坐标在所述二维空间的第五坐标轴的取值;所述第四坐标轴垂直于所述第五坐标值;x3d为所述三维坐标在所述三维空间的第一坐标轴的取值;y3d为所述三维坐标在所述三维空间的第二坐标轴的取值;z3d为所述三维坐标在所述三维空间的第三坐标轴的取值;fx为相机在所述第四坐标轴上的焦距;fy为相机在所述第五坐标轴上的焦距;cx为相机在第一图像的像素平面内对应于所述第四坐标所在坐标轴的相机主点的坐标值;cy为相机在第一图像的像素平面内对应于所述第五坐标的相机主点的坐标值。

基于上述方案,所述装置包括:

第二获得模块,用于根据预设变形参数及所述三维坐标,获得变形后的三维坐标;

所述映射模块,用于将变形前的所述三维坐标映射到所述二维空间内,得到源二维坐标;将变形后的所述三维坐标映射到所述二维空间内,得到目标二维坐标;

所述装置还包括:

第三获得模块,用于基于所述源二维坐标和目标二维坐标,得到变换参数;

所述变形模块,用于根据所述变换参数对所述第一图像中的所述第一对象的二维坐标进行坐标转换,得到所述第二图像。

基于上述方案,所述第三获得模块,具体用于利用所述源二维坐标和预设常量,构建3*n的第一矩阵,其中,n为正整数;利用所述目标二维坐标和所述预设常量,构建维度3*n的第二矩阵;确定所述第二矩阵变换到所述第一矩阵的变换参数。

基于上述方案,基于如下函数关系得到所述变换参数t:

xsrc为所述源二维坐标为在第四坐标轴的取值;ysrc为所述源二维坐标为在第五坐标轴的取值;xdst为所述目标二维坐标为在第四坐标轴的取值;ydst为所述目标二维坐标为在第五坐标轴的取值。

基于上述方案,所述装置还包括:

构建模块,用于基于所述二维坐标构建凸多边形,其中,所述凸多边形由所述第一对象的边界点的二维坐标连接而成;

所述变形模块,用于将所述凸多边形转换为若干个三角形,其中,所述三角形,由所述第一对象的相邻两个边界点的二维坐标及所述第一对象的中心点的二维坐标连接而成;利用三角形变换,将所述第一对象的源二维坐标转换为目标二维坐标,得到所述第二图像。

基于上述方案,所述构建模块,具体用于根据所述第一对象的边界点的二维坐标,确定第一起始点坐标;在确定所述第一起始点坐标后,根据所述边界点的二维坐标之间的相邻关系,确定出下一个所述第一起始点坐标,直至定位出所述边界点中最外围的所有边界点的二维坐标;连接所述最外围的所有边界点,形成所述凸多边形。

基于上述方案,所述构建模块,具体用于确定出所述第一对象的边界点中在第一坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标;若所述第一对象的边界点中在所述第一坐标轴的坐标最小的边界点不止一个,选择出所述第一对象的边界点在所述第一坐标轴的坐标最小且在第二坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标。

第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码;所述计算机可执行代码被执行后,能够实现第一方面任意实施例提供的图像处理方法。

第四方面,本发明实施例提供的一种计算机程序产品,所述程序产品包括计算机可执行指令;所述计算机可执行指令被执行后,实现第一方面任意实施例提供的图像处理方法。

第四方面,本发明实施例提供一种图像处理设备,包括:

存储器,用于存储信息;

处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现第一方面任意实施例提供的图像处理方法。

本发明实施例提供的图像处理方法及装置、图像处理设备及存储介质,在进行二维的第一图像中的第一对象的形变时,不是直接对二维的第一图像笼统大致的确定出第一对象在第一图像中的区域,而是将第一对象还原到三维空间,基于三维空间到二维空间的映射,精确定位出第一图像中第一对象的所在的区域,然后进行形变,从而可以提升形变的精确度,从而提升形变的效果,避免了形变区域不对导致的产生的怪异图像的问题。

附图说明

图1为本发明实施例提供的第一种图像处理方法的流程示意图;

图2为本发明实施例提供的第二种图像处理方法的流程示意图;

图3a为本发明实施例提供的一种核心点和边界点的示意图;

图3b为本发明实施例提供的一种实际苹果肌区域和检测的苹果肌区域的比对示意图;

图4为本发明实施例提供的苹果肌填充前后的比对示意图;

图5为本发明实施例提供的一种三角形变化示意图;

图6为本发明实施例提供的一种图像处理装置的结构示意图;

图7为本发明实施例提供的第三种图像处理方法的流程示意图;

图8为本发明实施例提供的一种图像处理设备的结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1所示,本实施例提供一种图像处理方法,包括:

步骤s110:获取二维的第一图像的第一对象在三维空间内的三维坐标;

步骤s120:将所述三维坐标映射到二维空间内,得到二维坐标;

步骤s130:基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像。

本实施例可应用于图像处理设备中,所述图像处理设备可为各种类型的电子设备,例如,移动设备或固定设备。所述移动设备可包括:手机、平板电脑、可穿戴设备、虚拟现实设备或增强现实设备等。所述固定设备可包括:个人电脑(personalcomputer,pc)或服务器等。

所述第一对象可为二维的第一图像中的任意一个图形对象,例如,二维图像对多个采集对象进行了采集,形成了多个图形对象,所述第一对象可为这多个图形对象中的一个或多个。再例如,所述二维的第一图像是某一个采集对象的成像,所述第一对象可为这个采集对象局部的成像。总之,在本实施例中所述第一对象可为二维图形对象中的一个或多个图形对象,也可以是二维的第一图像中的局部图像。

举例来说,所述二维的第一图像可是以人为采集对象的人像;在所述人像中可以将某一个人的人像作为所述第一对象,可以是在某一个人的局部的成像作为所述第一对象。例如,以人脸或人脸上某一个部分作为所述第一对象。

在本实施例中,为了确保对第一对象变形时的精确性,将二维的第一图像的第一对象在三维空间内的三维坐标确定出来。通常情况下,图像采集的过程中采集对象是位于三维空间内,是一个三维对象;采集对象上的局部或全部可为所述第一对象;先确定出第一对象在三维空间内的三维坐标,再转而映射到二维空间内的二维坐标,从而可以得到二维的第一图像上第一对象的精确二维坐标,相对于直接在第一图像上大致定位第一对象的所在的区域,可以提升第一对象定位精准度,从而解决相关技术中由于无法精确定位在第一图像的第一对象导致的变形区域错误或不精确,导致的变形效果达不到预期效果的问题。

在一些实施例中,所述方法还包括:基于第一对象在三维空间内的部分像素点的三维坐标进行三维空间内的形变;基于三维空间内的形变动态推导出二维空间内的变换参数,在步骤s130中执行二维坐标的变形时,是根据三维空间内的三维变形效果推导出的变换参数进行的,如此,相对于相关技术中在二维空间内依据预设的变换函数进行变化,变形效果更好,可以动态的满足不同用户的变形需求,避免在二维空间内变形怪异的问题。

例如,在三维空间内确定出第一对象的边界点的三维坐标之后,基于人机交互接口采集的用户操作,调整边界点等第一对象部分像素点的三维坐标,直到用户操作停止,如此,可以根据三维空间内调整前后的坐标值,动态确定出三维空间内的变换参数,然后基于二维空间到三维空间的映射关系,将三维空间内的变换参数转换为二维空间内的变换参数,在步骤s130中可以基于前述二维空间内的变换参数进行第一图像上所有第一对象的二维坐标的变换得到所述第二图像。当然也可以在用户操作停止之后,将三维空间内调整前后的坐标值映射回二维空间,然后基于在调整前后映射到二维空间内的二维坐标之间的关系,直接推导出所述二维空间内的变换参数,再在二维空间内进行所有第一对象的像素点的变换得到所述第二图像,总之所述二维空间内的变换参数可以是预先设定的,也可以是动态确定的,而动态确定二维空间内的变换参数除了基于三维空间内的变形确定二维空间的变换参数的方式以外还有很多种,此处就不一一举例了。

在一些实施例中,所述步骤s110可包括:

基于所述第一图像的第二对象的三维坐标,定位所述第一对象的三维坐标,其中,所述第二对象包含所述第一对象。

在本实施例中所述第二对象可为包含有所述第一对象的对象,所述第一对象可为所述第二对象内的一个子对象。

例如,所述第二对象可为人脸,所述第一对象可为所述人脸上的苹果肌。

再例如,所述第二对象可为人脸,所述第一对象可为人脸上的鼻子、眼睛、或者眉毛、眉骨等。

再例如,所述第二对象可为人身,所述第一对象可为人脸等。

总之,在本实施例中,所述第二对象包含有所述第一对象。

所述第二对象包含与第一对象,而第二对象包含很多关键特征点,这些关键特征点的三维坐标可是已知的。

例如,所述第一对象为苹果肌,所述第二对象为人脸;所述人脸上有预定个数的关键特征点,例如,眼睛、鼻子、嘴、耳朵等五官的关键特征点,根据这些关键特征点,结合人脸模型,可以确定出苹果肌的大致位置。

例如,通过第一图像的深度信息,可以得到所述第一图像中第二对象的关键特征点的三维坐标,根据第二对象的三维坐标,可以计算出或预估出所述第一对象的三维坐标。如此,即便第一对象的三维坐标不可知,也可以结合第二对象获得所述三维坐标。

在一些实施例中,所述深度信息可以为深度摄像头采集的信息,可以用于表征第一图像中被采集的对象的三维特征。例如,所述深度信息可为利用网格表示的网格(mesh)信息。

在一些实施例中,如图2所示,所述步骤s110可包括:

步骤s111:根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标;

步骤s112:根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标。

所述第一对象可包括:核心点和边界点。在一些实施例中,所述核心点可为第一对象的中心点,也可以为第一对象的最高点。例如,若所述第一对象为苹果肌,所述核心点可为苹果肌的中心点,若所述第一对象为鼻子,所述核心点可为鼻头的最高点。若所述第一对象为苹果肌;参照图3a所示,图3a中黑色实心圆表示为所述核心点所在的位置,边界点均位于核心点外围。图3b所示中虚线圆圈表示的为实际的苹果肌所在的区域;填充有黑色区域为利用本发明实施例提供的方法确定的苹果肌所在的区域,显然两个区域之间差异小,故具有确定精确度高的特点。

在本实施例中所述核心点是与所述第一对象相关的,所述核心点的确定与所述第一对象自身及形变相关,例如,通常情况下,预设形变参数包括一个形变值,形变值最大的点可能是第一对象最高点或最低点。例如,拉高苹果肌,显然最大变形量应该是在苹果肌的最高点,例如,对于某些嘴有点凸出的用户,在美化其图像的过程中,需要压低其嘴的高度,此时,若预设变形参数限定了最大变形值,则该核心点可为嘴的最低点,若预定变形参数限定了最小变形值,则该核心点可为嘴的最高点。总之,在一些实施例中,为了简化处理,可以统一将第一对象的整体的中心点或局部的中心点视为所述核心点,例如,将鼻子的鼻头的中心点视为所述核心点。

所述边界点一般位于核心点的外围,所述边界点界定了第一对象的边界或外轮廓。

在本实施例中,首先根据所述第二对象的三维坐标,定位出所述第一对象的中心点的第一坐标;然后结合第一坐标定位出所述第一对象的边界点的第二坐标。

在本实施例中,所述第一坐标和所述第二坐标均可为三维坐标。

在一些实施例中,所述根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标,包括:确定所述核心点的变形值与所述边界点的变形值的差值;根据所述差值与所述核心点与所述边界点之间的间距的关联关系,确定出所述边界点的所述第二坐标。

所述核心点的变形值可为本次变形的最大值;所述边界点的变形值可为预设变形值,可能接近零。如此,所述核心点的变形值与所述边界点的变形值之间的差值可为:所述预设变形参数中的最大的变形值。所述边界点的变形值可为预设的已知量。

所述差值与所述核心点与所述边界点之间的间距的关联关系可包括以下至少之一:

所述差值与所述间距正相关;

所述差值与所述间距的平方正相关。

例如,所述关联关系可以由如下函数关系表示:

x*为所述第一坐标在所述三维空间的第一坐标轴的取值;y*为所述第一坐标在所述三维空间的第二坐标轴的取值;i为根据所述预设变形参数确定的变形值;ig为已知值,为所述边界点对应的变形值,x为所述第二坐标在所述三维空间的所述第一坐标轴的取值;y为所述第二坐标在所述三维空间的第二坐标轴的取值;a为已知的第一参量;b为已知的第二参量;

根据x*及y*确定z*,其中,z*为所述第一坐标在所述三维空间的第三坐标轴的取值;

根据x及y确定z,其中,z为所述第二坐标在所述三维空间的第三坐标轴的取值;

在一些实施例中,可以获得所述第一图像的深度信息,可以根据深度信息得到三维坐标;但是无法知道哪些点是属于第一对象的三维坐标。在本实施例中,首先通过上述函数关系的计算得到了第一对象的边界点的三维坐标中的两个坐标值,如此,可以通过查询所述深度信息,或者,通过插值计算等方式结合深度信息,得到所述第一对象的边界点的三维坐标的三个坐标值。

在一些实施例中,所述ig可为0到k之间,所述k小于i。在一些实施例中,若ig直接定义为0,则可能导致确定出的边界点的个数较少,不方便后续得到二维空间内的源二维坐标到目标二维坐标的变换参数的求解。在本实施例中,将ig可为0到k,k可远小于i,例如,k可取值为0.05、0.1或0.15等值,如此,可以适当的增加边界点的数目,以方便后续成功和精确求解出所述变换参数。

在一些实施例中个,k的取值可取决于i,例如,s倍所述i。s可为小于1的正数。

所述a及b可为预先确定的已知量,也可以是在本函数计算之前,动态求取的已知量,例如,若第二对象为人脸,第一对象为苹果肌,则a及b可为根据人脸的关键特征点的坐标求取的。

例如,以第一图像中的鼻子、苹果肌和眉毛拉高来说,鼻子、苹果肌或者眉毛的核心点(例如,中心点)。所述边界点可为鼻子的鼻根所在位置的点,苹果肌的外侧的点,眉毛的边缘的点。

一些实施例中,针对z*和z是可以基于确定的第一坐标轴和第二坐标轴的坐标,通过查询二维的第一图像的深度信息确定的,例如,分别以确定的x*及y*及x及y,查询三维网格信息,确定出对应的z*和z。

在另一些实施例中,针对z*和z是可以基于确定的第一坐标轴和第二坐标轴的坐标,可以基于确定的x*及y*及x及y和三维建模,估算出对应的z*和z。

所述预设变形参数可为第一对象变形的一些参数,例如,鼻子、苹果肌或眉毛拉高的高度值等。

在一些实施例中,所述预设变形参数可包括以下至少之一:

力度参数,例如,苹果肌拉高的拉高力度;

方向参数,例如,不同用户的苹果肌不美观的点不同,故拉高苹果肌,从不同的方向拉高才能达到最理想的效果,该预设变形参数还可包括方向参数。

在一些实施例中,所述预设变形参数还可包括:

形状参数等,例如,鼻子的变形可以由某一个形状变形到另一个美观的标准形状,或者,在图像趣味化处理过程中,可以由一个标准的形状变形到一个有些搞笑的形状,此时,可以由形状参数来表征需要变形的形状。

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

根据所述第一对象的朝向信息,确定所述第一对象所在的第一平面;

根据所述预设变形参数,确定在所述第一平面的法线上的变形值i。

以人脸为第二对象为例进行说明,人在拍摄照片时,可能朝向不同,有的第一图像是正面图像;有的第一图像是侧面图像;为了避免不区分正面图像和侧面图像都向同一个图像拉高苹果肌导致的得到的怪异的第二图像。在本申请中,还会根据第一图像的朝向信息,确定变形值所对应的方向;避免不区分正面图像和侧面图像统一朝一个方向变形导致的怪异图像,从而提升得到的第二图像的图像效果。

在一些实施例中,所述根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标,包括:

根据所述第二对象的三维坐标,确定所述第一对象的核心点的初始坐标;

根据距离所述初始坐标最近的网格点网格顶点的三维坐标,确定所述第一坐标。

例如,若第二对象为人脸,根据第二对象中鼻子和眼睛的三维坐标,可以大致定位出苹果肌的中心点的第一坐标,得到苹果肌的中心点的初始坐标。

第一图像的深度信息为网格信息,网格信息是通过三维网格来表征的,在网格信息中记录的三维网格中各个网格顶点的坐标,在本实施例中通过近似处理,可以将与定位出的核心点的初始坐标最靠近的网格顶点的三维坐标作为所述苹果肌的中心点的最终坐标,即所述第一坐标。采用这种方式就不涉及计算,具有实现简便的特点。

在另一些实施例中,还可以通过插值算法,选择出与初始坐标最近的两个网格顶点所在的网格的中心点的坐标作为所述第一坐标,或者,选择出与初始坐标最近的两个网格顶点的连线的中心点的坐标自作为第一坐标。

在一些实施例中,所述步骤s120可包括:

根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标。

在本实施例中所述相机内参矩阵参数可为:相机在采集所述第一图像中使用到的各种采集参数,例如,采集焦距;相机采集的图像中图像像素的主点等信息。在本实施例中所述相机内参矩阵参数,可以用于反应采集对象在被采集第一图像时在三维空间内的姿态和/或形态。

在本实施例中,根据相机内参矩阵参数,将三维坐标映射到二维空间内,将得到二维空间内的二维坐标。二维空间是包括一个平面的;三维空间是包括三个平面,且这三个平面两两互相垂直。

在一些实施例中,所述根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标,包括:根据相机在二维坐标轴上的焦距、相机主点的坐标值和三维坐标,确定所述二维坐标。

在本实施例中,所述相机内参矩阵参数可包括:所述相机在二维坐标轴上的焦距,和相机主点的坐标值。结合上述相机在二维坐标轴上的焦距、相机主点的坐标值和三维坐标,计算出所述二维坐标值。

例如,采用如下函数关系,得到所述二维坐标;

x2d为所述二维坐标在所述二维空间的第四坐标轴的取值;y2d为所述二维坐标在所述二维空间的第五坐标轴的取值;所述第四坐标轴垂直于所述第五坐标值;x3d为所述三维坐标在所述三维空间的第一坐标轴的取值;y3d为所述三维坐标在所述三维空间的第二坐标轴的取值;z3d为所述三维坐标在所述三维空间的第三坐标轴的取值;fx为相机在所述第四坐标轴上的焦距;fy为相机在所述第五坐标轴上的焦距;cx为相机在第一图像的像素平面内对应于所述第四坐标所在坐标轴的相机主点的坐标值;cy为相机在第一图像的像素平面内对应于所述第五坐标的相机主点的坐标值。

此处,的第四坐标轴和第五坐标轴构成了所述二维平面的坐标轴,所述第四坐标轴垂直于所述第五坐标轴。在三维空间内的第一坐标轴、第二坐标轴及第三坐标轴两两相互垂直。

在本实施例中,所述二维空间两个坐标轴构成的平面的可为:以所述第一图像的图像平面;所述三维空间的坐标轴构成的一个平面可为:所述图像平面。

在本实施例中,所述fx及fy为焦距,所述cx为及cy可为相机主点。

在一些实施例中,所述方法包括:

根据预设变形参数及所述三维坐标,获得变形后的三维坐标;

所述步骤s120可包括:

将变形前的所述三维坐标映射到所述二维空间内,得到源二维坐标;

将变形后的所述三维坐标映射到所述二维空间内,得到目标二维坐标;

所述方法还可包括:

基于所述源二维坐标和目标二维坐标,得到变换参数。

在本发明实施例中,会将变形前的所述第一对象的部分三维坐标映射到二维空间得到源二维坐标,同时将变形后的所述第一向的部分三维坐标映射到二维空间得到目标二维坐标。例如,将第一对象的核心点和边界点的变形前后的三维坐标分别映射到二维空间内。如此,就得到了第一对象的核心点和边界点在变形前后的三维空间到二维空间的映射。如此,相当于第一对象的核心点和边界点的源二维坐标和目标二维坐标已知了部分,基于源二维坐标和目标二维坐标得意得到,变换参数。该变换参数可以用于所述第一对象所有的像素点的坐标变化,从而实现第一对象的形变。

在本申请中为了精确实现形变,先在三维空间内进行形变,在通过第一对象的部分点在三维空间内的形变之后的关系,映射到二维空间之后,得到二维空间内的变换参数,如此,可以减少直接对二维图像进行形变,因为没有结合第一对象的三维特点导致的变形怪异或不能呈现预设效果的问题,从而提升形变的效果。

该变换参数体现了在二维空间内第一对象变形前的源二维坐标到目标二维坐标的映射关系。所述变换参数可为:变换数组和/或变换矩阵。

在该实施例中,在执行步骤s130之前,通过第一对象在三维空间内的至少部分像素点的三维坐标的确定,结合所述预设变形参数进行三维变化,得到变形前的源三维坐标和变形后的目标三维坐标;然后将变形前后的三维坐标分别映射到二维空间内,得到与源三维坐标对应的源二维坐标和目标三维坐标对应的目标二维坐标;基于源二维坐标和目标二维坐标动态且结合预设变形参数得到精确表征变形需求的二维空间内的变换参数,在对二维空间内构成所述第一对象的像素点基于所述变换参数进行变换,相对于相关技术中利用预设的函数关系进行变化,具有变形效果佳及满足特定变形需求的特点。

假设所述第一对象为苹果肌,通过步骤s110可以获得苹果肌在三维空间内的中心点和边界点的源三维坐标,并基于预设变形参数(例如,苹果肌拉高比值或拉高值)得到变形后的目标三维坐标;然后分别将源三维坐标和目标三维坐标分别映射到二维空间,再通过二维空间内的源二维坐标和目标二维坐标之间变化特点,得到变换参数。该变换参数可以用于苹果肌中所有点的坐标变换,如此,可以基于所述变换关系对苹果肌拉高进行精确变换。

图4所示为利用本发明实施例提供的图像处理方法对苹果肌进行填充的前后的示意图。

所述步骤s130可包括:

根据所述变换参数对所述第一图像中的所述第一对象的二维坐标进行坐标转换,得到所述第二图像。

在一些实施例中,所述基于所述源二维坐标和目标二维坐标,得到变换参数,包括:

利用所述源二维坐标和预设常量,构建3*n的第一矩阵,其中,n为正整数;

利用所述目标二维坐标和所述预设常量,构建维度3*n的第二矩阵;

确定所述第二矩阵变换到所述第一矩阵的变换参数。

第一矩阵和第二矩阵都为3行n列的矩阵,其中,所述n可选为1,如此,第一矩阵到第二矩阵之间的变换参数计算量小。

如此,得到的变换参数可为一个为3行1列的矩阵,恰好与三维坐标包含的坐标值个数对应。

例如,基于如下函数关系得到所述变换参数t:

xsrc为所述源二维坐标为在第四坐标轴的取值;ysrc为所述源二维坐标为在第五坐标轴的取值;xdst为所述目标二维坐标为在第四坐标轴的取值;ydst为所述目标二维坐标为在第五坐标轴的取值。

进一步地,所述基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像,包括:

将所述二维坐标对应的凸多边形转换为若干个三角形,其中,所述凸多边形由所述第一对象的边界点的二维坐标连接而成;所述三角形,由所述第一对象的相邻两个边界点的二维坐标及所述第一对象的中心点的二维坐标连接而成;

利用三角形变换,将所述第一对象的源二维坐标转换为目标二维坐标,得到所述第二图像。

采用三角形变化,相对于多边形的直接变换,减少了需要变换过程中的需要遍历的变和处理的计算量,降低了计算复杂,从而可以提升单一计算的计算速率,进而整体上提升了从第一图像变换到第二图像的处理速率。

转换后的三角形个数决定于所述凸多变形的边数,若干个三角形将全面覆盖凸多变形的每一条边一次,如此,一方面实现了全面覆盖,同时减少了重复覆盖导致的冗余计算。

图5所示为三角形变化的一种示意图,例如,三角形abp转换层三角形abo,则三角形abp内的点m基于变换参数t映射到三角形abo的n点。

例如,利用convexhull筛选出构成第一对象的凸多边形的边界。若得到的边界点,使得边界点之间形成了凹多变形,则可以导致形成凹多变形的点视为异常点去除。

在一些实施例中,所述方法还包括:基于所述二维坐标构建所述凸多边形。

在本实施例中,如何遍历形成凸多边形的各个边界点。

所述基于所述二维坐标构建所述凸多边形,包括:

根据所述第一对象的边界点的二维坐标,确定第一起始点坐标;

在确定所述第一起始点坐标后,根据所述边界点的二维坐标之间的相邻关系,确定出下一个所述第一起始点坐标,直至定位出所述边界点中最外围的所有边界点的二维坐标;

连接所述最外围的所有边界点,形成所述凸多边形。

进一步地,所述根据所述第一对象的边界点的二维坐标,确定第一起始点坐标,包括:

确定出所述第一对象的边界点中在第一坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标;

若所述第一对象的边界点中在所述第一坐标轴的坐标最小的边界点不止一个,选择出所述第一对象的边界点在所述第一坐标轴的坐标最小且在第二坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标。

如图6所示,本实施例提供一种图像处理装置,包括:

第一获得模块110,用于获取二维的第一图像的第一对象在三维空间内的三维坐标;

映射模块120,用于将所述三维坐标映射到二维空间内,得到二维坐标;

变形模块130,用于基于所述二维坐标对所述第一图像进行所述第一对象的变形处理,得到第二图像。

本实施例提供的图像处理装置可以应用于各种图像处理设备中。

所述第一获得模块110、映射模块120及变形模块130均可为程序模块,被处理器执行后,能够实现上述三维坐标的确定、二维坐标的映射及变形后的第二图像。

在一些实施例中,所述第一获得模块110,具体用于基于所述第一图像的第二对象的三维坐标,定位所述第一对象的三维坐标,其中,所述第二对象包含所述第一对象。

在另一些实施例中,所述第一获得模块110,具体用于根据所述第二对象的三维坐标,定位所述第一对象的核心点的第一坐标;根据所述第一对象的预设变形参数及所述第一坐标,得到所述第一对象的边界点的第二坐标。

在还有一些实施例中,所述第一获得模块110,具体用于确定所述核心点的变形值与所述边界点的变形值的差值;根据所述差值与所述核心点与所述边界点之间的间距的关联关系,确定出所述边界点的所述第二坐标。

例如,所述第一获得模块110,可具体用于利用如下函数得到所述第二坐标;

x*为所述第一坐标在所述三维空间的第一坐标轴的取值;y*为所述第一坐标在所述三维空间的第二坐标轴的取值;i为根据所述预设变形参数确定的变形值;ig为与i一致的已知值,为所述边界点对应的变形参数,x为所述第二坐标在所述三维空间的所述第一坐标轴的取值;y为所述第二坐标在所述三维空间的第二坐标轴的取值;a为已知的第一参量;b为已知的第二参量;

根据所述x*及y*确定z*,其中,z*为所述第一坐标在所述三维空间的第三坐标轴的取值;

根据x及y确定z,其中,z为所述第二坐标在所述三维空间的第三坐标轴的取值;

所述第一坐标轴垂直于所述第二坐标轴;

所述第一坐标轴垂直与所述第三坐标轴;

所述第二坐标轴垂直于所述第三坐标轴。

此外,所述装置还包括:

第一确定模块,用于根据所述第一对象的朝向信息,确定所述第一对象所在的第一平面;

第二确定模块,用于根据所述预设变形参数,确定在所述第一平面的法线上的变形值i。

在一些实施例中,所述第一获得模块110,具体用于根据所述第二对象的三维坐标,确定所述第一对象的核心点的初始坐标;在三维网格中选择出与所述初始坐标距离最近的网格顶点的三维坐标作为所述第一坐标。

例如,所述第二对象为人脸;所述第一对象为苹果肌。

在一些实施例中,所述映射模块120,用于根据相机内参矩阵参数,将所述三维坐标映射到所述二维空间,得到所述二维坐标。

在还有一些实施例中,所述映射模块120,具体用于根据相机在二维坐标轴上的焦距、相机主点的坐标值和三维坐标,确定所述二维坐标。

例如,所述映射模块120可具体用于采用如下函数关系,得到所述二维坐标;

x2d为所述二维坐标在所述二维空间的第四坐标轴的取值;y2d为所述二维坐标在所述二维空间的第五坐标轴的取值;所述第四坐标轴垂直于所述第五坐标值;x3d为所述三维坐标在所述三维空间的第一坐标轴的取值;y3d为所述三维坐标在所述三维空间的第二坐标轴的取值;z3d为所述三维坐标在所述三维空间的第三坐标轴的取值;fx为相机在所述第四坐标轴上的焦距;fy为相机在所述第五坐标轴上的焦距;cx为相机在第一图像的像素平面内对应于所述第四坐标所在坐标轴的相机主点的坐标值;cy为相机在第一图像的像素平面内对应于所述第五坐标的相机主点的坐标值。

进一步地,所述装置包括:第二获得模块,用于根据预设变形参数及所述三维坐标,获得变形后的三维坐标;

所述映射模块120,用于将变形前的所述三维坐标映射到所述二维空间内,得到源二维坐标;将变形后的所述三维坐标映射到所述二维空间内,得到目标二维坐标;

所述装置还包括:第三获得模块,用于基于所述源二维坐标和目标二维坐标,得到变换参数;

所述变形模块130,用于根据所述变换参数对所述第一图像中的所述第一对象的二维坐标进行坐标转换,得到所述第二图像。

此外,所述第三获得模块,可具体用于利用所述源二维坐标和预设常量,构建3*n的第一矩阵,其中,n为正整数;利用所述目标二维坐标和所述预设常量,构建维度3*n的第二矩阵;确定所述第二矩阵变换到所述第一矩阵的变换参数。

例如,所述第三获得模块,可具体用于基于如下函数关系得到所述变换参数t:

xsrc为所述源二维坐标为在第四坐标轴的取值;ysrc为所述源二维坐标为在第五坐标轴的取值;xdst为所述目标二维坐标为在第四坐标轴的取值;ydst为所述目标二维坐标为在第五坐标轴的取值。

在一些实施例中,所述变形模块130,用于将所述二维坐标对应的凸多边形转换为若干个三角形,其中,所述凸多边形由所述第一对象的边界点的二维坐标连接而成;所述三角形,由所述第一对象的相邻两个边界点的二维坐标及所述第一对象的中心点的二维坐标连接而成;利用三角形变换,将所述第一对象的源二维坐标转换为目标二维坐标,得到所述第二图像。

在一些实施例中,所述装置还包括:

构建模块,用于基于所述二维坐标构建所述凸多边形。

在还有一些实施例中,所述构建模块,具体用于根据所述第一对象的边界点的二维坐标,确定第一起始点坐标;在确定所述第一起始点坐标后,根据所述边界点的二维坐标之间的相邻关系,确定出下一个所述第一起始点坐标,直至定位出所述边界点中最外围的所有边界点的二维坐标;连接所述最外围的所有边界点,形成所述凸多边形。

此外,所述构建模块,具体用于确定出所述第一对象的边界点中在第一坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标;若所述第一对象的边界点中在所述第一坐标轴的坐标最小的边界点不止一个,选择出所述第一对象的边界点在所述第一坐标轴的坐标最小且在第二坐标轴的坐标最小的边界点的二维坐标作为所述第一起始点坐标。

以下结合上述任意实施例提供几个具体示例:

示例1:

本示例提供一种基于人脸的3d网格(mesh)信息,通过人脸五官3d关键点和人脸的朝向信息精确定位mesh中位于苹果肌区域边界的3d点并将3d点映射为2d点,检测准确度更高。

在使用3dmesh点检测得到准确的苹果肌区域边界点后,通过综合使用convexhull算法确定2d人脸的苹果肌凸多边形区域边界和三角形变换算法对凸多边形区域进行变形,可以很好地实现苹果肌饱满的效果,并起到突出苹果肌轮廓线的作用。

美颜算法完全基于3d特征信息,算法能够精确检测到苹果肌区域并实现更加自然的填充效果。

该算法基于人脸的3dmesh信息,通过人脸五官3d关键点和人脸的朝向信息精确定位mesh中属于苹果肌区域边界的3d点并将其映射回2d人脸,为苹果肌的精确定位提供了有效的解决方案。

该算法使用convexhull算法确定2d人脸的苹果肌凸多边形区域边界,能够较好地近似苹果肌区域。该算法使用三角形变换算法对苹果肌凸多边形区域进行变形,可以很好地实现苹果肌饱满的效果,为苹果肌填充提供了有效思路。三角形变换算法受图像处理中仿射变换的启发实现。

示例2:

参照图7所示,本示例提供的技术方案可包括以下三个主要技术流程,分别是利用人脸的3dmesh信息和人脸朝向信息精确定位mesh中属于苹果肌区域边界的3d点进而得到2d人脸的苹果肌区域边界点,使用convexhull算法筛选边界点得到苹果肌区域的凸多边形边界,使用三角形变换算法对凸多边形苹果肌区域变形实现提升苹果肌效果。一、利用人脸的3dmesh信息和人脸朝向信息精确定位苹果肌中心点和区域边界点。

输入:2d图像,例如,人脸图像,人脸3dmesh信息(包括mesh顶点、关键点),相机内参矩阵参数等相机参数,人脸朝向信息等人脸属性,苹果肌填充力度等预设变形参数。

输出:苹果肌区域边界点,原苹果肌中心点的位置,新苹果肌中心点的位置。

使用3dmesh信息中的关键点信息,即眼睛关键点和鼻子关键点初步确定苹果肌区域的近似中心点p,然后通过遍历3dmesh中的顶点选择离p最近的网格顶点作为原苹果肌中心点p*

给定原苹果肌中心p*及苹果肌填充力度i,苹果肌填充即对苹果肌区域内的点进行抬高。定义抬高苹果肌中心的操作为:沿着点p*的法向量的方向移动距离i,因而抬高苹果肌区域需要对区域内的点沿着其法向量方向移动相应的距离,移动的距离和该点到中心的位置有关。具体地,对于任意点(x,y,z)和中心点(x*,y*,z*)定义其需要移动的距离为:这里a和b为根据3d人脸关键点信息计算出来的参数。基于上述分析,苹果肌区域内的点即ig>0对应的点。这里设定区域边界点为满足0<ig<k的3d点,k为设定的阈值,在不同的人脸朝向角度下不同,可设为0.1。

对于任意点,其移动的距离和x,y有关,和z无关。主要原因在于侧脸时,苹果肌中心点两侧的点的z值,也称为深度,是不同的。我们的目标是两侧点的变化幅度一致,因而ig只跟xy平面上的2d距离有关。

通过对原苹果肌中心点p*的(x*,y*,z*)沿着其法向量(nx,ny,nz)方向移动i,得到新苹果肌中心位置pnew(xnew,ynew,znew):

根据3d点和2d点的映射关系,通过相机内参矩阵参数矩阵变换:最终能够得到苹果肌区域边界2d点,原苹果肌中心点和新苹果肌中心点。利用convexhull算法筛选区域边界点得到苹果肌区域凸多边形边界。

3dmesh信息中xy平面对应的是2d图像所在的平面,z方向是跟2d图像平面垂直的方向。如:当人脸朝向为正脸时,人脸平面和2d图像平面重合,z方向垂直于人脸平面,也即垂直于2d图像平面;人脸朝向为侧脸时,人脸平面与2d图像平面不重合,z方向垂直于人脸,也即与2d图像平面不垂直。

输入:步骤一得到的苹果肌区域边界点的坐标集合。

输出:convexhull算法处理后得到的凸多边形边界点集合。

在步骤一得到的苹果肌区域边界点集合内寻找找横坐标最小的点,若不止一个横坐标最小的点,取纵坐标更小的点作为起始点。

从起始点开始,寻找相对起始点最靠近外侧的点(根据叉积判断),然后将找到的点保存并作为新的起始点。

迭代步骤2遍历所有边界点,直到找到最初的起始点,算法结束。

利用三角形变换算法对凸多边形苹果肌区域变形得到最终结果。

输入:人脸图像,步骤一得到的原苹果肌中心点和新苹果肌中心点,步骤二得到的凸多边形边界点。

输出:苹果肌填充效果图。

将凸多边形分割成若干三角形,进而对三角形区域的变换能够很好地近似对多边形区域的变换。三角形变换的核心是要保证在源三角形中的点能够正确映射到目标三角形中合适的位置。

构造若干源三角形:以原苹果肌中心点为一个顶点,相邻的两个多边形边界点为其余两个顶点构造三角形,若有n个多边形边界点则能构造得到n个三角形。

构造对应的若干目标三角形:类比源三角形的构造,将原苹果肌中心点换成新苹果肌中心点,其余不变。这样源三角形和目标三角形能够一一对应。

对于目标三角形k中的(i,j)坐标处,其像素值由源三角形k中(m,n)坐标处的像素值确定。具体地,当源三角形和目标三角形的三个顶点一一对应,源三角形到目标三角形的仿射变换t可被唯一确定,即:

其中t为一个3*3的可逆矩阵,(xsrc,ysrc)和(xdst,ydst)分别表示源三角形和目标三角形内的对应点。因而给定目标三角形中的坐标(i,j),一定能找到源三角形中对应的坐标(m,n)。这里(m,n)不一定是整数,该处的像素值由其周围的四个像素进行双线性插值得到。该过程示意图如附图说明中图4所示,目标三角形pab中的点m的像素值为源三角形oab中对应点n的像素值,它们的坐标能够通过t相互转化。

本算法基于人脸的3dmesh(网格)信息,通过人脸五官3d关键点和人脸的朝向信息精确定位mesh中位于苹果肌区域边界的3d点并将其映射回2d人脸,检测准确度更高。

本算法在使用3dmesh点检测得到准确的苹果肌区域边界点后,通过综合使用convexhull算法确定2d人脸的苹果肌凸多边形区域边界和三角形变换算法对凸多边形区域进行变形,可以很好地实现苹果肌饱满的效果,并起到突出苹果肌轮廓线的作用。

本算法完全基于3d特征信息,算法定位的苹果肌区域点更贴合人脸,能实现更加自然的填充效果。

如图8所示,本发明实施例提供了一种图像处理设备,包括:

存储器,用于存储信息;

处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述一个或多个技术方案提供的图像处理方法,例如,如图1、图2和/或图7所示的方法。

该存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。所述存储器可用于信息存储,例如,存储计算机可执行指令等。所述计算机可执行指令可为各种程序指令,例如,目标程序指令和/或源程序指令等。

所述处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、可编程阵列、数字信号处理器、专用集成电路或图像处理器等。

所述处理器可以通过总线与所述存储器连接。所述总线可为集成电路总线等。

在一些实施例中,所述终端设备还可包括:通信接口,该通信接口可包括:网络接口、例如,局域网接口、收发天线等。所述通信接口同样与所述处理器连接,能够用于信息收发。

在一些实施例中,所述终端设备还包括人机交互接口,例如,所述人机交互接口可包括各种输入输出设备,例如,键盘、触摸屏等。

本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码;所述计算机可执行代码被执行后,能够实现前述一个或多个技术方案提供的图像处理方法,例如,可执行图1、图2及图7所示方法中的一个或多个。

所述存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。所述存储介质可为非瞬间存储介质。

本发明实施例提供一种计算机程序产品,所述程序产品包括计算机可执行指令;所述计算机可执行指令被执行后,能够实现第一方面或第二方面任意一个技术方案提供的方法。

本实施例中所述计算机程序产品包含的计算机可执行指令,可包括:应用程序、软件开发工具包、插件或者补丁等。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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