您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给AI研习社-译站
发送

0

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

本文作者: AI研习社-译站 2018-08-17 16:48
导语:我将向您展示我用于手指跟踪的技术~

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

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

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

详细代码参考: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 的手指识别及追踪

分享:

知情人士

AI研习社(yanxishe.com)译站频道,传播前沿人工智能知识,让语言不再成为学习知识的门槛。(原雷锋字幕组)
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说