指尖检测的几种新方法
2016-04-21 10:22
267 查看
指尖检测根据应用可以分为单指尖检测和多指尖检测。
下面是我在工作中想到的方法,希望对你有用或提供点儿灵感。
单指尖检测新方法:重心距离法
找到手的区域,我一般用肤色检测
计算手的区域的重心
在手的区域的边缘点集中寻找距离重心最远的点,该点即为指尖候选位置
判断找到的点是否为指尖。判据:候选点到重心的距离大于边缘到重心平均距离的1.6倍,即为指尖;否则不是指尖,也就是说没有手指伸出
下面是我在随便挑的几张图片上做的试验
下面是我在应用中的试验截图:
说明:红色圆是平均距离;蓝色为重心;绿色表示最远点,其中叉表示该点不是指尖,矩形表示该点是指尖
仔细看图,你会知道该算法的准确度怎么样
多指尖检测方法之一:
1.细化图像,端点就是候选指尖点集:
2.找出指尖的点。仍然可以用重心距离法,当然这次操作是在候选指尖点集中进行
本算法主要用于多指尖检测。
多指尖检测方法之二:
本算法是单指尖检测重心距离法的延伸
算法:找出手的区域的freeman chain code,也就是一个有序的边缘,然后求出其中所有点到重心的距离
相信你看到下图就会迫不及待地想要用自己的方法找到指尖,正好,因为我还没有找到准确度很高的找到指尖的方法。
这里我只是提供一个比较有效地特征,希望对你有用。
对图像的说明:四条线,从下往上,第一条是各点到重心的距离,第二条是第一条线的平滑,第四条是第一条的导数,第三条是第四条的平滑
第一组:
第二组:
多指尖检测方法之三:
使用轮廓
源码http://download.csdn.net/source/2873214
使用cv内的函数,结果不稳定
下面是我在工作中想到的方法,希望对你有用或提供点儿灵感。
单指尖检测新方法:重心距离法
找到手的区域,我一般用肤色检测
计算手的区域的重心
在手的区域的边缘点集中寻找距离重心最远的点,该点即为指尖候选位置
判断找到的点是否为指尖。判据:候选点到重心的距离大于边缘到重心平均距离的1.6倍,即为指尖;否则不是指尖,也就是说没有手指伸出
下面是我在随便挑的几张图片上做的试验
下面是我在应用中的试验截图:
说明:红色圆是平均距离;蓝色为重心;绿色表示最远点,其中叉表示该点不是指尖,矩形表示该点是指尖
仔细看图,你会知道该算法的准确度怎么样
多指尖检测方法之一:
1.细化图像,端点就是候选指尖点集:
2.找出指尖的点。仍然可以用重心距离法,当然这次操作是在候选指尖点集中进行
本算法主要用于多指尖检测。
多指尖检测方法之二:
本算法是单指尖检测重心距离法的延伸
算法:找出手的区域的freeman chain code,也就是一个有序的边缘,然后求出其中所有点到重心的距离
相信你看到下图就会迫不及待地想要用自己的方法找到指尖,正好,因为我还没有找到准确度很高的找到指尖的方法。
这里我只是提供一个比较有效地特征,希望对你有用。
对图像的说明:四条线,从下往上,第一条是各点到重心的距离,第二条是第一条线的平滑,第四条是第一条的导数,第三条是第四条的平滑
第一组:
第二组:
多指尖检测方法之三:
使用轮廓
源码http://download.csdn.net/source/2873214
使用cv内的函数,结果不稳定
相关文章推荐
- 源码分析shiro认证授权流程
- StringBuilder、StringBuffer和String区别
- Android开发 自定义ViewGroup 实现微信九格图功能(图片不同排布不同) 和 一种图片点击变暗效果
- 时间戳与日期转换
- eclipse批量修改变量名
- Linux中shell编程的for循环用法
- 文件指针权限
- static_cast 的用法
- 关于EnumerateObjectsUsingBlock和for-in之间的较量
- 50. Pow(x, n)
- 谈谈四门课的价值
- Android Overlay机制
- 接口和抽象类有什么区别
- git
- SpringMVC -- @ModelAttribute/视图,视图解析器/国际化(5)
- WIN7 VMware Ubuntu虚拟机连接secureCRT及ftp传输文件
- 回归CSDN博客
- Android N requires the IDE to be running with Java 1.8 or later
- 4月第2周网络安全报告:境内4441个网站被植入后门
- 引用RegexKitLite时使用正则表达式报错解决方法