[发明专利]基于深度图的启发式手指检测方法有效
申请号: | 201610823569.7 | 申请日: | 2016-09-14 |
公开(公告)号: | CN107818290B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 唐小军;赵骥伯 | 申请(专利权)人: | 京东方科技集团股份有限公司 |
主分类号: | G06K9/00 | 分类号: | G06K9/00 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 孙之刚;陈岚 |
地址: | 100015 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 深度 启发式 手指 检测 方法 | ||
1.一种手指检测方法,包括:
从用户的深度图中获取手联通域;
计算手联通域的中心点;
计算手联通域中与所述中心点具有3D测地线距离极大值的多个极远点;
从计算的多个极远点中检测手指指尖;
从手指指尖出发检测出手指区域;和
输出指尖位置及手指区域。
2.根据权利要求1所述的方法,其中,从用户的深度图中获取手联通域进一步包括:
用图像生长方法检测用户的深度图中所有的联通域;和
从检测到的联通域中选择深度最小的联通域作为手联通域。
3.根据权利要求2所述的方法,其中,所述图像生长方法进一步包括:对于每一个联通域,执行如下步骤:
建立一个FIFO队列,并选择所述联通域中的一个像素点作为初始像素点放入所述FIFO队列中;
针对所述FIFO队列迭代执行如下操作,一直到所述FIFO队列中没有像素点需要处理为止:
取出所述FIFO队列中的当前像素点;
比较所述当前像素点的深度以及它的4个相邻像素点中没有加入任何联通域的每一个相邻像素点的深度;和
如果相邻像素点与所述当前像素点之间的深度差小于第一阈值Th1,则将所述相邻像素点添加到所述联通域中以及所述FIFO队列中;以及
输出所述联通域。
4.根据权利要求3所述的方法,其中,所述第一阈值Th1取值范围参考值为10-15毫米。
5.根据权利要求1所述的方法,其中,计算手联通域的中心点进一步包括:
计算所述手联通域中所有像素点的X坐标的平均值作为中心点的X坐标;和
计算所述手联通域中所有像素点的Y坐标的平均值作为中心点的Y坐标。
6.根据权利要求5所述的方法,其中,计算手联通域的中心点进一步包括:
如果所述计算得到的中心点不在所述手联通域上,则适当调整所述中心点的位置以便所述中心点位于所述手联通域上。
7.根据权利要求6所述的方法,其中,如果所述计算得到的中心点为所述深度图中的空值点,则所述计算得到的中心点不在所述手联通域上,其中所述空值点为用户的深度图中深度为0的点。
8.根据权利要求1所述的方法,其中,计算手联通域中与所述中心点具有3D测地线距离极大值的多个极远点进一步包括:
S301:构造一个与手联通域同样大小的距离矩阵,该距离矩阵具有与手联通域的像素一一对应的元素;
S302:对于与深度值不为0的像素对应的元素,将该元素的距离值设置为最大值,对于与深度值为0的像素对应的元素,将该元素的距离值设置为一个负数,表示这些点的距离值不需要计算;
S303:将所述中心点作为初始极远点,
S304:将初始极远点在距离矩阵中的对应距离值设置为0,用手联通域中每一个像素点与所述初始极远点和计算出的所有极远点的3D测地线距离中的最小值来更新所述距离矩阵;
S305:确定已更新距离矩阵中距离值最大的点作为计算出的极远点,并将计算出的极远点作为新的初始极远点;
重复执行步骤S304-S305,计算出5-9个极远点。
9.根据权利要求8所述的方法,其中,步骤S4中更新所述距离矩阵进一步包括:
建立一个FIFO队列,将初始极远点添加到该FIFO队列中,针对该FIFO队列迭代执行如下操作,一直到所述FIFO队列中没有像素点需要处理为止:
从所述FIFO队列中取出当前像素点,对于该当前像素点8个邻域点中的每一个邻域点,计算邻域点与该当前像素点之间的三维距离d,如果该邻域点的距离值大于该当前像素点的距离值与所述三维距离d之和,则将该邻域点的距离值设置为该当前像素点的距离值与所述三维距离d之和,并将该邻域点添加到FIFO队列中。
10.根据权利要求8所述的方法,其中,所述最大值为100000毫米。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东方科技集团股份有限公司,未经京东方科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610823569.7/1.html,转载请声明来源钻瓜专利网。