智能电视机的显存图像识别方法及装置技术领域
本发明涉及图像处理领域,尤其涉及一种智能电视机的显存图像识别方
法及装置。
背景技术
智能电视,是具有全开放式平台,搭载了操作系统,用户在欣赏普通电
视内容的同时,可自行安装和卸载各类应用软件,持续对功能进行扩充和升
级的新电视产品。智能电视能够不断给用户带来有别于使用有线数字电视接
收机(机顶盒)的、丰富的个性化体验。其中,通过智能电视机玩游戏,就
是其中最受欢迎的体验;现有的通过智能电视机玩游戏,需要游戏玩家时刻
紧盯游戏,以便在需要操作时及时进行指令下发,以进行游戏或者继续流程;
这往往使得游戏玩家为了不错过重要场景,以放弃自身生理需求为代价,或
者长时间精神高度集中,威胁游戏玩家的身体健康。有没有一种方法,可以
在重要场景来临时,让玩家感知到。现有的智能电视还不能够感知电视内容。
发明内容
本发明的目的是,提供一种智能电视机的显存图像识别方法及装置,以
使得在用户想要知道的帧到来时,及时感知。
本发明公开了一种智能电视机的显存图像识别方法,上述方法在智能电
视机上有游戏类应用启动时,执行以下步骤:
步骤一:获取上述应用的包名及智能电视机的分辨率;
步骤二:根据上述包名及分辨率,从云端获取预存的待识别图片及其属
性;
步骤三:从显存中逐帧读取图片;
步骤四:从上述读取的图片中截取与当前待识别图片的起始位置及尺寸
相同的子图片;
步骤五:根据上述子图片与当前待识别图片的图像相似度是否大于等于
预设值,和/或上述子图片的文字色彩占比是否与待识别图片的文字色彩占比
相同,对当前待识别图片进行识别。
上述方法中,上述待识别图片包括图像图片和/或文字图片,上述图像图
片属性包括图片起始位置及尺寸;上述文字图片属性包括图片起始位置、尺
寸及文字色彩占比。
上述方法中,上述方法通过如下步骤计算子图片与当前待识别图片的图
像相似度:
计算上述子图片及当前待识别图片的灰色直方图;
计算上述灰色直方图的巴氏系数,得到上述子图片与当前待识别图片的
图像相似度。
上述方法中,上述步骤五具体包括以下步骤:
步骤a:判断当前待识别图片的类型;若当前待识别图片为图像图片,则
执行步骤b;若当前待识别图片为文字图片,则执行步骤c;若当前待识别图
片包括图像图片和文字图片,则执行步骤d;
步骤b:计算子图片与当前待识别图片的图像相似度,并判断上述相似
度是否大于等于预设值,若是,则当前待识别图片识别成功,转入步骤l;否
则,执行步骤k;
步骤c:计算子图片的文字色彩占比,并判断是否与当前待识别图片的文
字色彩占比相同,若是,则当前待识别图片识别成功,转入步骤l;否则,执
行步骤k;
步骤d:读取预设的识别方式,若为图像优先,则执行步骤e;若为文字
优先,则执行步骤g;若为图像和文字同优先级,则执行步骤i;
步骤e:计算子图片与当前待识别图片的图像相似度,并判断上述相似度
是否大于等于预设值,若是,则当前待识别图片识别成功,转入步骤l;否则,
执行步骤f;
步骤f:计算子图片的文字色彩占比,并判断是否与当前待识别图片的文
字色彩占比相同,若是,则当前待识别图片识别成功,转入步骤l;否则,执
行步骤k;
步骤g:计算子图片的文字色彩占比,并判断是否与当前待识别图片的
文字色彩占比相同,若是,则当前待识别图片识别成功,转入步骤l;否则,
执行步骤h;
步骤h:计算子图片与当前待识别图片的图像相似度,并判断上述相似
度是否大于等于预设值,若是,则当前待识别图片识别成功,转入步骤l;否
则,执行步骤k;
步骤i:计算子图片与当前待识别图片的图像相似度,并判断上述相似度
是否大于等于预设值,若是,则执行步骤j;否则,执行步骤k;
步骤j:计算子图片的文字色彩占比,并判断是否与当前待识别图片的文
字色彩占比相同,若是,则当前待识别图片识别成功,转入步骤l;否则,执
行步骤k;
步骤k:判断当前识别的图片是否是待识别图片中的最后一个,若是,
则执行步骤l;否则,对下一个待识别图片转入步骤四执行;
步骤l:读取显存中的下一帧图片,对剩余待识别图片转入步骤四执行。
上述方法中,上述图片的灰色直方图通过如下步骤计算:
根据图片的长和宽,计算图片的像素点总数及每个像素点的pixel值,再
根据每个像素点的pixel值,计算红(r=(pixel>>16)&0xFF)、绿(g=(pixel>>8)
&0xFF)、蓝(b=(pixel>>0)&0xFF)在pixel值中的比例值,然后根据公式:
color=0.299*r+0.587*g+0.114*b
计算当前像素的灰化色彩值color;
其中,r为红在当前像素点的pixel值中的比例值;g为绿在当前像素点
的pixel值中的占比值;b为绿在当前像素点的pixel值中的比例值;
计算当前像素的灰化色彩值color在像素点总数中的比例值;
图片的所有像素的灰化色彩值color在像素点总数中的比例值组成该图
片的灰色直方图。
上述方法中,上述巴氏系数通过如下公式计算:
其中,i为灰色直方图中元素的序号,其初始值为0;n为灰色直方图的
长度;ai表示子图片灰色直方图中的第i个元素;bi表示待识别图片的灰色
直方图中的第i个元素。
本发明进一步公开了一种智能电视机的显存图像识别装置,上述装置包
括监测模块、数据处理模块及图片识别模块,其中,上述
检测模块,用于监测智能电视是否有游戏类应用启动,并在有游戏类应
用启动时,通知上述数据处理模块;
数据处理模块:用于获取应用的包名及智能电视机的分辨率;并根据上
述包名及分辨率,从云端获取预存的待识别图片及其属性;
图片识别模块,用于从显存中逐帧读取图片;并从上述读取的图片中截
取与当前待识别图片的起始位置及尺寸相同的子图片;以及根据上述子图片
与当前待识别图片的图像相似度是否大于等于预设值,和/或上述子图片的文
字色彩占比是否与待识别图片的文字色彩占比相同,对当前待识别图片进行
识别。
上述方法中,上述图片识别模块还用于计算子图片及当前待识别图片的
灰色直方图及灰色直方图的巴氏系数;以及用于判断当前待识别图片的类型
及预设的识别方式。
本发明在无需修改应用的情况下,即可感知电视内容,进而为未来发生
动作的处理提供预备;使得智能电视更加智能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部
分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的
不当限定。在附图中:
图1是本发明所述智能电视机的显存图像识别方法优选实施例的流程
图;
图2是本发明所述智能电视机显存图像识别装置的优选实施例的原理框
图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明
白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此
处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明所述智能电视机的显存图像识别方法优选实施例
的流程图;本实施例中,智能电视采用android系统;具体包括以下步骤:
步骤S001:监测智能电视机上是否有游戏类应用启动,若是,则执行步
骤S002;否则,继续执行本步骤;
步骤S002:获取上述应用的包名及电视机分辨率;
步骤S003:根据上述包名及分辨率,从云端获取预存的待识别图片及其
属性;
待识别图片包括图像图片和/或文字图片,上述图像图片属性包括图片起
始位置及尺寸;上述文字图片属性包括图片起始位置、尺寸及文字色彩占比。
本步骤可将从云端获取的待识别图片及其属性保存到本地;
步骤S004:从显存中逐帧读取图片;
步骤S005:从当前读取的图片中截取与当前待识别图片的起始位置及尺
寸相同的子图片;
步骤S006:根据子图片与当前待识别图片的图像相似度是否大于等于预
设值,和/或上述子图片的文字色彩占比是否与待识别图片的文字色彩占比相
同,识别当前待识别图片;本步骤具体包括以下步骤:
步骤S0061:判断当前待识别图片的类型;若当前待识别图片为图像图
片,则执行步骤S0062;若当前待识别图片为文字图片,则执行步骤S0063;
若当前待识别图片包括图像图片和文字图片,则执行步骤S0064;
步骤S0062:计算子图片与当前待识别图片的图像相似度,并判断上述
相似度是否大于等于预设值S,若是,则当前待识别图片识别成功,当前待
识别图片处理结束;否则,当前待识别图片识别失败,当前待识别图片处理
结束;
本发明通过如下步骤计算子图片与当前待识别图片的图像相似度p:
计算上述子图片及当前待识别图片的灰色直方图;灰色直方图的具体计
算过程如下:
根据图片的长和宽,计算图片的像素点总数及每个像素点的pixel值,再
根据每个像素点的pixel值,计算红(r=(pixel>>16)&0xFF)、绿(g=(pixel>>8)
&0xFF)、蓝(b=(pixel>>0)&0xFF)在pixel值中的比例值,然后根据公式
color=0.299*r+0.587*g+0.114*b
计算当前像素的灰化色彩值color,其中,r为红在当前像素点的pixel值
中的比例值;g为绿在当前像素点的pixel值中的占比值;b为绿在当前像素
点的pixel值中的比例值;
最后计算当前像素的灰化色彩值color在像素点总数中的比例值;
所有像素的灰化色彩值color在像素点总数中的比例值组成数组L,L即
为图片的灰色直方图。
根据子图片及当前待识别图片的灰色直方图及如下公式:
计算上述子图片与当前待识别图片的巴氏系数P,P值即为上述子图片与
当前待识别图片的图像相似度;
其中,i为灰色直方图中元素的序号,其初始值为0;n为灰色直方图的
长度;ai表示子图片灰色直方图中的第i个元素;bi表示待识别图片的灰色
直方图中的第i个元素;由于子图片和当前待识别图片的大小相同,故他们
的灰色直方图的长度n相同;
步骤S0063:计算子图片的文字色彩占比,并判断是否与当前待识别图
片的文字色彩占比相同,若是,则当前待识别图片识别成功,当前待识别图
片处理结束;否则,当前待识别图片识别失败,当前待识别图片处理结束;
子图片的文字色彩占比即为子图片中与当前待识别图片中的文字色彩相
同的色彩占上述子图片的百分比;
步骤S0064:查看预设的识别方式,若为图像优先,则执行步骤S0065;
若为文字优先,则执行步骤S0067;若为图像和文字同优先级,则执行步骤
S0069;
步骤S0065:计算子图片与当前待识别图片的图像相似度,并判断上述
相似度是否大于等于预设值S,若是,则当前待识别图片识别成功,当前待
识别图片处理结束;否则,执行步骤S0066;
步骤S0066:计算子图片的文字色彩占比,并判断是否与当前待识别图
片的文字色彩占比相同,若是,则当前待识别图片识别成功,当前待识别图
片处理结束;否则,当前待识别图片识别失败,当前待识别图片处理结束;
步骤S0067:计算子图片的文字色彩占比,并判断是否与当前待识别图
片的文字色彩占比相同,若是,则当前待识别图片识别成功,当前待识别图
片处理结束;否则,执行步骤S0068;
步骤S0068:计算子图片与当前待识别图片的图像相似度,并判断上述
相似度是否大于等于预设值S,若是,则当前待识别图片识别成功,当前待
识别图片处理结束;否则,当前待识别图片识别失败,当前待识别图片处理
结束;
步骤S0069:计算子图片与当前待识别图片的图像相似度,并判断上述
相似度是否大于等于预设值S,若是,则执行步骤S0070;否则,当前待识别
图片识别失败,当前待识别图片处理结束;
步骤S0070:计算子图片的文字色彩占比,并判断是否与当前待识别图
片的文字色彩占比相同,若是,则当前待识别图片识别成功,当前待识别图
片处理结束;否则,当前待识别图片识别失败,当前待识别图片处理结束;
步骤S007:判读是否识别成功,若是,则执行步骤S008;否则,执行步
骤S009;
步骤S008:读取显存中的下一帧图片,并对剩余的待识别图片转入步骤
S005执行;
步骤S009:判断当前识别的图片是否是待识别图片中的最后一个,若是,
则执行步骤S008;否则,执行步骤S010;
步骤S010:对下一个待识别图片转入步骤S005执行。
如图2所示,是本发明上述智能电视机显存图像识别装置的优选实施例
的原理框图;本实施例包括监测模块10、数据处理模块20及图片识别模块
30,其中,上述
检测模块10,用于监测智能电视是否有游戏类应用启动,并在有游戏类
应用启动时,通知数据处理模块20;
数据处理模块20:用于获取应用的包名及智能电视机的分辨率;并根据
上述包名及分辨率,从云端获取预存的待识别图片及其属性;
图片识别模块30,用于从显存中逐帧读取图片;并从上述读取的图片中
截取与当前待识别图片的起始位置及尺寸相同的子图片;计算子图片及当前
待识别图片的灰色直方图及灰色直方图的巴氏系数;判断当前待识别图片的
类型及预设的识别方式;以及根据当前待识别图片的类型、预设的识别方式
及子图片与当前待识别图片的图像相似度是否大于等于预设值和/或上述子
图片的文字色彩占比是否与待识别图片的文字色彩占比相同,对当前待识别
图片进行识别。
上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本
发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可
用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过
上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和
变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围
内。