[发明专利]一种借鉴昆虫触角功能在手游脸谱中实现器官定位的方法有效
申请号: | 201410153206.8 | 申请日: | 2014-04-17 |
公开(公告)号: | CN103902986B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 彭革刚;郭颖;吴晓荣;张献;陈之辉;彭可;石猛;封模春 | 申请(专利权)人: | 拓维信息系统股份有限公司 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/62 |
代理公司: | 长沙市融智专利事务所43114 | 代理人: | 黄美成 |
地址: | 410205 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 借鉴 昆虫 触角 功能 在手 脸谱 实现 器官 定位 方法 | ||
1.一种借鉴昆虫触角功能在手游脸谱中实现器官定位的方法,其特征在于,包括以下步骤:
步骤一:针对手游脸谱的彩色原图,设定脸部的大致范围;
步骤二:基于颜色感器实现双眼定位及嘴唇定位;
(1)双眼定位:
采用黝黑感器,从上向下定位彩色原图中两瞳孔的垂直区间,再从左向右定位左眼的水平区间,继而从右向左定位右眼的水平区间;完成双眼定位;
所述的黝黑感器用以感知相邻行或相邻列的亮度均值的突变;
(2)嘴唇定位:
采用亮红感器,从上向下定位彩色原图中嘴唇的垂直区间,再从左向右定位左嘴角的水平位置,继而从右向左定位右嘴角的水平位置;完成嘴唇定位;
所述的亮红感器用以感知相邻行或相邻列的在红色分量基本不变的情况下蓝色分量或绿色分量发生的突变;基本不变是指突变量小于10%;
所述的步骤一中,在彩色原图上大致地划定一个矩形的脸部检测区域FaceArea:眉毛以下、下巴以上,包括左右双眼;脸部检测区域FaceArea的4条边界即左边界、右边界、上边界和下边界的坐标分别记为做编FaceAreaLeft、FaceAreaRight、FaceAreaTop和FaceAreaBottom;
所述的双眼定位过程为:
步骤1、从上向下,发现定位黑色像素局部密集的黑色相邻行,即界定一个黑色像素局部密集的相邻行,得到Y的起止坐标;
步骤2、在上述Y的起止坐标限定的区间内,从左至右或从右至左发现、定位黑色像素局部密集的黑色相邻列,得到X的起止坐标;
经过步骤1、步骤2就界定了一个黑色像素局部密集的黑色团块,分别用X、Y的起止坐标界定它的区间;
所述的步骤1是指定位双眼上下边界EyesTop和EyesBottom:
Step 1、设定从FaceAreaTop到FaceAreaBottom高度为H,从FaceAreaLeft到FaceAreaRight宽度为W的检测区域,其中,H=FaceAreaTop-FaceAreaBottom,W=FaceAreaRight-FaceAreaLeft;
Step2、按公式Y=(0.257*R+0.504*G+0.098*B)+16将检测区域中像素的RGB数值变换为Y值;
Step3、对检测区域从上向下扫描,求得各行的Y均值,并按照行号存入一个名为TB_Project的数组中,TB_Project数组有H个单元;再建立一个名为TB_DProject的数组,并存放相邻行Y均值之差;
扫描TB_DProject数组,得到其极大值和极小值所在行号,这两个行号就是黑色团块的起始行号YTop和终止行号YBottom;
同时检验TB_Project极小值所在行号,它在Ytop和Ybottom之间;
并将Ytop改称为EyesTop,Ybottom改称为EyesBottom;
所述的步骤2是指定位左右眼的X边界,
(A)左眼X边界检测:
Step 1、将FaceArea水平方向的中心边界记为FaceAreaX_Middle;
检测左眼时从FaceAreaLeft开始前进到FaceAreaX_Middle宽度为W1,从EyesTop到EyesBottom高度为H1的检测区域;W1=FaceAreaX_Middle-FaceAreaLeft;
Step2、按公式Y=(0.257*R+0.504*G+0.098*B)+16将检测区域中像素的RGB数值变换为Y值;
Step3、对检测区域从左向右扫描,求得各列的Y均值,并按照列号存入一个名为Left_Project的数组中,再建立一个名为Left_DProject的数组,并存放相邻列均值之差;
Step4、扫描Left_DProject数组,得到其极大值和极小值所在列号,这两个列号就是黑色团块的起始列号XLeft和终止列号XRight;
Step5、将XLeft改称为LEyeLeft,XRight改称为LEyeRight;
(B)右眼X边界检测:
Step 1、将FaceArea水平方向的中心边界记为FaceAreaX_Middle;
检测右眼时从FaceAreaX_Middle开始,前进到FaceAreaRight宽度为W2,从EyesTop到EyesBottom高度为H1的检测区域;W2=FaceAreaRight-FaceAreaX_Middle;
Step2、按公式Y=(0.257*R+0.504*G+0.098*B)+16将检测区域中像素的RGB数值变换为Y值;
Step3、对检测区域从左向右扫描,求得各列的Y均值,并按照列号存入一个名为Right_Project的数组中,再建立一个名为Right_DProject的数组,并存放相邻列均值之差;
Step4、扫描Right_DProject数组,得到其极大值和极小值所在列号,这两个列号就是黑色团块的起始列号XLeft和终止列号XRight;
Step5、并将XLeft改称为REyeLeft,XRight改称为REyeRight;
所述的嘴唇定位包括定位嘴唇上边界LipTop、嘴唇下边界LipBottom、左嘴角边界LipLeft和右嘴角边界LipRight;
定位嘴唇上边界LipTop和嘴唇下边界LipBottom的过程如下:
设定从Eyesbottom到FaceAreaBottom高度为H2,从FaceAreaLeft到FaceAreaRight宽度为W的检测区域;
对检测区域从上向下扫描获得LipTop,相对的,从下向上扫描获得LipBottom;获得LipTop的过程如下:
求得各行的R、G、B均值,并按照行号分别存入名为Column_ProjectR、Column_ProjectG、Column_ProjectB的三个数组中,显然,它们有H2个单元;再建立三个名称分别为Column_DProjectR、Column_DProjectG、Column_DProjectB的数组,并分别存放相邻行均值之差;
建立各有256个单元的数组Column_Ar、Column_Ag、Column_Ab,并将各单元初始化为0;
遍历各行的各像素,按各像素的R、G、B取值累加地存入数组Column_Ar、Column_Ag、Column_Ab的相应单元中;
记本行均值为Average,每行的RGB分量的均值CAverageR、CAverageG和CAverageB如下:
其中CArR是指某行中包含的红色分量值为R的像素总数;
其中CAgG是指某行中包含的绿色分量值为G的像素总数;
其中CAbB是指某行中包含的蓝色分量值为B的像素总数;
将3个CAverageR、CAverageG和CAverageB存入Column_ProjectR、Column_ProjectG、Column_ProjectB数组相应行号的单元中;
将相邻行均值之差分别存放到Column_DProjectR、Column_DProjectG、Column_DProjectB数组中;
从上至下扫描Column_DProjectG、Column_DProjectB数组,得到其极大值所在行号,将这两个行号相加除2再取整就是红色团块的起始行号LipTop;
从下至上反向地扫描Column_DProjectG、Column_DProjectB数组,得到其极大值所在行号,将这两个行号相加除2再取整就是红色团块的终止行LipBottom;
同时检验Column_ProjectR应该维持基本不变;
定位左嘴角边界LipLeft和右嘴角边界LipRight的过程如下:
检测左嘴角时从FaceAreaLeft开始前进到FaceAreaX_Middle宽度为W1、从LipTop到LipBottom高度为H3的检测区域;
检测右嘴角时从FaceAreaRight开始前进到FaceAreaX_Middle宽度为W2、从LipTop到LipBottom高度为H3的检测区域;
对检测区域从左向右扫描,求得各列的R、G、B均值,并按照列号分别存入名为Line_ProjectR、Line_ProjectG、Line_ProjectB的三个数组中,显然,它们有H3个单元;再建立三个名称分别为Line_DProjectR、Line_DProjectG、Line_DProjectB的数组,并分别存放相邻列均值之差;
具体步骤如下:
SubStep 2a、建立各有256个单元的数组Line_Ar、Line_Ag、Line_Ab并将各单元初始化为0;
SubStep 2b、遍历各列的各像素,按各像素的R、G、B取值累加地存入数组Line_Ar、Line_Ag、Line_Ab的相应单元中;
SubStep 2c、设本列均值为LAverageR、LAverageG、LAverageB,且
其中LArR是指某列中包含的红色分量值为R的像素总数;
其中LAgG是指某列中包含的绿色分量值为G的像素总数;
其中LAbB是指某列中包含的蓝色分量值为B的像素总数;
SubStep 2d、将3个LAverageR、LAverageG、LAverageB存入Line_ProjectR、Line_ProjectG、Line_ProjectB数组相应列号的单元中;
Step 3、将相邻列均值之差存放到Line_DProjectR、Line_DProjectG、Line_DProjectB数组中;
Step 4、从左至右扫描Line_DProjectG、Line_DProjectB数组,得到其极大值所在列号,将这两个列号相加除2再取整就是红色团块的起始列号,即为左嘴角边界LipLeft;
从右左至左扫描Line_DProjectG、Line_DProjectB数组,得到其极大值所在列号,将这两个列号相加除2再取整就是红色团块的起始列号,即为右嘴角边界LipRight;
同时检验Line_ProjectR应该维持基本不变;
至此,用亮红感器定位了嘴唇的区域,该区域的四条边界的对应值分别是LipLeft、LipRight、LipTop和Lipbottom。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于拓维信息系统股份有限公司,未经拓维信息系统股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410153206.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高效率的地板输送分离感应装置
- 下一篇:一种燃气阀