本发明涉及图像处理技术领域,尤其涉及一种图像处理方法、装置及移动终端。
背景技术:
随着图像处理技术的快速发展,人们可以通过移动终端对拍照得到的照片,或者从网络下载的图像等进行各种处理,以增强图像的趣味性,比如,人们可以通过移动终端对自拍照中的头发颜色进行更换,从而改变自己的形象气质。
通常,用户只能手动选择某一种设定的颜色,从而对图像中的进行发色调节,而这种发色调节方式很大程度上决定于用户的主观喜好,往往会因发色不适合而影响图像处理效果。
技术实现要素:
本发明提供一种图像处理方法、装置及移动终端,以解决现有技术因发色不适合而影响图像处理效果的问题。
为了解决上述技术问题,本发明是这样实现的:一种图像处理的方法,应用于移动终端,包括:
当获取到原始图像时,确定所述原始图像中的肤色区域和头发区域;
根据所述肤色区域的肤色属性信息,获取对应的发色属性信息;
根据所述发色属性信息,对所述头发区域进行处理。
第一方面,本发明实施例还提供了一种图像处理装置,该图像处理装置包括:
确定模块,用于当获取到原始图像时,确定所述原始图像中的肤色区域和头发区域;
第一获取模块,用于根据所述肤色区域的肤色属性信息,获取对应的发色属性信息;
处理模块,用于根据所述发色属性信息,对所述头发区域进行处理。
第二方面,本发明实施例还提供了一种移动终端,该移动终端包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明所述的图像处理方法的步骤。
第三方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现本发明所述的图像处理方法的步骤。
在本发明实施例中,确定与原始图像人物的肤色属性信息相对应的发色属性信息,进而根据该发色属性信息对人物的头发区域进行处理,能够提高图像中的头发区域与肤色区域之间的匹配度,进而提升图像处理效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例一中的一种图像处理方法的流程图;
图2示出了本发明实施例二中的一种图像处理方法的流程图;
图3示出了本发明实施例三中的一种图像处理装置的结构框图;
图4示出了本发明实施例三中的另一种图像处理装置的结构框图;
图5示出了本发明实施例三中的一种获取子模块的结构框图;
图6示出了本发明实施例三中的一种处理子模块的结构框图;
图7示出了本发明各个实施例中的一种移动终端的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,示出了本发明实施例一的图像处理方法的流程图,具体可以包括如下步骤:
步骤101,当获取到原始图像时,确定原始图像中的肤色区域和头发区域。
在本发明实施例中,移动终端可以接收其他设备发送的原始图像,比如用户从网络上下载原始图像时,移动终端可以接收到应用服务器发送的原始图像。或者,移动终端可以在接收到相机应用启动指令时,将摄像头采集的拍摄画面作为原始图像,本发明实施例对于移动终端获取原始图像的方式不作具体限定。
当移动终端获取到原始图像时,可以通过预设的区域分割模型,确定该原始图像中的肤色区域和头发区域。其中,该区域分割模型可以是基于人脸识别技术,通过深度学习方法训练得到。
需要说明的是,肤色区域可以包括人脸部分的肤色区域,当然还可以包括脖子部分等肤色区域,本发明实施例对此不作具体限定。
步骤102,根据肤色区域的肤色属性信息,获取对应的发色属性信息。
在本发明实施例中,肤色属性信息可以为肤色区域的平均肤色值,移动终端可以首先确定出肤色区域的平均肤色值,然后以肤色区域的平均肤色值为输入参数,通过事先训练得到的发色匹配模型,获取平均肤色值对应的发色属性信息,该发色属性信息可以为目标发色值。其中,该发色匹配模型可以是根据专业的发色设计师,对多种肤色人物进行发色设计的结果进行训练得到,因此,通过该发色匹配模型确定的发色属性信息,与图像人物皮肤的匹配度较高。
步骤103,根据发色属性信息,对头发区域进行处理。
在本发明实施例中,移动终端可以将目标发色值,与头发区域各个像素点的灰度值进行颜色混合,得到各个像素点对应的混合发色值,进而移动终端可以将每个像素点的原始像素值替换为混合发色值,从而实现发色的更换。
在本发明实施例中,确定与原始图像人物的肤色属性信息相对应的发色属性信息,进而根据该发色属性信息对人物的头发区域进行处理,能够提高图像中的头发区域与肤色区域之间的匹配度,进而提升图像处理效果。
实施例二
参照图2,示出了本发明实施例二的图像处理方法的流程图,具体可以包括如下步骤:
步骤201,通过训练得到训练后的发色匹配模型。
在本发明实施例中,本步骤的实现方式可以包括:获取预设个数的样本图像;获取每个样本图像对应的样本平均肤色值,以及每个样本平均肤色值对应的样本目标发色值;构建发色匹配模型;以该样本平均肤色值和该样本目标发色值为输入参数,对发色匹配模型进行训练,得到训练后的发色匹配模型。
其中,移动终端可以接收预设个数的样本图像,该多个样本图像中包括大量的不同肤色的人脸图片,移动终端可以确定每个样本图像中的肤色区域对应的样本平均肤色值,然后专业的发色设计师可以对各个肤色的人物设计发色,进而将设计结果输入至移动终端,从而移动终端可以获取到每个样本平均肤色值对应的样本目标发色值,然后移动终端可以构建发色匹配模型,该发色匹配模型中的模型参数待定,之后移动终端可以以该样本平均肤色值和该样本目标发色值为输入参数,对待定模型参数的发色匹配模型进行训练,从而可以得到训练后的发色匹配模型,在训练后的发色匹配模型中,模型参数已通过训练得到,进而移动终端可以通过训练后的发色匹配模型,确定与某种肤色相匹配的发色。
例如,移动终端可以获取10000张样本图像,并获取每个样本图像对应的样本平均肤色值,以及每个样本平均肤色值对应的样本目标发色值,之后可以构建发色匹配模型,并以该样本平均肤色值和该样本目标发色值为输入参数,对发色匹配模型进行训练,得到训练后的发色匹配模型。
步骤202,当获取到原始图像时,对原始图像进行人脸识别。
在本发明实施例中,当移动终端获取到原始图像时,可以首先对原始图像进行人脸识别,当从该原始图像中识别出人脸时,移动终端可以继续执行后续调节发色的步骤,当从该原始图像中未识别出人脸时,可以认为原始图像中的主体并非人物,进行发色调节的意义不大,此时,移动终端可以结束操作,或者显示用于指示该原始图像中不存在人物的提示信息,以提示用户提供主体为人物的图像进行发色调节,从而能够提高图像处理的效率。
例如,移动终端可以以相机应用启动后采集的拍摄画面为原始图像image,并对原始图像image进行人脸识别。
步骤203,当在原始图像中识别出人脸时,确定原始图像中的肤色区域和头发区域。
在本发明实施例中,当移动终端在原始图像中识别出人脸时,可以确定该原始图像中的主体为人物,进而移动终端可以通过预设的区域分割模型,对该原始图像中人物的肤色区域和头发区域进行分割,从而确定出该原始图像中的肤色区域和头发区域。
需要说明的是,相比于RGB等其他的颜色空间,在YCrCb颜色空间下进行肤色区域识别的准确率较高,因此,在实际应用中,若原始图像的颜色空间为YCrCb颜色空间之外的颜色空间,则移动终端可以首先对该原始图像进行颜色空间转换,从而将原始图像的颜色空间转换为YCrCb颜色空间,然后再进行肤色区域的识别。另外,若原始图像的颜色空间为YCrCb颜色空间,则移动终端可以直接进行肤色区域的识别,而无需进行颜色空间的转换。
例如,移动终端在原始图像image中识别出人脸时,可以确定原始图像image中的肤色区域A和头发区域B。
步骤204,通过训练后的发色匹配模型,获取平均肤色值对应的目标发色值。
在本发明实施例中,本步骤的实现方式可以包括:确定该肤色区域的平均肤色值;获取该平均肤色值对应的目标发色值。
其中,移动终端可以首先确定与肤色区域的平均肤色值,然后以肤色区域的平均肤色值作为输入参数,通过训练后的发色匹配模型,确定出与该平均肤色值相匹配的目标发色值,也即是可以确定出与原始图像人物的肤色相匹配的发色,从而获取该平均肤色值对应的目标发色值。
例如,移动终端可以以肤色区域A的平均肤色值A-ave作为输入参数,通过训练后的发色匹配模型,确定出与该平均肤色值A-ave相匹配的目标发色值B-fsz。
步骤205,对头发区域的透明度图层进行高斯模糊计算,得到头发区域对应的羽化区域。
在本发明实施例中,移动终端可以对头发区域的透明度图层,也即alpha通道对应的图层进行高斯模糊计算,从而可以得到头发区域对应的羽化区域,该羽化区域相对于头发区域,其边缘更加平滑柔和。
例如,移动终端可以对头发区域B的alpha通道对应的透明度图层进行高斯模糊计算,得到头发区域B对应的羽化区域B-b。
步骤206,将目标发色值分别与羽化区域中各个像素点的灰度值进行颜色混合,得到羽化区域中各个像素点对应的混合发色值。
在本发明实施例中,移动终端可以首先对羽化区域中的各个像素点进行灰度计算,得到各个像素点的灰度值,然后可以将目标发色值分别与羽化区域中各个像素点的灰度值进行颜色混合,从而得到羽化区域中各个像素点对应的混合发色值。其中,以8位色彩通道为例,对于羽化区域中的任一像素点,移动终端可以通过下述公式(1)和公式(2)确定该像素点对应的混合发色值。
f(a,b)=2ab+a2·(1-2b),a<0.5 (1)
其中,f(a,b)为像素点对应的混合发色值,a为像素点的灰度值与255的比值,b为目标发色值与255的比值。
需要说明的是,上述公式(1)和公式(2)仅为本发明实施例提供的一种示例,上述公式(1)和公式(2)并不对本发明构成限定。
例如,移动终端可以通过上述公式(1)和公式(2),将目标发色值B-fsz分别与羽化区域B-b中各个像素点的灰度值进行颜色混合,得到羽化区域B-b中各个像素点对应的混合发色值B-hh。
步骤207,对于羽化区域中的任一像素点,将该像素点的原始像素值替换为该像素点对应的混合发色值。
在本发明实施例中,对于羽化区域中的任一像素点,移动终端可以将该像素点的原始像素值替换为该像素点对应的混合发色值,从而能够实现图像人物的发色调节,且调节后的发色与图像人物肤色的匹配度较高,同时,由于调节后的发色基于图像人物肤色选取,从而调节后的发色与图像整体的色彩和谐度较高。
另外,由于头发区域对应的羽化区域可以通过对该头发区域进行高斯模糊计算得到,因此,羽化区域相比于头发区域,其边缘更加平滑柔和,粗糙的细节较少,因此,移动终端对羽化区域内的像素点进行处理,可以使新发色区域的边缘更加自然。
当然,在实际应用中,移动终端也可以直接在步骤204之后执行下述步骤,包括:将目标发色值分别与头发区域中各个像素点的灰度值进行颜色混合,得到头发区域中各个像素点对应的混合发色值;对于头发区域中的任一像素点,将该像素点的原始像素值替换为该像素点对应的混合发色值。也即移动终端可以直接对头发区域进行发色混合,本发明实施例对于移动终端处理头发区域还是羽化区域不作具体限定。
例如,对于羽化区域B-b中的任一像素点,移动终端将该像素点的原始像素值替换为该像素点对应的混合发色值B-hh,从而对该像素点的发色进行调节。
在本发明实施例中,移动终端首先可以基于肤色和与其匹配的发色建立发色匹配模型,然后可以通过该发色匹配模型,确定与原始图像人物的肤色相匹配的发色值,进而可以根据该发色值,对人物头发区域对应的羽化区域进行处理,从而能够提高调节后的发色与图像人物之间的匹配度,以及提高发色与图像之间的色彩和谐度。
实施例三
参照图3,示出了本发明实施例三的一种图像处理装置300的结构框图,具体可以包括:
确定模块301,用于当获取到原始图像时,确定所述原始图像中的肤色区域和头发区域;
第一获取模块302,用于根据所述肤色区域的肤色属性信息,获取对应的发色属性信息;
处理模块303,用于根据所述发色属性信息,对所述头发区域进行处理。
可选的,参照图4,所述第一获取模块302包括:
确定子模块3021,用于确定所述肤色区域的平均肤色值;
获取子模块3022,用于获取所述平均肤色值对应的目标发色值;
相应的,所述处理模块303包括:
处理子模块3031,用于根据所述目标发色值,对所述头发区域进行处理。
可选的,参照图4,所述图像处理装置300还包括:
第二获取模块304,用于获取预设个数的样本图像;
第三获取模块305,用于获取每个样本图像对应的样本平均肤色值,以及每个样本平均肤色值对应的样本目标发色值;
构建模块306,用于构建发色匹配模型;
训练模块307,用于以所述样本平均肤色值和所述样本目标发色值为输入参数,对发色匹配模型进行训练,得到训练后的发色匹配模型;
相应的,参照图5,所述获取子模块3022包括:
确定单元30221,用于通过所述训练后的发色匹配模型,确定与所述肤色区域的平均肤色值相匹配的目标发色值。
可选的,参照图4,所述处理模块303还包括:
模糊子模块3032,用于对所述头发区域的透明度图层进行高斯模糊计算,得到所述头发区域对应的羽化区域。
可选的,参照图6,所述处理子模块3031包括:
混合单元30311,用于将所述目标发色值分别与所述羽化区域中各个像素点的灰度值进行颜色混合,得到所述羽化区域中各个像素点对应的混合发色值;
替换单元30312,用于对于所述羽化区域中的任一像素点,将所述像素点的原始像素值替换为所述像素点对应的混合发色值。
在本发明实施例中,移动终端可以通过第一获取模块获取与原始图像人物的肤色属性信息相对应的发色属性信息,进而可以根据该发色属性信息,通过处理模块对人物的头发区域进行处理,从而能够提高调节后的发色与图像人物之间的匹配度,以及提高发色与图像之间的色彩和谐度。
实施例四
图7为实现本发明各个实施例的一种移动终端的硬件结构示意图,
该移动终端700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,图7中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器710,用于当获取到原始图像时,确定所述原始图像中的肤色区域和头发区域;根据所述肤色区域的肤色属性信息,获取对应的发色属性信息;根据所述发色属性信息,对所述头发区域进行处理。
在本发明实施例中,移动终端可以确定与原始图像人物的肤色属性信息相对应的发色属性信息,进而可以根据该发色属性信息对人物的头发区域进行处理,从而能够提高调节后的发色与图像人物之间的匹配度,以及提高发色与图像之间的色彩和谐度。
应理解的是,本发明实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与移动终端700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(Graphics Processing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
移动终端700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在移动终端700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元706用于显示由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板7061。
用户输入单元707可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。虽然在图7中,触控面板7071与显示面板7061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元708为外部装置与移动终端700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端700内的一个或多个元件或者可以用于在移动终端700和外部装置之间传输数据。
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器710是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
移动终端700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端700包括一些未示出的功能模块,在此不再赘述。
实施例五
优选的,本发明实施例还提供一种移动终端,包括处理器710,存储器709,存储在存储器709上并可在所述处理器710上运行的计算机程序,该计算机程序被处理器710执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
实施例六
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。