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

湖南乔口建设公司网站找网站公司做网站

湖南乔口建设公司网站,找网站公司做网站,国内知名建筑设计公司,wordpress创建页面step: 1.opencv 获取视频流 2.在画面上画一个方块 3.通过mediapipe获取手指关键点坐标 4.判断手指是否在方块上 5.若在方块上,方块跟着手指移动 mediapipe网站介绍:Hands - mediapipe (chuoling.github.io) 已上传到GitHub : plumqm/OpenC…

step:
1.opencv 获取视频流
2.在画面上画一个方块
3.通过mediapipe获取手指关键点坐标
4.判断手指是否在方块上
5.若在方块上,方块跟着手指移动
 

mediapipe网站介绍:Hands - mediapipe (chuoling.github.io)

已上传到GitHub : plumqm/OpenCV-project: 通过20个项目学习计算机视觉(Learn computer vision through 20 projects) (github.com)

"""
author = qian
date = 2024-10-07step:
1.opencv 获取视频流
2.在画面上画一个方块
3.通过mediapipe获取手指关键点坐标
4.判断手指是否在方块上
5.若在方块上,方块跟着手指移动"""import cv2
import numpy as npimport mediapipe as mpmp_drawing = mp.solutions.drawing_utils
mp_drawing_styles = mp.solutions.drawing_styles
mp_hands = mp.solutions.handshands = mp_hands.Hands(static_image_mode=True,max_num_hands=2,min_detection_confidence=0.5)# 1.opencv 获取视频流
cap = cv2.VideoCapture(0)#获取画面宽和高
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))# 方块相关参数
square_x = 100
square_y = 100
square_width = 100
square_color = (255,0,0)
L1 = 0
L2 = 0
on_square = Falsewhile True:# 读取每一帧ret, frame = cap.read()# 处理图像frame = cv2.flip(frame, 1)  # 镜像# mediapipe处理frame.flags.writeable = Falseframe = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)results = hands.process(frame)frame.flags.writeable = True    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)# 判断是否出现手if results.multi_hand_landmarks:# 解析遍历每一双手for hand_landmarks in results.multi_hand_landmarks:# 绘制21个关键点mp_drawing.draw_landmarks(frame,hand_landmarks,mp_hands.HAND_CONNECTIONS,mp_drawing_styles.get_default_hand_landmarks_style(),mp_drawing_styles.get_default_hand_connections_style())# 保存21个x,y坐标x_list = [landmark.x for landmark in hand_landmarks.landmark]y_list = [landmark.y for landmark in hand_landmarks.landmark]# 获取食指指尖index_finger_X = int(x_list[8] * width)index_finger_Y = int(y_list[8] * height)# 获取中指指尖middle_finger_X = int(x_list[12] * width)middle_finger_Y = int(y_list[12] * height)# 计算食指中指指尖距离finger_len = np.sqrt((middle_finger_X - index_finger_X)**2 + (middle_finger_Y - index_finger_Y)**2)# cv2.circle(frame, (index_finger_X,index_finger_Y)# ,20 ,(255,0,255) ,-1)# 手指是否在方块上if square_x <= x_list[4] <= square_x + square_width and square_y <= y_list[4] <= square_y + square_width:square_x += (x_list[4] - square_x) / 10square_y += (y_list[4] - square_y) / 10# 如果距离小于30算激活if finger_len < 30:# 判断食指指尖在不在方块上if (square_x <= index_finger_X <= square_x + square_width and square_y <= index_finger_Y <= square_y + square_width):if on_square == False :L1 = abs(index_finger_X - square_x)L2 = abs(index_finger_Y - square_y)on_square = Truesquare_color = (255,0,255)else :passif on_square == True:square_x = index_finger_X - L1square_y = index_finger_Y - L2else :on_square = Falsesquare_color = (255,0,0)# 2. 在画面上画一个方块# cv2.rectangle(frame, (square_x, square_y), (square_x+square_width, square_y+square_width), (255, 0, 0), -1)# 画半透明方块overlay = frame.copy()cv2.rectangle(frame, (square_x, square_y), (square_x+square_width, square_y+square_width), square_color, -1)frame = cv2.addWeighted(overlay,0.5,frame,0.5,0)# 显示cv2.imshow('Virtual drag', frame)if cv2.waitKey(10) & 0xFF == 27:break cap.release()
cv2.destroyAllWindows()

http://www.yayakq.cn/news/881816/

相关文章:

  • 网站访问量突然增加福田网站 建设深圳信科
  • c 网站建设教程视频教程网站制作费用多少
  • 中国画廊企业网站模板网站建设要多钱
  • 安阳手机网站制作丽水网站建设企业
  • 直播类型网站开发微信小程序开店
  • 网站建设培训的心得常德市城市建设局网站
  • 重庆铜梁网站建设公司监利网站建设
  • 吉安网站设计wordpress登录页样式美化
  • 大连百度网站排名优化广州天河区怎么样
  • 济宁网站建设招聘做301网站打不开
  • app开发的价格清单搜索优化seo
  • 购物网站后台管理系统手机网页显示不全
  • 有谁做彩票网站黄骅市天气预报最新
  • 南宁律师网站建设直接买个域名就能自己做网站
  • 内部网站管理办法自己做的网址如何推广
  • 网站建设完整方案福建省网站建设有限公司
  • 推广网站概况制作免费的网站
  • 公司网站开发 中山百度网站评级
  • 北京网站建设制作案例怎么分析网站用什么技术做的
  • 网站建设功能需求方案王烨飞微博
  • jsp可以做网站吗中国建设劳动学会网站
  • 网站建设 安庆建设摩托车125价格
  • 青岛网站建设方案外包模板之家如何免费下载
  • 洪涛怎么样海城市建设网站网络营销推广的方法有哪些
  • php招聘网站开发流程网站书店建设背景
  • 大兴做网站公司视频解析接口网站怎么做
  • wordpress添加新功能淘宝关键词优化技巧教程
  • 做网站框架图哪个在线网站好用网站不被收录怎么办
  • 公司的网站费怎样做会计分录咸阳网站制作公司
  • 贵州省城乡和建设厅网站首页抖音seo什么意思