Python利用Open CV+ Media Pipe 实现手部追踪

Python利用Open CV+ Media Pipe 实现手部追踪,第1张

Python利用Open CV+ Media Pipe 实现手部追踪 一:技术原理
1:使用OpenCV。OpenCV 是一个用于计算机视觉应用程序的库。在 OpenCV 的帮助下,我们可以构建大量实时运行更好的应用程序。主要用于图像和视频处理。

2:使用MediaPipe 库。MediaPipe是一个主要用于构建音频、视频或任何时间序列数据的框架。在 MediaPipe 框架的帮助下,我们可以为不同的媒体处理功能构建管道。(MediaPipe还可以用于多手追踪.人脸检测.对象检测)MediaPipe 使用单次手掌检测模型,一旦完成,它会对检测到的手部区域中的 21 个 3D 手掌坐标执行精确的关键点定位。MediaPipe 管道使用多个模型,例如,从完整图像返回定向手边界框的手掌检测模型。裁剪后的图像区域被馈送到由手掌检测器定义的手部标志模型,并返回高保真 3D 手部关键点。

二:实现过程

1.安装好opencv以及MediaPipe 库

 代码分别是pip install opencv-python以及pip install mediapipe

2.导入模块所需的变量

3.编写一个While函数执行代码

 4.在上面的代码中,我们从网络摄像头读取帧并将图像转换为 RGB。然后我们在“hands.process()函数的帮助下检测帧中的手。一旦检测到手,我们将找到关键点,然后使用cv2.circle突出显示关键点中的点,并使用mpDraw.draw_landmarks连接关键点。

5.现在让我们创建一个手部跟踪模块,以便我们可以在其他项目中使用它。创建一个新的 python 文件,首先让我们创建一个名为handDetector的类,其中有两个成员函数,名为findHands和findPosition。函数findHands将接受一个 RGB 图像并检测帧中的手并定位关键点,绘制地标,函数findPosition将给出手的位置和 id。然后是我们初始化模块的 main 函数,我们还编写了一个 while 循环来运行模型。当然我们也可以在此处将此设置或模块导入到任何其他相关项目作品中。这样修改之后就能在运行的过程中时刻看到输出中的手关键点位置的坐标。

三.实验结果

Python利用Open CV+ Media Pipe 实现手部追踪实验结果视频

1.运行后能够显示每只手的关键点并用红点以及绿线表示

2.会持续输出每个关键点的位置坐标例如:

15 520 444

16 501 450

17 579 466

 

3.运行比较流畅而且反应非常快,实验结果非常成功,能够完整实现手部追踪并及时反馈每个节点的坐标位置

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存