基于 OpenCv 和 Python 的手指识别及追踪

栏目: 编程工具 · 发布时间: 6年前

内容简介:雷锋网翻译 | 余杭  Lamaric    校对 |  吴晓曼   审核 |  余杭

雷锋网 (公众号:雷锋网) 按:本文为 AI 研习社编译的技术博客,原标题 Finger Detection and Tracking using OpenCV and Python,作者为Jason Brownlee。

翻译 | 余杭  Lamaric    校对 |  吴晓曼   审核 |  余杭

基于 OpenCv 和  <a href='https://www.codercto.com/topics/20097.html'>Python</a>  的手指识别及追踪

详细代码参考: https://github.com/amarlearning/opencv

手指追踪是许多计算机视觉应用的重要特征。在该应用中,使用基于直方图的方法将手与背景帧分离。 使用阈值处理和滤波技术来进行背景消除以获得最佳结果。

我在手指识别时遇到的挑战之一是将手与背景区分开并识别手指的尖端。我将向您展示我用于手指跟踪的技术,我在此项目中使用了该技术。如果想要查看手指识别和跟踪的实际操作,请观看我上传的视频。

在要跟踪用户手部移动的应用程序中,肤色在要跟踪用户手部移动的应用程序中,肤色直方图将非常有用。使用直方图从图像中剔除背景,仅留下包含肤色的图像部分。

检测皮肤的一种更简单的方法是找到特定 RGB 或 HSV 范围内的像素。如果您想了解更多有关此方法的信息,请点击此处( https://docs.opencv.org/3.4.2/df/d9d/tutorial_py_colorspaces.html )。

上述方法的问题在于改变光线条件和肤色可能会使皮肤检测的结果很糟糕。另一方面,直方图往往更准确,并且直方图能够考虑到当前的光照条件。

基于 OpenCv 和 Python 的手指识别及追踪

在框架中绘制一个绿色的长方形并且用户将他们的手放置在长方形中。应用程序提取用户手掌的肤色,然后绘制成一个直方图。

绘制长方形的过程遵循以下函数:

基于 OpenCv 和 Python 的手指识别及追踪

这个过程非常简单——我创建了四行代码来表示每个长方形的坐标。

hand_rect_one_x

hand_rect_one_y

hand_rect_two_x

hand_rect_two_y

这四行代码不断迭代以在框架内使用:cv2.rectangle 绘制生成长方形;这里的total_rectangle表示行列的长度9。

现在用户理解了在哪里放置他们的手掌,接下来成功的关键步骤是从这些长方形中提取像素,然后基于像素生成 HSV 直方图

基于 OpenCv 和 Python 的手指识别及追踪

函数把输入框架转换成 HSV 直方图。使用 Numpy 库生成一张图像。图像大小为[90*10],颜色通道数为 3。我们将其命名为 ROI (Region of Interest). 它从绿色的长方形中提取了 900 个像素值,然后将它们放入 ROI 矩阵中。cv2.calcHist 基于 ROI 矩阵给肤色创建了一个直方图并且 cv2.normalize 使用 norm 类型对矩阵进行归一化 cv2.NORM_MINMAX 。现在我们可以用直方图来检测框架中的皮肤区域。

现在用户理解了将他们的手掌放在哪里,下一步就是从这些长方形中提取像素然后用它们生成HSV直方图。

现在基于肤色直方图我们可以找到包含皮肤的框架区域,OpenCV 提供了一个简便的方法,cv2.calvBackProject,该方法使用直方图来分离图像中的特征。我通过这个函数来把肤色直方图应用到框架中。如果你想获取更多关于 back project 的信息,可以通过链接1( https://docs.opencv.org/master/dc/df6/tutorial_py_histogram_backprojection.html)和链接2(https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/back_projection/back_projection.html)来获取。

基于 OpenCv 和 Python 的手指识别及追踪

......

想要继续阅读,请移步至我们的AI研习社社区: https://club.leiphone.com/page/TextTranslation/775

更多精彩内容尽在 AI 研习社。

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

雷锋网雷锋网(公众号:雷锋网)

雷锋网原创文章,未经授权禁止转载。详情见 转载须知

基于 OpenCv 和 Python 的手指识别及追踪

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编码

编码

[美] Charles Petzold / 左飞、薛佟佟 / 电子工业出版社 / 2010 / 55.00元

本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。一起来看看 《编码》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具