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

可以自己做攻略的网站wordpress名著

可以自己做攻略的网站,wordpress名著,可以做qq空间背景音乐的网站,八零婚纱摄影工作室网站预备知识 勾股定理 跟随移动算法 手势识别图解 项目源代码 """ 演示一个简单的虚拟拖拽 步骤: 1、opencv 读取视频流 2、在视频图像上画一个方块 3、通过mediapipe库获取手指关节坐标 4、判断手指是否在方块上 5、是,方块跟着移动 6、…

预备知识

勾股定理
在这里插入图片描述跟随移动算法
在这里插入图片描述手势识别图解
在这里插入图片描述

项目源代码

"""
演示一个简单的虚拟拖拽
步骤:
1、opencv 读取视频流
2、在视频图像上画一个方块
3、通过mediapipe库获取手指关节坐标
4、判断手指是否在方块上
5、是,方块跟着移动
6、完善:通过食指和中指指尖距离确定是否激活移动
7、完善:画面显示FPS等信息
"""
import cv2
import math#导入mediapipe的相关模块
# 导入mediapipe:https://google.github.io/mediapipe/solutions/hands
import mediapipe as mp
mp_drawing = mp.solutions.drawing_utils
mp_drawing_styles = mp.solutions.drawing_styles
mp_hands = mp.solutions.handshands = mp_hands.Hands(model_complexity=0,min_detection_confidence=0.5,min_tracking_confidence=0.5)#读取视频流
cap = cv2.VideoCapture(0) #调用摄像头#获取画面的长度和宽度
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print(f"width = {width}\n")
print(f"height = {height}")
#方块初始化数组
x = 100
y = 100
w = 200
h = 200on_square = False
square_color = (0,255,0)while True:ret,frame = cap.read()#读取视频帧if ret:#镜像frame = cv2.flip(frame,1)frame.flags.writeable = Falseframe = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)#识别results = hands.process(frame)frame.flags.writeable = Trueframe = cv2.cvtColor(frame,cv2.COLOR_RGB2BGR)#如果有结果的话if results.multi_hand_landmarks:#遍历双手for hand_landmarks in results.multi_hand_landmarks: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())# 使用这两句看一下里面到底是什么?# print(type(hand_landmarks))# print(hand_landmarks)# exit()#21个关键点的x、y坐标列表x_list = []y_list = []for landmarks in hand_landmarks.landmark:x_list.append(landmarks.x)y_list.append(landmarks.y)#输出一下长度# print(len(x_list))# 获取食指指尖坐标,坐标位置查看:https://google.github.io/mediapipe/solutions/handsindex_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_distance =math.sqrt( (middle_finger_x - index_finger_x)**2 + (middle_finger_y-index_finger_y)**2)finger_distance = math.hypot((middle_finger_x - index_finger_x),(middle_finger_y - index_finger_y))# 看一下距离# print(finger_distance)#把食指画出来cv2.circle(frame,(index_finger_x,index_finger_y),20,(0,0,255),-1)#判断食指指尖在不在方块上if finger_distance < 60:# X坐标范围 Y坐标范围if (index_finger_x > x and index_finger_x < (x+w)) and (index_finger_y > y and index_finger_y < (y+h)):if on_square == False:print('在')L1 = index_finger_x - xL2 = index_finger_y - ysquare_color = (255,0,255)on_square = Trueelse:print("不在")else:#解除on_square = Falsesquare_color = (0,255,0)#更新坐标if on_square:x = index_finger_x - L1y = index_finger_y - L2#在视频中画一个方块# cv2.rectangle(frame,(x,y),(x+w,y+h),square_color,-1)#半透明处理overlay = frame.copy()cv2.rectangle(frame, (x, y), (x + w, y + h), square_color, -1)frame = cv2.addWeighted(overlay, 0.5, frame, 1 - 0.5, 0)#展示画面cv2.imshow("demo",frame)#退出条件if cv2.waitKey(10) & 0xFF == ord('q'):break

项目效果

在这里插入图片描述

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

相关文章:

  • 报价网站建设平面设计欣赏网站推荐
  • 如何直接用jsp做网站不写servlet建设企业网银u盾网站打不开
  • 建设企业网站需要考虑的因素有哪些网站做京东联盟
  • .jsp网站开发技术网站建设和域名什么关系
  • 网站建设项目实践全国域名备案查询
  • jsp网站开发 开题依据企业做网站400电话作用
  • 网站建设vr小工作室做网站
  • 襄樊网站建设襄樊南阳专业做网站公司
  • 静态网站更新山西网络公司公司
  • 网站开发投入产出分析河北 网站建设
  • 浙江建设局图审网站展览馆展示设计
  • 黄石网站建设黄石做ppt哪些网站的图片质量高
  • 怎样在网站图片做超级链接前端开发常用网站
  • 免费个人网站模板下载椒江建设局网站
  • 做网站玩玩室内装修效果大图
  • 服装网站公司网站企业品牌网站建设定制开发
  • 怎么做网页 网站制作揭阳新闻最新消息
  • 宁波网站seo公司设计界面
  • 做外贸翻译用哪个网站好专门做预售的网站
  • 如何选择做网站做海报的专业网站
  • 百度推广手机网站检测做网站怎么兼容所有浏览器
  • 摄影照片投稿网站wordpress学院主题
  • 重庆科技建设高端的网站优化公司
  • 移动端网站开发与网页开发区别简述php网站开发流程图
  • 济南 网站推广合川做网站
  • 网站模板安装好后外贸推广信
  • 网站点击代码二维码生成器软件下载
  • wordpress手机pcseo整站优化公司持续监控
  • 卫辉市住房和城市建设局网站网站修改教程
  • 郑州企业网站建设公司佛山公司网站建设