当前位置: 首页 > news >正文

学习建设网站做网站题材

学习建设网站,做网站题材,网站管理系统图片,齐鲁人才招聘网基于 RealSense D435i相机进行手部姿态检测#xff0c;其中采用 Mediapipe 进行手部检测#xff0c;以下是详细步骤#xff1a; Mediapipe 是一个由 Google开发的开源框架#xff0c;专门用于构建多媒体处理管道#xff0c;特别是计算机视觉和机器学习任务。它提供了一系列…基于 RealSense D435i相机进行手部姿态检测其中采用 Mediapipe 进行手部检测以下是详细步骤 Mediapipe 是一个由 Google开发的开源框架专门用于构建多媒体处理管道特别是计算机视觉和机器学习任务。它提供了一系列预训练的模型和工具可以用于实时处理图像和视频流。 主要功能 手部检测可以检测并跟踪手部的位置和姿态。面部检测识别面部特征点用于表情识别和面部跟踪。姿态估计检测人体的关键点用于运动分析和健身应用。物体检测实现物体检测和识别适用于各种场景。语音识别支持音频处理和语音识别功能。 主要特点 高效性能够在移动设备和边缘设备上运行具备良好的性能。跨平台支持多种操作系统和设备包括 Android、iOS 和桌面环境。易于使用提供简单的 API方便开发者快速集成和使用。 使用场景 Mediapipe 被广泛应用于增强现实、游戏开发、健康监测、安防监控等领域。 可以访问 Mediapipe的官方文档了解详细内容和使用示例。 一、手部姿态检测 步骤 1: 安装所需库 首先请确保您已经安装了 Python 和 pip。然后通过以下命令安装所需库 pip install pyrealsense2 opencv-python mediapipe numpy步骤 2: 设置 RealSense D435i 确保您的 RealSense D435 相机已正确连接并安装了 RealSense SDK。 可以从 Intel 的 RealSense SDK 页面获取更多信息。 步骤 3: 演示代码 以下是一个整合了 RealSense D435i 和 Mediapipe 手部检测的 Python 脚本示例。具体的实现细节可能需要根据需求进行调整。 import cv2 import numpy as np import pyrealsense2 as rs import mediapipe as mp# 初始化 Mediapipe 手部模块 mp_hands mp.solutions.hands hands mp_hands.Hands(static_image_modeFalse, max_num_hands2, min_detection_confidence0.7) mp_drawing mp.solutions.drawing_utils# 配置 RealSense 流 pipeline rs.pipeline() config rs.config() config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)# 启动流 pipeline.start(config)try:while True:# 等待获取新的帧frames pipeline.wait_for_frames()color_frame frames.get_color_frame()if not color_frame:continue# 将图像转换为 NumPy 数组image np.asanyarray(color_frame.get_data())# 转换颜色空间image_rgb cv2.cvtColor(image, cv2.COLOR_BGR2RGB)image_rgb.flags.writeable False# 使用 Mediapipe 检测手部results hands.process(image_rgb)# 绘制手部标记image_rgb.flags.writeable Trueif results.multi_hand_landmarks:for hand_landmarks in results.multi_hand_landmarks:mp_drawing.draw_landmarks(image_rgb, hand_landmarks, mp_hands.HAND_CONNECTIONS)# 在这里可以调用 Dex-Retargeting 算法处理 hand_landmarks# dex_retargeting_function(hand_landmarks)# 显示结果cv2.imshow(Hand Tracking, image_rgb)if cv2.waitKey(1) 0xFF ord(q):breakfinally:# 停止流pipeline.stop()cv2.destroyAllWindows()步骤 4: 运行代码 将上述代码保存为 hand_tracking.py然后在终端中运行 python hand_tracking.py二、记录/打印手指关节姿态 1、修改上述步骤 3的演示代码 # 定义手指的关键点索引范围 finger_indices {thumb: range(0, 5),index: range(5, 9),middle: range(9, 13),ring: range(13, 17),pinky: range(17, 21) }try:while True:# 等待新帧frames pipeline.wait_for_frames()color_frame frames.get_color_frame()depth_frame frames.get_depth_frame()if not color_frame or not depth_frame:continue# 转换为 numpy 数组img cv2.cvtColor(np.asanyarray(color_frame.get_data()), cv2.COLOR_RGB2BGR)# 处理手部检测results hands.process(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))if results.multi_hand_landmarks:for hand_landmarks in results.multi_hand_landmarks:# 绘制手部关键点mp_drawing.draw_landmarks(img, hand_landmarks, mp_hands.HAND_CONNECTIONS)# 提取并打印每个手指的关键点空间姿态for finger, indices in finger_indices.items():keypoints [(hand_landmarks.landmark[i].x, hand_landmarks.landmark[i].y, hand_landmarks.landmark[i].z) for i in indices]print(f{finger} keypoints: {keypoints})# 将手指关节姿态信息写入文件with open(hand_landmarks.txt, a) as f:f.write(f{finger}: {keypoints}\n) 2、结果显示和分析 thumb: [(0.9687821865081787, 0.6210590600967407, 3.910763268777373e-07), (0.9071911573410034, 0.6109362840652466, -0.03194861114025116), (0.8624528646469116, 0.554160475730896, -0.04743020609021187), (0.8405251502990723, 0.49807286262512207, -0.06013686582446098), (0.8232850432395935, 0.4591226577758789, -0.0727970078587532)] index: [(0.9149847626686096, 0.4301099479198456, -0.02639639377593994), (0.9145824909210205, 0.3440428376197815, -0.04998774453997612), (0.9162378907203674, 0.2871255874633789, -0.07186762243509293), (0.9200422763824463, 0.23657603561878204, -0.08782264590263367)] middle: [(0.9503715634346008, 0.4127236604690552, -0.02441730722784996), (0.9643440246582031, 0.31598132848739624, -0.042417172342538834), (0.9733370542526245, 0.2534366846084595, -0.05844615772366524), (0.9829654097557068, 0.19702278077602386, -0.07070045918226242)] ring: [(0.9794745445251465, 0.41305306553840637, -0.026965150609612465), (0.9923086762428284, 0.3207796812057495, -0.04289492592215538), (1.0009437799453735, 0.2619915306568146, -0.05437065660953522), (1.0100406408309937, 0.21127769351005554, -0.06270640343427658)] pinky: [(1.0050956010818481, 0.42907220125198364, -0.033185433596372604), (1.018389105796814, 0.3570478856563568, -0.046027250587940216), (1.024712324142456, 0.31118300557136536, -0.0520443469285965), (1.030387043952942, 0.2696005702018738, -0.05643028765916824)]上述代码打印的信息表示了拇指各个关节在三维空间中的位置坐标。具体来说每个元组代表一个关节的 (x)、(y) 和 (z)坐标解释如下 拇指的关节列表 thumb表示这是拇指的关键点信息。里面的每个元组均表示拇指某个关节的空间坐标。 坐标含义 每个元组包含三个值 (x): 表示该关节在图像宽度方向上的相对位置值范围为 0 到 1。(y): 表示该关节在图像高度方向上的相对位置值范围为 0 到 1。(z): 表示关节相对于手掌的深度值通常是负值表示离相机更远正值则表示更近。 对于拇指的五个关节上述打印的坐标信息分别是 第一个关节根部: ((0.9688, 0.6211, 0))第二个关节: ((0.9072, 0.6109, -0.0319))第三个关节: ((0.8625, 0.5542, -0.0474))第四个关节: ((0.8405, 0.4981, -0.0601))第五个关节指尖: ((0.8233, 0.4591, -0.0728)) 这些数据可以用于分析拇指的姿态和运动帮助实现手势识别或其他与手部交互相关的应用。 三、注意事项 确保 RealSense D435i 相机已连接并正常工作。若有其他依赖项或运行环境问题请根据错误提示进行调试。调整 min_detection_confidence 和 min_tracking_confidence 以提高检测效果。 通过这些步骤可以实现手部姿态检测并将每个手指的关节空间姿态信息保存到文件中。
http://www.dnsts.com.cn/news/184343.html

相关文章:

  • 深圳做棋牌网站建设哪家好正规少儿编程排名
  • 专业的网站开发公司电话网站建设分几次付钱
  • 郑州专业做网站怎么做公司的官方网站
  • 装修设计网站源码网站被k的表现
  • 网站开发 建设叫什么宠物网站推广怎么做
  • 电商网站首页图片郑州短视频代运营
  • 厦门专业网站设计公网站关键词整体方案
  • 小网站要备案吗做网站的公司主要做shm
  • 如何设计并制作各级网页莱芜网站seo
  • 服务器2003系统如何建设网站做时彩网站违法吗
  • 域名已注册怎样建设网站暖暖社区免费观看高清完整版
  • 怎么在国外建网站网站专题栏目策划方案
  • 阿里云 网站建设小红书推广方案
  • 河北网站建设方案详细镇江门户网
  • 程序员做的导航网站网络宣传平台
  • 河源建设工程交易中心网站百度seo新规则
  • 青岛网站设计价格北京企业网站推广哪家公司好
  • 朝阳网站建设怎么样东莞网站建设推广公司
  • 网站的格式分类有创意的广告
  • 博客网站怎么搭建汉中做网站的公司电话
  • oppo软件商店app下载网站优化与推广
  • Ext做网站哪些网站做的好看的图片
  • 佛山骏域网站建设专家深圳网络营销全网推广
  • 做哪个视频网站赚钱上海金融网站建设
  • 网站改版 seo如何在电脑安装wordpress
  • 查楼盘剩余房源的网站微信网站制作教程
  • 软文网站推荐wordpress游戏支付宝
  • 网站开发前的准备工作网站建设 今网科技
  • 网站建设与制作流程如何提升网站排名
  • 济南网站制作公司排名网站的管理更新维护