图像处理方法、电子设备及计算机可读介质与流程

文档序号:16933946发布日期:2019-02-22 20:31阅读:142来源:国知局
图像处理方法、电子设备及计算机可读介质与流程

本申请涉及图像处理技术领域,尤其涉及一种图像处理方法、电子设备及计算机可读介质。



背景技术:

现实生活中,大多数电子设备(例如智能手机、平板电脑等)中安装的拍照类客户端带有美颜功能,例如大眼功能、瘦脸功能以及美白功能等。在实际应用中,用户可以利用美颜功能对人脸图像进行调整,进而得到所需的人脸图像。举例来说,用户选择美颜功能中的大眼功能,电子设备上的拍照类客户端会运行大眼功能对应的美颜算法对人脸图像进行处理,使得处理后的人脸图像中的人脸区域的眼睛看起来更大。眼睛是心灵的窗户,合适的双眼距离可以使双眼看起来更加立体、大方和精致。

当前采用的调整人脸图像中的双眼距离的方案是通过伸缩变换来调整人脸图像中的眼睛大小,进而调整双眼之间的距离。然而,这种方案会改变眼睛的原有形状,导致处理后的图像不够真实和自然。



技术实现要素:

本申请提供了一种图像处理方法、电子设备及计算机可读介质,可以在不改变图像中眼睛的原有形状的同时调整双眼之间的距离,操作简单。

第一方面本申请提供了一种图像处理方法,该方法包括:

获取人脸图像中的目标关键点;

根据所述人脸图像中的目标关键点,确定待处理区域,所述待处理区域包括处理子区域和缓冲区域;

对所述处理子区域进行第一图像变换处理,对所述缓冲区域进行第二图像变换处理。

在一个可选的实现方式中,所述对所述处理子区域进行第一图像变换处理之前,所述方法还包括

获取眼距调整参数;

所述对所述处理子区域进行第一图像变换处理包括:

根据所述眼距调整参数,调整所述处理子区域在所述人脸图像中的位置。

在该实现方式中,通过调整处理子区域在人脸图像中的位置,可以保证该人脸图像中的处理子区域的形状保持不变,操作简单。

在一个可选的实现方式中,所述根据所述眼距调整参数,调整所述处理子区域在所述人脸图像中的位置包括:

根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;

将所述处理子区域向第一方向移动所述目标距离。

在该实现方式中,通过眼睛调整参数可以快速地移动处理子区域在人脸图像中的位置,实现简单。

在一个可选的实现方式中,所述对所述缓冲区域进行第二图像变换处理包括:

对所述缓冲区域的图像进行伸缩处理。

在该实现方式中,对缓冲区域中的图像进行伸缩处理;可以使得调整后的人脸图像更加真实、自然。

在一个可选的实现方式中,所述对所述缓冲区域进行第二图像变换处理之前,所述方法还包括:

确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域,所述处理子区域为所述人脸图像中的眼睛区域。

在该实现方式中,利用眼睛轮廓的关键点可以快速地确定该人脸图像中的缓冲区域。

在一个可选的实现方式中,所述确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域包括:

确定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;

根据所述人脸角度信息,确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域;所述待处理区域的长度均与所述夹角负相关。

在该实现方式中,利用人脸角度信息调整眼睛轮廓的关键点的位置,可以得到各个人脸角度下人脸图像中眼睛轮廓的关键点,进而更好地确定缓冲区域。

在一个可选的实现方式中,所述获取人脸图像中的目标关键点包括:

对所述人脸图像进行人脸检测,得到所述人脸图像中眼睛轮廓的关键点;

利用所述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;

将所述参考关键点添加到所述眼睛轮廓的关键点。

在该实现方式中,先通过人脸检测得到一部分眼睛轮廓的关键点,再利用这一部分关键点拟合眼睛轮廓,得到参考关键点,即新的眼睛轮廓的关键点;可以快速地获得所需的眼睛轮廓的关键点,操作简单。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线;所述对所述缓冲区域的图像进行伸缩处理包括:

确定所述缓冲区域中各像素点到所述第一边的距离;

利用第一分段函数计算所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离:

根据所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离,确定所述缓冲区域中各像素点对应的替换像素点;所述缓冲区域中任一像素点与其对应的替换像素点为同列的像素点;

将所述缓冲区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

在一个可选的实现方式中,所述计算所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离之前,所述方法还包括:

确定所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度;

根据所述目标距离、所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度,构建所述第一分段函数。

在该实现方式中,根据目标距离、第一边和第二边之间的距离、待处理区域的长度以及处理子区域的长度,构建第一分段函数,以便于利用该第一分段函数确定第一区域中各像素点对应的替换像素点。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线,所述对所述处理子区域进行第一图像变换处理,对所述缓冲区域进行第二图像变换处理包括:

根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;

确定所述待处理区域中各像素点到所述第一边的距离;

利用第三分段函数计算所述待处理区域中各像素点对应的替换像素点到所述第一边的距离:

根据所述待处理区域中各像素点对应的替换像素点到所述第一边的距离,确定所述待处理区域中各像素点对应的替换像素点;所述待处理区域中任一像素点与其对应的替换像素点为同列的像素点;

将所述待处理区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

在一个可选的实现方式中,所述利用第三分段函数计算所述待处理区域中各像素点对应的替换像素点到所述第一边的距离之前,所述方法还包括:

确定所述第一边和所述第二边之间的距离、所述处理子区域的长度以及所述待处理区域的长度;

根据所述目标距离、所述第一边和所述第二边之间的距离、所述处理子区域的长度以及所述待处理区域的长度,构建所述第三分段函数。

在该实现方式中,根据目标距离、第一边和第二边之间的距离、待处理区域的长度以及处理子区域的长度,构建第三分段函数,以便于利用该第三分段函数确定第一区域中各像素点对应的替换像素点。

在一个可选的实现方式中,所述根据所述人脸图像中的目标关键点,确定待处理区域包括:

确定所述目标关键点外接的矩形框为所述待处理区域,所述目标关键点为上述人脸图像中眼睛轮廓的关键点。

在该实现方式中,确定人脸图像中眼睛轮廓的关键点外接的矩形框所处的区域为待处理区域;可以快速地确定该人脸图像中所需调整的区域。

在一个可选的实现方式中,所述确定所述目标关键点外接的矩形框为所述待处理区域包括:

确定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;

根据所述人脸角度信息,调整所述眼睛轮廓的关键点的位置;其中,所述眼睛轮廓的关键点调整的距离与所述夹角负相关;

确定所述眼睛轮廓的关键点外接的矩形框所处的区域所述待处理区域。

在该实现方式中,利用人脸角度信息调整眼睛轮廓的关键点的位置,可以获得准确的各个人脸角度的眼睛轮廓的关键点,进而更好地待处理区域。

在一个可选的实现方式中,所述获取人脸图像中的目标关键点包括:

对所述人脸图像进行人脸检测,得到所述人脸图像中眼睛轮廓的关键点;

利用所述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;

将所述参考关键点添加到所述眼睛轮廓的关键点。

在该实现方式中,先通过人脸检测得到一部分眼睛轮廓的关键点,再利用这一部分关键点拟合眼睛轮廓,得到参考关键点,即新的眼睛轮廓的关键点;可以快速地得到新的眼睛轮廓的关键点,操作简单。

第二方面本申请提供了一种电子设备,包括:

第一获取单元,用于获取人脸图像中的目标关键点;

第一确定单元,用于根据所述人脸图像中的目标关键点,确定待处理区域,所述待处理区域包括处理子区域和缓冲区域;

处理单元,用于对所述处理子区域进行第一图像变换处理,以及对所述缓冲区域进行第二图像变换处理。

在一个可选的实现方式中,所述电子设备还包括:

第二获取单元,用于获取眼距调整参数;

所述处理单元,具体用于根据所述眼距调整参数,调整所述处理子区域在所述人脸图像中的位置。

在一个可选的实现方式中,第二确定单元,用于根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;

所述处理单元,具体用于将所述处理子区域向第一方向移动所述目标距离。

在一个可选的实现方式中,所述处理单元,具体用于对所述缓冲区域的图像进行伸缩处理。

在一个可选的实现方式中,所述处理单元,具体用于所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域,所述处理子区域为所述人脸图像中的眼睛区域。

在一个可选的实现方式中,所述处理单元,具体用于确定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;根据所述人脸角度信息,确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域;所述待处理区域的长度均与所述夹角负相关。

在一个可选的实现方式中,所述电子设备还包括:

所述第一获取单元,具体用于对所述人脸图像进行人脸检测,得到所述人脸图像中眼睛轮廓的关键点利用所述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;将所述参考关键点添加到所述眼睛轮廓的关键点,所述眼睛轮廓的关键点为所述目标关键点。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线;

所述处理单元,具体用于确定所述缓冲区域中各像素点到所述第一边的距离;利用第一分段函数计算所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离:根据所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离,确定所述缓冲区域中各像素点对应的替换像素点;所述缓冲区域中任一像素点与其对应的替换像素点为同列的像素点;将所述缓冲区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

在一个可选的实现方式中,所述第二确定单元,具体用于确定所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度;所述电子设备还包括:

第一构建单元,用于根据所述目标距离、所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度,构建所述第一分段函数。

在一个可选的实现方式中,所述电子设备还包括:

第三确定单元,用于根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;所述处理单元,具体用于确定所述待处理区域中各像素点到所述第一边的距离;利用第三分段函数计算所述待处理区域中各像素点对应的替换像素点到所述第一边的距离:根据所述待处理区域中各像素点对应的替换像素点到所述第一边的距离,确定所述待处理区域中各像素点对应的替换像素点;所述待处理区域中任一像素点与其对应的替换像素点为同列的像素点;将所述待处理区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

在一个可选的实现方式中,所述第三确定单元,还用于确定所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度;所述电子设备还包括:

第二构建单元,用于根据所述目标距离、所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度,构建所述第三分段函数。

在一个可选的实现方式中,所述第一确定单元,具体用于确定所述目标关键点外接的矩形框为所述待处理区域,所述目标关键点为上述人脸图像中眼睛轮廓的关键点。

在一个可选的实现方式中,所述处理单元,具体用于确定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;根据所述人脸角度信息,调整所述眼睛轮廓的关键点的位置;其中,所述眼睛轮廓的关键点调整的距离与所述夹角负相关;确定所述眼睛轮廓的关键点外接的矩形框所处的区域为所述待处理区域。

在一个可选的实现方式中,所述电子设备还包括:

第一获取单元,具体用于对所述人脸图像进行人脸检测,得到所述人脸图像中眼睛轮廓的关键点;利用所述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;将所述参考关键点添加到所述眼睛轮廓的关键点。

在一个可选的实现方式中,所述处理处理子区域包括所述人脸图像中的至少一个眼睛区域。

第三方面本申请提供了另一种电子设备,包括处理器以及存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面以及上述第一方面的任意一种可选的实现方式的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面以及上述第一方面的任意一种可选的实现方式的方法。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1为本申请提供的一种图像处理方法的流程示意图;

图2a为本申请提供的一种眼距调整界面的示意图;

图2b为本申请提供的另一种眼距调整界面的示意图;

图3为本申请提供的一种人脸图像的示意图;

图4为本申请提供的另一种人脸图像的示意图

图5为本申请提供的一种待处理区域和处理子区域的示意图;

图6为本申请提供的一个分段变形函数的示意图;

图7为本申请提供的另一种图像处理方法的流程示意图;

图8为本申请提供的一种电子设备的结构示意图;

图9为本申请提供的另一种电子设备的结构示意图;

图10为本申请提供的又一种电子设备的结构示意图。

具体实施方式

图1为本申请提供的一种图像处理方法的流程示意图,如图1所示,该方法可包括:

101、获取人脸图像中的目标关键点。

上述人脸图像可以是包含眼睛图像的人脸图像。该图像处理方法的执行主体是电子设备,该电子设备可以是手机、平板电脑、笔记本电脑以及台式电脑等。上述目标关键点可以是眼睛部位的关键点、眉毛部位的关键点、眼睛轮廓的关键点以及脸部其他部位的关键点,本申请实施例不做限定。

在一个可选的实现方式中,上述获取人脸图像中的目标关键点之前,上述方法还包括:

获取摄像头当前采集的上述人脸图像;

或者,获取目标位置存储的上述人脸图像。

上述目标位置可以是电子设备中存储上述人脸图像的位置。在实际应用中,电子设备例如手机,可以利用摄像头采集人脸图像,即拍照界面实时显示的图像为待处理的人脸图像;也可以获取任意一个存储位置存储的人脸图像。

在该实现方式中,人脸图像既可以是摄像头当前采集的人脸图像,也可以是从目标位置获取到的图片。

102、根据上述人脸图像中的目标关键点,确定待处理区域。

上述待处理区域包括处理子区域和缓冲区域。上述处理子区域可以是眼部区域、眼眉区域等。

103、对上述处理子区域进行第一图像变换处理,对上述缓冲区域进行第二图像变换处理。

上述对上述处理子区域进行第一图像变换处理可以是对上述处理子区域中的图像做

平移。对上述缓冲区域进行第二图像变换可以是对上述缓冲区域中的图像做伸缩变换。

本申请实施例中,通过对处理子区域和缓冲区域进行不同的图像变换处理,可以使得处理后的图像更加自然。

在一个可选的实现方式中,上述对上述处理子区域进行第一图像变换处理之前,上述方法还包括:

获取眼距调整参数;

上述对上述处理子区域进行第一图像变换处理包括:

根据上述眼距调整参数,调整上述处理子区域在所述人脸图像中的位置。

所述处理子区域可以是所述人脸图像中的一个眼睛区域,即一个眼睛所在的区域,也可以是一个人脸图像中眉毛所处的区域,还可以是人脸图像中的其他区域。

上述眼距调整参数可以是电子设备预先设置的,也可以是用户当前输入的。上述眼距调整参数用于调整上述人脸图像中双眼之间的距离。上述获取眼距调整参数可以是接收用户输入的上述眼距调整参数。具体的,电子设备通过其显示的眼距调整界面中的眼距输入接口或滚动条接收上述眼距调整参数。上述眼距调整界面可以是拍照界面,也可以是某个应用的界面。在实际应用中,用户可以通过电子设备的拍照界面(眼距调整界面)中的眼距输入接口或滚动条输入眼距调整参数,进而调整该拍照界面中显示的人脸图像中的双眼之间的距离。在实际应用中,电子设备启动某个应用后,该电子设备显示眼距调整界面,用户可以通过该眼距调整界面中的某个接口将该电子设备的目标位置存储的人脸图像导入至该眼距调整界面,并通过该眼距调整界面中的眼距输入接口或滚动条输入眼距调整参数,进而调整该人脸图像中双眼之间的距离。图2a为本申请提供的一种眼距调整界面的示意图,如图2a所示,201a为眼距输入接口,电子设备通过201a接收用户输入的眼距调整参数,图中的0.5为用户当前输入的一个眼距调整参数。可选的,眼距调整参数的取值范围为(-1,1),其中取值为1时,双眼距离调整到最小;取值为-1时,双眼距离调整到最大;取值为0时,双眼距离不变。可见,眼距调整参数的绝对值越大,双眼距离变化越大。可选的,眼距调整参数的取值范围为(-1,1),其中取值为-1时,双眼距离调整到最小;取值为1时,双眼距离调整到最大;取值为0时,双眼距离不变。可见,眼距调整参数的绝对值越大,双眼距离变化越大。图2b为本申请提供的另一种眼距调整界面的示意图,如图2b所示,201b为滚动条,电子设备通过201b接收用户输入的眼距调整参数。可选的,滚动条向右滑动,人脸图像中的双眼之间的距离逐渐变小。可选的,滚动条向右滑动,人脸图像中的双眼之间的距离逐渐变大。

在该实现方式中,用户根据需要输入相应的眼距调整参数,操作简单,可以满足不同用户的需求。

根据上述眼距调整参数,调整上述处理子区域在所述人脸图像中的位置,进而,可以调整人脸图像中第一眼睛区域和第二眼睛区域之间的距离,即将上述第一眼睛区域包含的各像素点沿同一方向移动同一距离和/或将上述第二眼睛区域包含的各像素点沿同一方向移动同一距离。可选的,上述第一眼睛区域和上述第二眼睛区域的大小和形状相同。图3为本申请提供的一种人脸图像的示意图,如图3所示,301表示第一眼睛区域,302表示第二眼睛区域。

在该实现方式中,通过调整人脸图像中第一眼睛区域和第二眼睛区域之间的距离来调整该待处理图像中双眼之间的距离,可以保证该待处理图像中的双眼的形状保持不变,操作简单。

在一个可选的实现方式中,所述根据所述眼距调整参数,调整所述处理子区域在所述人脸图像中的位置包括:

根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;

将所述处理子区域向第一方向移动所述目标距离。

上述第一方向可以是水平向右、水平向左等,本申请实施例不作限定。

在一个可选的实现方式中,电子设备可以利用输入的眼矩调整参数调整人脸图像中双眼之间的距离,具体实现如下:

根据上述眼距调整参数,确定目标距离;上述目标距离与上述眼距调整参数正相关或负相关;

将上述第一眼睛区域向第一方向移动上述目标距离;

将上述第二眼睛区域向第二方向移动上述目标距离。

上述第一方向和上述第二方向均平行于上述人脸图像中双眼中心点的连线。上述第一方向和上述第二方向可以相反。举例来说,待处理图像为正脸图像,如图3所示,两个箭头分别为两个眼睛区域的移动方向,第一眼睛区域301沿平行于该人脸图像中双眼中心点的连线的方向,向第二眼睛区域302移动目标距离;第二眼睛区域302沿平行于该人脸图像中双眼中心点的连线的方向,向第一眼睛区域301移动该目标距离。

本申请实施例中,仅对眼睛区域的图像做平移,使得眼睛区域的图像在处理过程不会形变,这样处理后图像中的眼睛更加真实、自然。另外,采用线性算法调整两个眼睛区域之间的距离,计算复杂度低,处理效率高。在处理眼睛区域时,是获取眼睛这个区域的关键点(而传统的是整张人脸图像进行变换)进行变换的,不需要处理整个人脸图像。在该实现方式中,仅处理眼睛区域的图像且采用低复杂度的算法进行处理,因此有效提升了处理效率。

在该实现方式中,通过向相反的方向移动第一眼睛区域和第二眼睛区域同一距离,可以快速地调整待处理图像中双眼之间的距离,适应在手机等直接面向用户的终端设备上进行应用。

本申请中,通过调整人脸图像中第一眼睛区域和第二眼睛区域之间的距离来调整该待处理图像中双眼之间的距离,可以使该待处理图像中的双眼的形状保持不变,操作简单。

在一个可选的实现方式中,上述对上述缓冲区域进行第二图像变换处理包括:

对缓冲区域的图像进行伸缩处理。图4为本申请提供的另一种人脸图像的示意图,如图4所示,401表示处理子区域,402表示待处理区域,待处理区域中除处理子区域之外的区域为缓冲区域。对缓冲区域进行伸缩变换也就是对眼睛区域周围的图像进行伸缩变换。

在该实现方式中,通过眼睛区域周围图像的进行伸缩处理,可以使得调整后的人脸图像更加真实、自然。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线;所述对所述缓冲区域的图像进行伸缩处理包括:

确定所述缓冲区域中各像素点到所述第一边的距离;

利用第一分段函数计算所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离:

根据所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离,确定所述缓冲区域中各像素点对应的替换像素点;所述缓冲区域中任一像素点与其对应的替换像素点为同列的像素点;

将所述缓冲区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

可选的,采用如下第一分段函数计算上述缓冲区域中各像素点对应的替换像素点到上述第一边的距离:

其中,上述x表示上述缓冲区域中的任一像素点到上述第一边的距离,上述y表示上述x对应的像素点的替换像素点到上述第一边的距离,上述ab表示上述待处理区域的长度,上述ij表示上述第一边和上述第二边之间的距离,上述ef表示上述处理子区域的长度,上述jk表示上述目标距离。

图5为本申请提供的一种待处理区域和处理子区域的示意图,如图5所示,矩形abcd表示待处理区域,矩形efgh表示调整前的处理子区域,矩形e’f’g’h’表示调整后的处理子区域;线段in平行于线段ab,线段in与线段ad、线段eh、线段e’h’、线段fg以及线段’fg’的交点依次为点i、点j、点k、点m以及点n,点p为线段in上一点,点p’为点p对应的替换像素点;线段ad表示待处理区域的第一边,线段eh表示为调整前的处理子区域的第二边,线段ij的长度为该第一边和该第二边之间的长度,线段ab的长度为待处理区域的长度,线段ef的长度为处理子区域的长度,线段jk的长度为处理子区域移动的距离,即目标距离。同列的像素点是指在人脸图像中纵坐标相同的像素点。点p’和点p的纵坐标相同。举例来说,图5中的点i、点j、点k、点m、点n为同列的像素点。

可选的,采用如下第一分段函数计算上述第一区域中各像素点对应的替换像素点到上述第一边的距离之前,确定所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度;根据所述目标距离、所述第一边和所述第二边之间的距离、所述待处理区域的长度以及所述处理子区域的长度,构建所述第一分段函数。

可选的,在上述第一区域中参考像素点对应的替换像素点的坐标为浮点数的情况下,利用上述参考像素点对应的替换像素点相邻的四个像素点的像素值进行双线性差值得到上述参考像素点对应的替换像素点的像素值。上述参考像素点为上述第一区域中的任意像素点。

在该实现方式中,通过第一分段函数可以准确地确定缓冲区域中各像素点对应的替换像素点,进而调整缓冲区域中各像素点的像素值,计算复杂度低。

可选的,采用相同的方式对人脸图像中眼睛对应的缓冲区域进行伸缩变换。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线,所述对所述处理子区域进行第一图像变换处理,对所述缓冲区域进行第二图像变换处理包括:

根据所述眼距调整参数,确定目标距离;所述目标距离与所述眼距调整参数正相关或负相关;

确定所述待处理区域中各像素点到所述第一边的距离;

利用第三分段函数计算所述待处理区域中各像素点对应的替换像素点到所述第一边的距离:

根据所述待处理区域中各像素点对应的替换像素点到所述第一边的距离,确定所述待处理区域中各像素点对应的替换像素点;所述待处理区域中任一像素点与其对应的替换像素点为同列的像素点;

将所述待处理区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

可选的,采用如下第三分段函数计算上述待处理区域中各像素点对应的替换像素点到上述第一边的距离:

其中,上述x表示上述待处理区域中的任一像素点到上述第一边的距离,上述y表示上述x对应的像素点的替换像素点到上述第一边的距离,上述ab表示上述待处理区域的长度,上述ij表示上述第一边和上述第二边之间的距离,上述ef表示上述处理子区域的长度,上述jk表示上述目标距离;

可选的,在上述待处理区域中目标像素点对应的替换像素点的坐标为浮点数的情况下,利用上述目标像素点对应的替换像素点相邻的四个像素点的像素值进行双线性差值得到上述目标像素点对应的替换像素点的像素值。上述目标像素点为上述待处理区域中的任意像素点。

可选的,采用如下第三分段函数计算上述待处理区域中各像素点对应的替换像素点到上述第一边的距离之前,确定所述第一边和所述第二边之间的距离、所述处理子区域的长度以及所述待处理区域的长度;根据所述目标距离、所述第一边和所述第二边之间的距离、所述处理子区域的长度以及所述待处理区域的长度,构建所述第三分段函数。

在该实现方式中,通过第三分段函数可以准确地确定待处理区域中各像素点对应的替换像素点,进而调整待处理区域中各像素点的像素值,计算复杂度低。

上述实施例介绍了一种确定待处理区域中任一像素点对应的替换像素点的方法,下面介绍另一种方法,具体如下:如图5所示,矩形abcd表示待处理区域,矩形efgh表示调整前的处理子区域,矩形e’f’g’h’表示调整后的处理子区域。选取矩形abcd(待处理区域)内任意一点p,过点p做平行于线段ab的直线ip,该直线ip与线段ad、线段eh、线段e’h’、线段fg以及线段f’g’分别相交于点i、点j、点k、点m以及点n。令dis_ip、dis_ip’、dis_ij、dis_ik、dis_im、dis_in和dis_ab分别表示线段ip、线段ip’、线段ij、线段ik、线段im、线段in以及线段ab的长度,则有x1=dis_ij/dis_ab,y1=dis_ik/dis_ab,x2=dis_im/dis_ab和y2=dis_in/dis_ab。由点(0,0),点(1,1),点(x1,y1)和点(x2,y2)可以求得分段变形函数y=f(x)。该分段变形函数y=f(x)是一个归一化的函数。该分段变形函数y=f(x)如下:

其中,上述ab表示线段ab的长度,即待处理区域的长度;上述ij表示线段ad和线段eh之间的距离;上述ef表示线段ef的长度,处理子区域的长度,上述jk表示目标距离。图6为分段变形函数的示意图,x1=dis_ij/dis_ab,y1=dis_ik/dis_ab,x2=dis_im/dis_ab和y2=dis_in/dis_ab。

将x=dis_ip/dis_ab带入该分段变形函数,可以计算得到y=dis_ip’/dis_ab,从而得到dis_ap’和点p’的坐标。点p’即为点p的替换像素点。如果点p’的坐标为浮点数,还可以利用点p’周围的四个像素值进行双线性插值得到对应的点p’的像素值。图5所示,调整后的处理子区域e’f’g’h’相比于调整前的处理子区域efgh水平向右移动了目标距离,多边形aehd所处区域的图像伸缩为多边形ae’h’d所处区域的图像,多边形fbcg所处区域的图像伸缩为多边形f’b’c’g’所处区域的图像。

本申请中,利用分段变形函数可以在保证待处理人脸图形中双眼图像不变形的情况下,调整双眼之间的距离,计算复杂度低。

前述实施例中需要确定人脸图像中的待处理区域,下面为本申请提供的一种确定人脸图像中的待处理区域的方法,具体如下:根据所述人脸图像中的目标关键点,确定待处理区域包括:

确定所述目标关键点外接的矩形框为所述待处理区域,所述目标关键点为上述人脸图像中眼睛轮廓的关键点。

上述获取上述人脸图像中目标关键点可以是对上述人脸图像进行人脸检测,得到上述人脸图像中眼睛轮廓的关键点;利用上述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;将上述参考关键点添加到上述眼睛轮廓的关键点。具体的,可以在通过人脸检测得到的眼睛轮廓的关键点的基础上以多边形拟合眼睛轮廓,得到参数关键点,即新的眼睛轮廓的关键点。通过这种方式可以得到除人脸检测得到的眼睛轮廓的关键点之外的关键点,以便于更准确地确定待处理区域。

确定所述目标关键点外接的矩形框为所述待处理区域为所述待处理区域可以是:确定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;根据所述人脸角度信息,调整所述眼睛轮廓的关键点的位置;其中,所述眼睛轮廓的关键点调整的距离与所述夹角负相关;确定所述眼睛轮廓的关键点外接的矩形框所处的区域所述待处理区域。

举例来说,当人脸图像中的人脸方向与参考方向的夹角为0度时,表示该人脸图像是正脸图像,眼睛轮廓的关键点外接的两个矩形框的长度最大;当p该夹角为90度时,眼睛轮廓的关键点外接的两个矩形框的长度为零。

在一个可选的实现方式中,处理子区域包括所述人脸图像中的至少一个眼睛区域。

上述待处理区域和上述处理子区域均为矩形区域,上述待处理区域的长度为上述处理子区域的长度的m倍,上述待处理区域的宽度为上述处理子区域的宽度的n倍;m和n均大于1。

可选的,m为1.1、1.2等,n为1.1、1.2等。在该实现方式中,利用待处理区域的长度和宽度可以快速地确定处理子区域的长度和宽度。

本申请实施例中,通过眼睛轮廓的关键点可以快速、准确地确定待处理区域和处理子区域。

图7为本申请提供的另一种图像处理方法的流程示意图,如图7所示,该方法可包括:

701、获取人脸图像。

702、接收用户输入的眼距调整参数。

703、对上述人脸图像进行人脸检测,得到眼睛轮廓的关键点以及人脸角度信息。

704、根据上述人脸角度信息,确定上述眼睛轮廓的关键点外接的两个矩形框分别为第一变形区域和第二变形区域。

705、确定上述第一变形区域包含的第一眼睛区域以及上述第二变形区域包含的第二眼睛区域。

上述第一眼睛区域和上述第二眼睛区域均为矩形区域,上述第一变形区域的长度为上述第一眼睛区域的长度的m倍,上述第一变形区域的宽度为上述第一眼睛区域的宽度的n倍;上述第二变形区域的长度为上述第二眼睛区域的长度的m倍,上述第二变形区域的宽度为上述第二眼睛区域的宽度的n倍;m和n均大于1。

706、构建分段变形函数。

构建分段变形函数的具体方式可采用前述实施例中的任一种。

707、利用上述分段变形函数调整上述第一变形区域和上述第二变形区域中各像素点的像素值。

本申请中,电子设备根据用户输入的眼距调整参数,可以快速地调整待处理图像中的双眼之间的距离,并保证双眼的形状保持不变,操作简单。

图8为本申请提供的一种电子设备的结构示意图,如图8所示,该电子设备可包括:

第一获取单元801,用于获取人脸图像中的目标关键点;

第一确定单元802,用于根据上述人脸图像中的目标关键点,确定待处理区域,上述待处理区域包括处理子区域和缓冲区域;

处理单元803,用于对上述处理子区域进行第一图像变换处理,以及对上述缓冲区域进行第二图像变换处理。

具体实现方式与图1中的方式相同,这里不再详述。

在一个可选的实现方式中,上述电子设备还包括:

第二获取单元804,用于获取眼距调整参数;

上述处理单元803,具体用于根据上述眼距调整参数,调整上述处理子区域在所述人脸图像中的位置。

在一个可选的实现方式中,上述电子设备还包括:

第二确定单元805,用于根据上述眼距调整参数,确定目标距离;上述目标距离与上述眼距调整参数正相关或负相关;

上述处理单元803,具体用于将将所述处理子区域向第一方向移动所述目标距离。

在一个可选的实现方式中,上述处理单元803,具体用于确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域,所述处理子区域为所述人脸图像中的眼睛区域。

在一个可选的实现方式中,上述处理单元803,具体用于确定上述人脸图像对应的人脸角度信息;上述人脸角度信息为上述人脸图像中的人脸方向与参考方向的夹角,上述参考方向为上述人脸图像对应的拍摄方向,上述夹角小于90度且大于或等于0度;根据上述人脸角度信息,确定所述待处理区域中除所述处理子区域之外的区域为所述缓冲区域;所述待处理区域的长度与所述夹角负相关。

在一个可选的实现方式中,上述电子设备还包括:

上述第一获取单元801,具体用于对上述人脸图像进行人脸检测,得到上述人脸图像中眼睛轮廓的关键点;利用上述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;将上述参考关键点添加到上述眼睛轮廓的关键点,所述眼睛轮廓的关键点为所述目标关键点。

在一个可选的实现方式中,所述处理子区域包括所述人脸图像中的至少一个眼睛区域。

在一个可选的实现方式中,所述缓冲区域的第一边与所述处理子区域的第二边均垂直于所述人脸图像中双眼中心点的连线;

所述处理单元,具体用于确定所述缓冲区域中各像素点到所述第一边的距离;利用第一分段函数计算所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离:根据所述缓冲区域中各像素点对应的替换像素点到所述第一边的距离,确定所述缓冲区域中各像素点对应的替换像素点;所述缓冲区域中任一像素点与其对应的替换像素点为同列的像素点;将所述缓冲区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

可选的,采用如下第一分段函数计算上述第一区域中各像素点对应的替换像素点到上述第一边的距离:

其中,上述x表示上述缓冲区域中的任一像素点到上述第一边的距离,上述y表示上述x对应的像素点的替换像素点到上述第一边的距离,上述ab表示上述处理子区域的长度,上述ij表示上述第一边和上述第二边之间的距离,上述ef表示上述处理子区域的长度,上述jk表示上述目标距离。

在一个可选的实现方式中,上述第二确定单元805,具体用于确定上述第一边和上述第二边之间的距离、上述待处理区域的长度以及上述处理子区域的长度;上述电子设备还包括:

第一构建单元806,用于根据上述目标距离、上述第一边和上述第二边之间的距离、上述待处理区域的长度以及上述处理子区域的长度,构建上述第一分段函数。

在一个可选的实现方式中,上述处理子区域为矩形区域;如图9所示,上述电子设备还包括:

第三确定单元901,用于根据上述眼距调整参数,确定目标距离;上述目标距离与上述眼距调整参数正相关或负相关;

上述处理单元803,用于确定上确定所述待处理区域中各像素点到所述第一边的距离;利用第三分段函数计算所述待处理区域中各像素点对应的替换像素点到所述第一边的距离:根据所述待处理区域中各像素点对应的替换像素点到所述第一边的距离,确定所述待处理区域中各像素点对应的替换像素点;所述待处理区域中任一像素点与其对应的替换像素点为同列的像素点;将所述待处理区域中各像素点的像素值替代为各自对应的替换像素点的像素值。

可选的,上述处理单元803,具体用于采用如下第三分段函数计算上述待处理区域中各像素点对应的替换像素点到上述第一边的距离:

其中,上述x表示上述待处理区域中的任一像素点到上述第一边的距离,上述y表示上述x对应的像素点的替换像素点到上述第一边的距离,上述ab表示上述待处理区域的长度,上述ij表示上述第一边和上述第二边之间的距离,上述ef表示上述处理子区域的长度,上述jk表示上述目标距离。

在一个可选的实现方式中,上述第三确定单元901,还用于确定上述第一边和上述第二边之间的距离、上述待处理区域的长度以及上述处理子区域的长度;上述电子设备还包括:

第二构建单元902,用于根据上述目标距离、上述第一边和上述第二边之间的距离、上述待处理区域的长度以及上述处理子区域的长度,构建上述第三分段函数。

在一个可选的实现方式中,所述第一确定单元,具体用于确定所述目标关键点外接的矩形框为所述待处理区域,所述目标关键点为上述人脸图像中眼睛轮廓的关键点。。

在一个可选的实现方式中,上述处理单元803,具体用于定所述人脸图像对应的人脸角度信息;所述人脸角度信息为所述人脸图像中的人脸方向与参考方向的夹角,所述参考方向为所述人脸图像对应的拍摄方向,所述夹角小于90度且大于或等于0度;根据所述人脸角度信息,调整所述眼睛轮廓的关键点的位置;其中,所述眼睛轮廓的关键点调整的距离与所述夹角负相关;确定所述眼睛轮廓的关键点外接的矩形框所处的区域为所述待处理区域。

在一个可选的实现方式中,上述电子设备还包括:

上述第一获取单元801,具体用于对上述人脸图像进行人脸检测,得到上述人脸图像中眼睛轮廓的关键点;利用上述眼睛轮廓的关键点拟合眼睛轮廓,得到参考关键点;将上述参考关键点添加到上述眼睛轮廓的关键点,所述眼睛轮廓的关键点为所述目标关键点。

在一个可选的实现方式中,上述处理处理子区域包括所述人脸图像中的至少一个眼睛区域。

参见图10,是本申请提供的另一种电子设备的结构示意图。如图10所示的本实施例中的电子设备可以包括:一个或多个处理器1001;一个或多个输入设备1002,一个或多个输出设备1003和存储器1004。上述处理器1001、输入设备1002、输出设备1003和存储器1004通过总线1005连接。存储器1002用于存储指令,处理器1001用于执行存储器1002存储的指令。其中,处理器1001用于:获取人脸图像中的目标关键点;根据上述人脸图像中的目标关键点,确定待处理区域,上述待处理区域包括处理子区域和缓冲区域;对上述处理子区域进行第一图像变换处理,对上述缓冲区域进行第二图像变换处理。

应当理解,在本申请实施例中,所称处理器1001可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器。例如,存储器1002还可以存储设备类型的信息。输入设备1002可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、重力传感器、陀螺仪等,输出设备1003可以包括显示器(lcd等)、扬声器等。

具体实现中,本申请实施例中所描述的处理器1001和存储器1002可执行本申请实施例提供的图像处理方法的前述任一实施例所描述的实现方式,也可执行本申请实施例所描述的电子设备的实现方式,在此不再赘述。

在本申请的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:获取人脸图像中的目标关键点;根据上述人脸图像中的目标关键点,确定待处理区域,上述待处理区域包括处理子区域和缓冲区域;对上述处理子区域进行第一图像变换处理,对上述缓冲区域进行第二图像变换处理。

以上上述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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