发明内容
有鉴于此,本发明实施例提供一种识别用户年龄的方法、装置及电子设备,可以解决用户必须手动输入年龄的问题。
第一方面,本发明实施例提供一种识别用户年龄的方法,所述方法应用于电子设备,所述方法包括:
获取用户的人像图片;
根据预设的人像特征从所述人像图片上确定多个像素点;
从所述多个像素点中确定多个关键像素点;
确定与第一关键像素点相邻的多个像素点,根据所述第一关键像素点的灰度值和与所述第一关键像素点相邻的多个像素点的灰度值,计算所述第一关键像素点对应的年龄特征值;其中,所述第一关键像素点为所述多个关键像素点中任一像素点;
根据每个关键像素点对应的年龄特征值的平均值,确定所述用户的年龄。
结合第一方面,在第一方面的第一种实施方式中,所述从所述多个像素点中确定多个关键像素点,具体包括:将所述多个像素点映射为二维矩阵;将所述二维矩阵除边缘元素之外的其他元素对应的像素点,确定为关键像素点。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述确定与所述第一关键像素点相邻的多个像素点,具体包括:将所述二维矩阵中坐标为(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)的元素对应的像素点作为与所述第一关键像素点相邻的像素点,其中,(i,j)为所述第一关键像素点在所述二维矩阵中的坐标。
结合第一方面,在第一方面的第三种实施方式中,所述根据所述第一关键像素点的灰度值和与所述第一关键像素点相邻的多个像素点的灰度值,计算所述第一关键像素点对应的年龄特征值,具体包括:将所述第一关键像素点的灰度值分别和与所述第一关键像素点相邻的多个像素点的灰度值进行比较;若与所述第一关键像素点相邻的像素点的灰度值不小于所述第一关键像素点的灰度值,则将与所述第一关键像素点相邻的像素点对应的灰度特征值记为第一值;若与所述第一关键像素点相邻的像素点的灰度值小于所述第一关键像素点的灰度值,则将与所述第一关键像素点相邻的像素点对应的灰度特征值记为第二值;确定与所述第一关键像素点相邻的多个像素点中灰度特征值为第一值的像素点个数;将所述灰度特征值为第一值的像素点个数乘以预设的系数得到的数值确定为所述第一关键像素点对应的年龄特征值。
结合第一方面,在第一方面的第四种实施方式中,在所述根据每个关键像素点对应的年龄特征值的平均值,确定所述用户的年龄之后,所述方法还包括:根据所述用户的年龄,向所述用户推送预设的与所述年龄相对应的信息。
在第二方面,本发明实施例提供一种识别用户年龄的装置,所述装置应用于电子设备,所述装置包括:
获取单元,用于获取用户的人像图片;
第一确定单元,用于根据预设的人像特征从所述人像图片上确定多个像素点;
第二确定单元,用于从所述多个像素点中确定多个关键像素点;
计算单元,用于确定与第一关键像素点相邻的多个像素点,根据所述第一关键像素点的灰度值和与所述第一关键像素点相邻的多个像素点的灰度值,计算所述第一关键像素点对应的年龄特征值;其中,所述第一关键像素点为所述多个关键像素点中任一像素点;
第三确定单元,用于根据每个关键像素点对应的年龄特征值的平均值,确定所述用户的年龄。
结合第二方面,在第二方面的第一种实施方式中,所述第二确定单元具体用于:将所述多个像素点映射为二维矩阵;将所述二维矩阵除边缘元素之外的其他元素对应的像素点,确定为关键像素点。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述计算单元确定与所述第一关键像素点相邻的多个像素点的过程,具体包括:所述计算单元将所述二维矩阵中坐标为(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)的元素对应的像素点作为与所述第一关键像素点相邻的像素点,其中,(i,j)为所述第一关键像素点在所述二维矩阵中的坐标。
结合第二方面,在第二方面的第三种实施方式中,所述计算单元根据所述第一关键像素点的灰度值和与所述第一关键像素点相邻的多个像素点的灰度值,计算所述第一关键像素点对应的年龄特征值的过程,具体包括:所述计算单元将所述第一关键像素点的灰度值分别和与所述第一关键像素点相邻的多个像素点的灰度值进行比较;若与所述第一关键像素点相邻的像素点的灰度值不小于所述第一关键像素点的灰度值,则所述计算单元将与所述第一关键像素点相邻的像素点对应的灰度特征值记为第一值;若与所述第一关键像素点相邻的像素点的灰度值小于所述第一关键像素点的灰度值,则所述计算单元将与所述第一关键像素点相邻的像素点对应的灰度特征值记为第二值;所述计算单元确定与所述第一关键像素点相邻的多个像素点中灰度特征值为第一值的像素点个数;所述计算单元将所述灰度特征值为第一值的像素点个数乘以预设的系数得到的数值确定为所述第一关键像素点对应的年龄特征值。
结合第二方面,在第二方面的第四种实施方式中,所述装置还包括:推送单元,用于根据所述用户的年龄,向所述用户推送预设的与所述年龄相对应的信息。
在第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行如下操作:
获取用户的人像图片;
根据预设的人像特征从所述人像图片上确定多个像素点;
从所述多个像素点中确定多个关键像素点;
确定与第一关键像素点相邻的多个像素点,根据所述第一关键像素点的灰度值和与所述第一关键像素点相邻的多个像素点的灰度值,计算所述第一关键像素点对应的年龄特征值;其中,所述第一关键像素点为所述多个关键像素点中任一像素点;
根据每个关键像素点对应的年龄特征值的平均值,确定所述用户的年龄。
第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种识别用户年龄的方法。
第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种识别用户年龄的方法。
本发明实施例提供的一种识别用户年龄的方法、装置及电子设备,电子设备在获取用户的人像图片之后,根据人像图片上的关键像素点的灰度值和与关键像素点相邻的多个像素点的灰度值,确定用户的年龄。上述技术方案可根据用户的人像图片自动识别用户的年龄,从而省去用户手动输入年龄的过程,提高用户体验。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明的实施例提供的一种识别用户年龄的方法的流程示意图。该识别用户年龄的方法可以应用于电子设备。
如图1所示,本实施例的方法可以包括:
步骤101,获取用户的人像图片。
本实施例中,电子设备可以将用户上传的照片作为用户的人像图片,如,用户上传的头像图片。
本实施例中,电子设备还可以通过图像采集装置,如摄像头,获取当前正在使用电子设备的用户的照片,将获取的照片作为用户的人像图片。
步骤102,根据预设的人像特征从该人像图片上确定多个像素点。
本实施例中,预设的人像特征可以包括但不限于:眼睛,眉毛,鼻子,嘴巴,脸部轮廓等。电子设备根据预设的人像特征从人像图片上分别获取每个人像特征对应的像素点作为确定的多个像素点,每个人像特征对应的像素点的获取方式可采用任意的现有方式,本申请不做任何限制。
步骤103,从多个像素点中确定多个关键像素点。
本实施例中,电子设备可以将确定的多个像素点映射为一个二维矩阵。然后将该二维矩阵除边缘元素之外的其他元素对应的像素点,确定为关键像素点。
在一个例子中,图2为该多个像素点映射的一个二维矩阵,其中,每个P元素对应一个像素点,则图2中,除P00所在行和所在列、Pij所在行和所在列的元素之外的其他元素对应的像素点即为关键像素点。
步骤104,确定与第一关键像素点相邻的多个像素点,根据该关键像素点的灰度值和与该关键像素点相邻的多个像素点的灰度值,计算该关键像素点对应的年龄特征值。
其中,第一关键像素点为步骤103中确定的多个关键像素点中任一像素点。
在本实施例中,电子设备确定与第一关键像素点相邻的多个像素点的过程,可以具体包括:
将多个像素点映射的二维矩阵中坐标为(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)的元素对应的像素点作为与第一关键像素点相邻的像素点,其中,(i,j)为第一关键像素点在所述二维矩阵中的坐标。
依然以图2为例,可将每个P元素的下角标作为该元素在该二维矩阵中的坐标。以P34对应的像素点为例,按照步骤103中确定关键像素点的方式,P34对应的像素点为关键像素点,则P23、P24、P25、P33、P35、P43、P44、P45对应的像素点即为与P34对应的关键像素点相邻的像素点。
在本实施例中,电子设备根据第一关键像素点的灰度值和与第一关键像素点相邻的多个像素点的灰度值,计算第一关键像素点对应的年龄特征值的过程,可以具体包括:
将第一关键像素点的灰度值分别和与第一关键像素点相邻的多个像素点的灰度值进行比较;若与第一关键像素点相邻的像素点的灰度值不小于第一关键像素点的灰度值,则将与第一关键像素点相邻的像素点对应的灰度特征值记为第一值;若与第一关键像素点相邻的像素点的灰度值小于第一关键像素点的灰度值,则将与第一关键像素点相邻的像素点对应的灰度特征值记为第二值;确定与第一关键像素点相邻的多个像素点中灰度特征值为第一值的像素点个数;将灰度特征值为第一值的像素点个数乘以预设的系数得到的数值确定为第一关键像素点对应的年龄特征值。
其中,每个像素点的灰度值的获取可采用任意的现有方式,本发明不做任何限制。
在本实施例中,第一值和预设的系数可以根据经验值按比例设置,而第二值可以为任意数值。优选地,根据经验值将第一值与预设系数的积为10时,最为合理,因此可以将第一值设置为1,第二值设置为0,预设的系数设置为10。
依然以图2中的元素P34为例,假设第一值设置为1,第二值设置为0,预设的系数设置为10。
电子设备获取P34对应的关键像素点的灰度值、及与P34对应的关键像素点相邻的P23、P24、P25、P33、P35、P43、P44、P45对应的像素点的灰度值。假设,P34、P23、P24、P25、P33、P35、P43、P44、P45对应的像素点的灰度值分别为:20、18、22、10、11、25、52、7、50,则与P34对应的关键像素点相邻的P23、P24、P25、P33、P35、P43、P44、P45对应的像素点的灰度特征值分别为0、1、0、0、1、1、0、1。其中,灰度特征值为1的像素点的个数为4,则P34对应的关键像素点对应的年龄特征值即为4×10=40。
步骤105,根据每个关键像素点对应的年龄特征值的平均值,确定用户的年龄。
本实施例中,终端设备在确定每个关键像素点对应的年龄特征值之后,取所有关键像素点对应的年龄特征值的平均值,将该平均值确定为用户的年龄。
本实施例中,在步骤105之后,该方法还包括:
根据确定的用户的年龄,向用户推送预设的与该年龄相对应的信息。
通过使用本发明实施例提供的识别用户年龄的方法,电子设备在获取用户的人像图片之后,根据人像图片上的关键像素点的灰度值和与关键像素点相邻的多个像素点的灰度值,确定用户的年龄。上述技术方案可根据用户的人像图片自动识别用户的年龄,从而省去用户手动输入年龄的过程,提高用户体验。
图3为本发明实施例提供的一种识别用户年龄的装置的结构示意图。该装置可以应用于电子设备。
如图3所示,本实施例的装置可以包括:获取单元310,第一确定单元320,第二确定单元330、计算单元340和第三确定单元350。
获取单元310用于获取用户的人像图片。
第一确定单元320用于根据预设的人像特征从获取单元310获取的人像图片上确定多个像素点。
第二确定单元330用于从第一确定单元320确定的多个像素点中确定多个关键像素点。
在本实施例中,第二确定单元330具体用于:将第一确定单元320确定的多个像素点映射为二维矩阵;将该二维矩阵除边缘元素之外的其他元素对应的像素点,确定为关键像素点。
计算单元340用于确定与第一关键像素点相邻的多个像素点,根据第一关键像素点的灰度值和与第一关键像素点相邻的多个像素点的灰度值,计算第一关键像素点对应的年龄特征值。
其中,第一关键像素点为第二确定单元330确定的多个关键像素点中任一像素点。
在本实施例中,计算单元340确定与第一关键像素点相邻的多个像素点的过程,具体包括:
计算单元340将二维矩阵中坐标为(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)的元素对应的像素点作为与第一关键像素点相邻的像素点,其中,(i,j)为第一关键像素点在所述二维矩阵中的坐标。
计算单元340根据第一关键像素点的灰度值和与第一关键像素点相邻的多个像素点的灰度值,计算第一关键像素点对应的年龄特征值的过程,具体包括:
计算单元340将第一关键像素点的灰度值分别和与第一关键像素点相邻的多个像素点的灰度值进行比较;若与第一关键像素点相邻的像素点的灰度值不小于第一关键像素点的灰度值,则所述计算单元将与第一关键像素点相邻的像素点对应的灰度特征值记为第一值;与第一关键像素点相邻的像素点的灰度值小于第一关键像素点的灰度值,则所述计算单元将与第一关键像素点相邻的像素点对应的灰度特征值记为第二值;所述计算单元确定与第一关键像素点相邻的多个像素点中灰度特征值为第一值的像素点个数;所述计算单元将所述灰度特征值为第一值的像素点个数乘以预设的系数得到的数值确定为第一关键像素点对应的年龄特征值。
第三确定单元350用于根据每个关键像素点对应的年龄特征值的平均值,确定用户的年龄。
如图4所示,该识别用户年龄的装置还可以包括:推送单元360。
推送单元360用于根据第三确定单元350确定的用户的年龄,向用户推送预设的与该年龄相对应的信息。
通过使用本发明实施例提供的识别用户年龄的装置,电子设备在获取用户的人像图片之后,根据人像图片上的关键像素点的灰度值和与关键像素点相邻的多个像素点的灰度值,确定用户的年龄。上述技术方案可根据用户的人像图片自动识别用户的年龄,从而省去用户手动输入年龄的过程,提高用户体验。
图3和图4所示的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种电子设备。图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1所示实施例的流程,如图5所示,上述电子设备可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的文件处理方法。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类电子设备包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类电子设备包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种识别用户年龄的方法。
本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种识别用户年龄的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。