本发明属于图像处理的领域,尤其涉及一种照片的处理方法及处理系统。
背景技术:
随着数码相机、智能手机的普及,所拍摄的照片的数量越来越多。但由于光线、摄像器材、个人相貌、拍摄角度、拍摄姿势、或镜头畸变等原因,会影响拍摄后的照片效果。眼睛历来被视为心灵的窗户,是人像摄影中最被看重的部分之一,所以在照片的后期处理中,都会对眼睛进行调整。
目前的常见处理办法,如:
(1)采用Photoshop等专业软件进行处理,然而,这种方法不但对操作者的专业度要求较高、操作复杂、而且对于大批量的照片而言,特别费时费力;
(2)采用美图秀秀等智能软件进行处理,虽然操作简单,但对眼部的处理效果往往会导致失真,而且,亦难处理大批量的照片。
技术实现要素:
有鉴于此,本发明的目的在于提供一种照片的处理方法及处理系统,可以解决现有技术中专业度高、操作复杂、处理效果失真、以及处理大批量照片时费时费力的技术问题。
为解决上述技术问题,本发明实施例提供了一种照片的处理方法,包括:
对照片进行人脸检测;
对检测到的人脸进行配准,以获取双眼的轮廓点;
根据所述双眼的轮廓点,分别计算左眼区域和右眼区域;
对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换;以及
对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
为解决上述技术问题,本发明实施例还提供了一种照片的处理系统,包括:
检测模块,用于对照片进行人脸检测;
配准模块,用于对检测到的人脸进行配准,以获取双眼的轮廓点;
区域模块,用于根据所述双眼的轮廓点,分别计算左眼区域和右眼区域;
拉伸模块,用于对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换;以及
均衡模块,用于对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
相对于现有技术,本发明提供的照片的处理方法及处理系统,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
附图说明
图1是本发明实施例提供的照片的处理方法及处理系统的应用环境示意图;
图2是本发明实施例一提供的照片的处理方法的流程示意图;
图3是本发明实施例二提供的照片的处理方法的流程示意图;
图4是本发明实施例三提供的照片的处理系统的模块示意图;
图5是本发明实施例四提供的照片的处理系统的模块示意图;
图6是本发明实施例五提供的照片的处理方法及处理系统的界面示意图;
图7是本发明实施例五提供的照片的处理方法及处理系统的轮廓点示意图。
具体实施方式
请参照附图中的图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所示例的本发明的具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。
请参阅图1,为本发明中提供的本发明实施例提供的照片的处理方法及处理系统的应用环境示意图。所述应用环境,包括终端设备10、云服务平台20、以及通信网络30。
可以理解的是,所述终端设备10,如手机11、电脑12、或相机13等具有照片存储功能的终端设备,可以安装或通过网页链接本发明提供的处理方法或处理系统,进而对照片进程美化处理。
所述云服务平台20,用于通过提供应用程序安装包、或网页链接的方式,提供本发明的照片的处理方法及处理系统。
即:本发明的处理过程,可以通过下载应用程序安装包,而在终端设备10中实现;也可以通过网页链接的方式,在云服务平台20进行实现。
所述处理过程概述为:对照片进行人脸检测;对检测到的人脸进行配准,以获取双眼的轮廓点;根据所述双眼的轮廓点,分别计算左眼区域和右眼区域;对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换;对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
所述通信网络30,用于为所述终端设备10与云服务平台20之间提供数据传输的通道,包括无线网络及有线网络。其中无线网络包括无线广域网、无线局域网、无线城域网、以及无线个人网中的一种或多种的组合。
本案可应用于腾讯优图的开放平台以进行照片处理,以形成美瞳效果。请参照以下实施例,实施例一、二侧重于照片的处理方法,实施例三、四侧重于照片的处理系统,实施例五侧重于照片的处理方法及处理系统的效果。可以理解的是:虽然各实施例的侧重不同,但其设计思想是一致的。且,在某个实施例中没有详述的部分,可以参见说明书全文的详细描述,不再赘述。
实施例一
请参阅图2,所示为照片的处理方法的基本流程示意图。所述照片的处理方法,通常执行于终端设备中。
概而言之,所述照片的处理方法,包括:
在步骤S201中,对照片进行人脸检测。
其中,对人脸进行检测,目的是检测给定图片(Image)中所有人脸(Face)的位置和相应的面部属性。所述给定图片,可以是本地图片或网络连接地址,可以是单张图片,也可以是批量处理。
具体而言,所述检测的步骤包括:
(1)对照片进行检测,以确定人脸的位置(x,y,w,h),以描述人脸框的位置、宽度和高度,比如:人脸框左上角x、人脸框的左上角y、人脸框的宽度、人脸框的高度;以及
(2)根据所述人脸的位置检测面部属性,所述面部属性包括但不限于:性别(Gender)、年龄(Age)、表情(Expression)、姿态(上下偏移量Pitch,左右偏移量Roll,平面选择角度Yaw)、或眼镜(Glass)之一者。
此外,所述检测步骤还可包括:
(3)检测照片的模式,是否为正常模式,其中非正常模式通常是指大脸模式,所述大脸模式常见的如:证件照、或自拍照等;
(4)检测照片中的人脸数量,以确定是否对所出现的全部人脸进行处理。
在步骤S202中,对检测到的人脸进行配准,以获取双眼的轮廓点。
具体而言,所述配准的步骤包括:
(1)对所述人脸的五官进行定位,并计算构成人脸的轮廓点;
其中,以88个轮廓点为例进行阐述,包括:眉毛(左右各8点)、眼睛(左右各8点)、鼻子(13点)、嘴巴(22点)、脸型轮廓(21点)。可以理解的是,此处所示例的轮廓点不应视为对本发明的限制,而可根据需要对所述轮廓点进行数量的增添和减少、以及位置的重新规划。
(2)从所述轮廓点中提取左眼的轮廓点和右眼的轮廓点。
以上述左右各8个轮廓点为例,分别获取左眼的8个轮廓点的x值和y值、右眼的8个轮廓点的x值和y值。
在步骤S203中,根据所述双眼的轮廓点,分别计算左眼区域和右眼区域。
在步骤S204中,对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换。
具体而言,所述拉伸的步骤包括:
(1)将所述左眼区域和右眼区域中的每个像素分解成红色属性值、绿色属性值、和蓝色属性值;以及
(2)将所述红色属性值、绿色属性值、和蓝色属性值进行拉伸变换,以生拉伸后的左眼区域和拉伸后的右眼区域。
其中,进行拉伸变换的步骤,具体包括:
(2.1)获取原始的颜色属性值,所述颜色属性值包括红色、绿色或蓝色;
(2.2)分别将所述各原始颜色属性值代入正弦函数进行拉伸,以生成拉伸后的颜色属性值;
其中,由正弦函数所形成的变换函数为:
F(c)=(sin((c+1.57)*3)+1)/2 0=<c=<1;
F(c)是一个变换函数,可以将较小的值或较大的值进行拉伸变换,以使眼睛区域的中心变大、边缘变小,进而使眼睛更加圆润、明亮,同时变换范围可控,不会过大而失真。
拉伸后的属性值为:
C=255*F(c/255.0),其中,c为红色属性值、绿色属性值、或蓝色属性值。以左眼区域的像素为例,其中一像素的RGB通道原值为rgb,则变换后的RGB值为:
R=255*F(r/255.0)
G=255*F(g/255.0)
B=255*F(b/255.0)
(2.3)由拉伸后的颜色属性值,分别形成所述拉伸后的左眼区域和拉伸后的右眼区域。
在步骤S205中,对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
通过直方图均衡化处理的步骤,对所述左眼区域和右眼区域中像素个数多的灰度级进行展宽,对像素个数少的灰度进行压缩,从而扩展原像素的动态范围,提高了对比度和灰度色调的变化,使拉伸后形成的图形更加清晰。
本发明提供的照片的处理方法,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
实施例二
请参阅图3,所示为照片的处理方法的详细流程示意图。所述照片的处理方法,可执行于终端设备、或云服务平台中。
图3中的步骤,与图2不同的以S3开头,与图2相同的仍以S2开头,以示其差异。
详而言之,所述照片的处理方法,包括:
在步骤S301中,显示所述处理方法的操作界面,所述操作界面上至少包括:选择选项、美化选项、和保存选项。
可以理解的是,本步骤是对实施例一所提供的自动美化步骤的补充,即选择待处理的照片的步骤为用户手动,可以有效地减少终端设备处理过多照片所造成的处理资源的浪费。
在步骤S302中,通过所述选择选项对照片进行选择。
可以理解的是,所述选择,可以选择单张照片或批量照片,也可以选择本地照片或网络图片。
在步骤S303中,将所选择的照片进行解码,以生成RGB格式。
所述RGB格式,又称色彩模式,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
在步骤S304中,通过所述美化选项,启动对所选照片的人脸检测。
在本步骤中,所述美化选项,主要是指对眼睛进行美化,亦可包括其他美化步骤,如美肤、祛痣等,此处不再赘述。
在步骤S201中,对照片进行人脸检测。
其中,对人脸进行检测,目的是检测给定图片中所出现的人脸的位置、相应的面部属性、照片的模式、人脸数量等。
在步骤S202中,对检测到的人脸进行配准,以获取双眼的轮廓点。
具体而言,所述配准的步骤包括:
(1)对所述人脸的五官进行定位,并计算构成人脸的轮廓点;
(2)从所述轮廓点中提取左眼的轮廓点和右眼的轮廓点的坐标值。
在步骤S203中,根据所述双眼的轮廓点,分别计算左眼区域和右眼区域。
在步骤S204中,对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换。
具体而言,所述拉伸的步骤包括:
(1)将所述左眼区域和右眼区域中的每个像素分解成红色属性值、绿色属性值、和蓝色属性值;以及
(2)将所述红色属性值、绿色属性值、和蓝色属性值进行拉伸变换,以生拉伸后的左眼区域和拉伸后的右眼区域。
其中,进行拉伸变换的步骤,核心在于:
(2.1)变换函数
分别将所述各原始颜色属性值代入正弦函数进行拉伸,以生成拉伸后的颜色属性值,所述颜色属性值包括红色、绿色或蓝色;
其中,由正弦函数所形成的变换函数为:
F(c)=(sin((c+1.57)*3)+1)/2 0=<c=<1;
F(c)是一个变换函数,可以将较小的值或较大的值进行拉伸变换,以使眼睛区域的中心变大、边缘变小,进而使眼睛更加圆润、明亮,同时变换范围可控,不会过大而失真。
(2.2)拉伸后的属性值
C=255*F(c/255.0),其中c为红色属性值、绿色属性值、或蓝色属性值。
以左眼区域的像素为例,其中一像素的RGB通道原值为rgb,则变换后的RGB值为:
R=255*F(r/255.0),G=255*F(g/255.0),B=255*F(b/255.0)
在步骤S205中,对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
通过直方图均衡化处理的步骤,对所述左眼区域和右眼区域中像素个数多的灰度级进行展宽,对像素个数少的灰度进行压缩,从而扩展原像素的动态范围,提高了对比度和灰度色调的变化,使拉伸后形成的图形更加清晰。
在步骤S305中,通过操作界面上的所述保存选项,将所述均衡化处理后的照片进行编码,以生成JPEG格式。
其中,所述JPEG是Joint Photographic Experts Group(联合图像专家组)的首字母缩写,代表一种广泛适用的压缩图像的标准方式。针对所述格式所形成的扩展名,如:.jpeg、.jfif、.jpg、.JPG、或是.JPE。可以理解的是,以上仅作为对最终形成照片格式的示例,不应理解为对其格式的限制。
本发明提供的照片的处理方法,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
实施例三
请参阅图4,所示为照片的处理方法的基本系统示意图。所述照片的处理系统,通常执行于终端设备中。
概而言之,所述照片的处理系统400,包括:检测模块41、配准模块42、区域模块43、拉伸模块44、以及均衡模块45。
检测模块41,用于对照片进行人脸检测,目的是检测给定图片(Image)中所有人脸(Face)的位置和相应的面部属性。
其中,所述检测模块41包括:位置子模块411、属性子模块412、模式子模块413、以及数量子模块414。
具体而言,所述位置子模块411,用于对照片进行检测,以确定人脸的位置(x,y,w,h),以描述人脸框的位置、宽度和高度,比如:人脸框左上角x、人脸框的左上角y、人脸框的宽度、人脸框的高度;以及
所述属性子模块412,用于根据所述人脸的位置检测面部属性,所述面部属性包括但不限于:性别(Gender)、年龄(Age)、表情(Expression)、姿态(上下偏移量Pitch,左右偏移量Roll,平面选择角度Yaw)、或眼镜(Glass)之一者;
所述模式子模块413,用于检测照片的模式,是否为正常模式,其中非正常模式通常是指大脸模式,所述大脸模式常见的如:证件照、或自拍照等;
所述数量子模块414,用于检测照片中的人脸数量,以确定是否对所出现的全部人脸进行处理。
配准模块42,连接于所述检测模块41,用于对检测到的人脸进行配准,以获取双眼的轮廓点。
其中,所述配准模块42包括:定位子模块421、以及轮廓子模块422。
具体而言,所述定位子模块421,用于对所述人脸的五官进行定位,并计算构成人脸的轮廓点。
所述轮廓子模块422,连接于所述定位子模块421,用于从所述轮廓点中提取左眼的轮廓点和右眼的轮廓点的坐标值。
区域模块43,连接于所述配准模块42,用于根据所述双眼的轮廓点,分别计算左眼区域和右眼区域。
拉伸模块44,连接于所述区域模块43,用于对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换。
其中,所述拉伸模块44包括:分解子模块441、和变换子模块442。
具体而言,所述分解子模块441,用于将所述左眼区域和右眼区域中的每个像素分解成红色属性值、绿色属性值、和蓝色属性值;以及
所述变换子模块442,连接于所述分解子模块441,用于将所述红色属性值、绿色属性值、和蓝色属性值进行拉伸变换,以生拉伸后的左眼区域和拉伸后的右眼区域。
具体而言,所述变换子模块442,用于:获取原始的颜色属性值,所述颜色属性值包括红色、绿色或蓝色;分别将所述各原始颜色属性值代入正弦函数进行拉伸,以生成拉伸后的颜色属性值;由拉伸后的颜色属性值,分别形成所述拉伸后的左眼区域和拉伸后的右眼区域。
其中,由正弦函数所形成的变换函数为:
F(c)=(sin((c+1.57)*3)+1)/2 0=<c=<1;
拉伸后的属性值为:
C=255*F(c/255.0),其中c为红色属性值、绿色属性值、或蓝色属性值。
通过上述拉伸,使得眼睛区域的中心变大、边缘变小,进而使眼睛更加圆润、明亮,同时变换范围可控,不会过大而失真。
以左眼区域的像素为例,其中一像素的R(Red,红)G(Green,绿)B(Blue,蓝)通道原值为rgb,则变换后的RGB值为:
R=255*F(r/255.0),G=255*F(g/255.0),B=255*F(b/255.0)
均衡模块45,连接于所述拉伸模块44,用于对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
其中,通过直方图均衡化处理,对所述左眼区域和右眼区域中像素个数多的灰度级进行展宽,对像素个数少的灰度进行压缩,从而扩展原像素的动态范围,提高了对比度和灰度色调的变化,使拉伸后形成的图形更加清晰。
本发明提供的照片的处理系统,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
实施例四
请参阅图5,所示为照片的处理系统的详细流程示意图。所述照片的处理系统,可执行于终端设备、或云服务平台中。
图5中处理系统500的各模块,与图4不同的以5开头,与图4相同的仍以4开头,以示其差异。
详而言之,所述照片的处理系统500,包括:界面模块51、选择模块52、解码模块53、启动模块54、检测模块41、配准模块42、区域模块43、拉伸模块44、均衡模块45、以及编码模块55。
界面模块51,用于显示所述处理系统的操作界面,所述操作界面上包括:选择选项、美化选项、和保存选项。
可以理解的是,所述界面模块51是对实施例三所提供的自动美化步骤的补充,即选择待处理的照片的步骤为用户手动,可以有效地减少终端设备处理过多照片所造成的处理资源的浪费。
选择模块52,连接于所述界面模块51,用于通过所述选择选项对照片进行选择。
可以理解的是,所述选择,可以选择单张照片或批量照片,也可以选择本地照片或网络图片。
解码模块53,连接于所述选择模块52,用于将所选择的照片进行解码,以生成RGB格式。
所述RGB格式,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色。
启动模块54,连接于所述界面模块51,用于通过所述美化选项,启动对所选照片的人脸检测。
所述美化选项,主要是指对眼睛进行美化,亦可包括其他美化步骤,如美肤、祛痣等,此处不再赘述。
检测模块41,连接于所述启动模块54和解码模块53,用于对照片进行人脸检测,目的是检测给定图片(Image)中所有人脸(Face)的位置和相应的面部属性。
具体而言,所述检测模块41包括:位置子模块411,用于对照片进行检测,以确定人脸的位置(x,y,w,h);属性子模块412,用于根据所述人脸的位置检测面部属性;模式子模块413,用于检测照片的模式;以及数量子模块414,用于检测照片中的人脸数量,以确定是否对所出现的全部人脸进行处理。
配准模块42,连接于所述检测模块41,用于对检测到的人脸进行配准,以获取双眼的轮廓点。
具体而言,所述配准模块42包括:定位子模块421,用于对所述人脸的五官进行定位,并计算构成人脸的轮廓点;轮廓子模块422,用于从所述轮廓点中提取左眼的轮廓点和右眼的轮廓点的位置值(x,y)。
区域模块43,连接于所述配准模块42,用于根据所述双眼的轮廓点,分别计算左眼区域和右眼区域。
拉伸模块44,连接于所述区域模块43,用于对所述左眼区域和所述右眼区域中的每个像素进行拉伸变换。
具体而言,所述拉伸模块44包括:分解子模块441,用于将所述左眼区域和右眼区域中的每个像素分解成红色属性值、绿色属性值、和蓝色属性值;变换子模块442,用于将所述红色属性值、绿色属性值、和蓝色属性值进行拉伸变换,以生拉伸后的左眼区域和拉伸后的右眼区域。
其中,所述变换子模块442对所述三色的属性值通过变换函数进行拉伸,其中所述变换函数为:
F(c)=(sin((c+1.57)*3)+1)/2 0=<c=<1;以及
拉伸后的属性值为:
C=255*F(c/255.0),其中c为红色属性值、绿色属性值、或蓝色属性值。
均衡模块45,连接于所述拉伸模块44,用于对拉伸后的左眼区域和右眼区域进行直方图均衡化处理,以生成处理后的照片。
其中,通过直方图均衡化处理,对所述左眼区域和右眼区域中像素个数多的灰度级进行展宽,对像素个数少的灰度进行压缩,从而扩展原像素的动态范围,提高了对比度和灰度色调的变化,使拉伸后形成的图形更加清晰。
编码模块55,连接于所述界面模块51和均衡模块45,用于通过保存选项,将所述均衡化处理后的照片进行编码,以生成JPEG格式。
本发明提供的照片的处理系统,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
实施例五
请参阅图6,所示为照片的处理方法及处理系统的界面示意图。
显示界面51,用于显示所述处理系统的操作界面,所述操作界面上包括:选择选项511、美化选项512、和保存选项513。
所述选择选项511,用于触发图5中的选择模块52和解码模块53,用以对照片进行选择,并进行解密以生成RGB格式。
所述美化选项512,用以触发图5中的启动模块54、检测模块41、配准模块42、区域模块43、拉伸模块44、以及均衡模块45,以进行人像中瞳孔的美化。其中,人脸的位置,通过人脸框(x,y,w,h)进行显示。
如图7所示,为本发明中所提供的轮廓点的示意图。其中以88点为例进行阐述,包括:眉毛(左右各8点)、眼睛(左右各8点)、鼻子(13点)、嘴巴(22点)、脸型轮廓(21点)。
比如,通过如下请求:
以得到如下回应,其中所述回应可以通过回应信息的展示区域514进行展示,并由用户对各轮廓点进行微调,也可以仅供后台计算使用而不显示。
所述保存选项513,用以触发图5中的编码模块55,用于将所述均衡化处理后的照片进行编码,以生成JPEG格式。
本发明提供的照片的处理方法和系统,从检测到的人脸中计算左右眼区域,进而对所述区域中的每个像素进行拉伸变换,以生成处理后的照片,具有自动对眼睛进行美化的效果、无需用户手动操作,且处理效果在可控范围内、不易失真。
本发明实施例提供的照片的处理系统及处理方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。