zoukankan      html  css  js  c++  java
  • 目标检测之指尖检测---指尖检测的新方法几种

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

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

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

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

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

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

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

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

    多指尖检测方法之一:

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

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

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

     多指尖检测方法之二:

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

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

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

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

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

    第一组:

    第二组:

    多指尖检测方法之三:

    使用轮廓

    http://blog.csdn.net/onezeros/article/details/6196095

  • 相关阅读:
    常用日期函数介绍
    常用数学函数介绍
    oracle 常用sql字符函数介绍
    centos6.5 相关命令
    Kettle5.4.0 java.lang.OutOfMemoryError
    oracle多表连接方式Hash Join Nested Loop Join Merge Join
    CONNECT_BY_ROOT
    设置Oracle PL/SQL时间显示格式NLS_TIMESTAMP_FORMAT
    INSTR代替NOT LIKE
    多表插入
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4125478.html
Copyright © 2011-2022 走看看