指尖检测的几种新方法

来源:互联网 发布:在淘宝上如何开虚拟店 编辑:程序博客网 时间:2024/05/16 23:24

指尖检测根据应用可以分为单指尖检测和多指尖检测。

下面是我在工作中想到的方法,希望对你有用或提供点儿灵感。

 

单指尖检测新方法:重心距离法

  1. 找到手的区域,我一般用肤色检测
  2. 计算手的区域的重心
  3. 在手的区域的边缘点集中寻找距离重心最远的点,该点即为指尖候选位置
  4. 判断找到的点是否为指尖。判据:候选点到重心的距离大于边缘到重心平均距离的1.6倍,即为指尖;否则不是指尖,也就是说没有手指伸出

 

下面是我在随便挑的几张图片上做的试验

 

下面是我在应用中的试验截图:

说明:红色圆是平均距离;蓝色为重心;绿色表示最远点,其中叉表示该点不是指尖,矩形表示该点是指尖

仔细看图,你会知道该算法的准确度怎么样

 

多指尖检测方法之一:

    1.细化图像,端点就是候选指尖点集:

    2.找出指尖的点。仍然可以用重心距离法,当然这次操作是在候选指尖点集中进行

 

本算法主要用于多指尖检测。

 

 多指尖检测方法之二:

 

 本算法是单指尖检测重心距离法的延伸

算法:找出手的区域的freeman chain code,也就是一个有序的边缘,然后求出其中所有点到重心的距离

相信你看到下图就会迫不及待地想要用自己的方法找到指尖,正好,因为我还没有找到准确度很高的找到指尖的方法。

这里我只是提供一个比较有效地特征,希望对你有用。

对图像的说明:四条线,从下往上,第一条是各点到重心的距离,第二条是第一条线的平滑,第四条是第一条的导数,第三条是第四条的平滑

第一组:

 

第二组:

 

 

多指尖检测方法之三:

使用轮廓


源码http://download.csdn.net/source/2873214

使用cv内的函数,结果不稳定


0 0
原创粉丝点击