import cv2
import mediapipe as me
list=[]
#调用摄像头
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)
hand_recognitian = me.solutions.hands.Hands()
#检测摄像头
while (cap.isOpened()):
#获取摄像头每帧图像
ret,frame = cap.read()
frame= cv2.flip(frame,1)
#转换读取图像的格式(rgb)
imgs=cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)
result =hand_recognitian.process(imgs)
#标记20个手部点坐标并连接
if result.multi_hand_landmarks:
for posion in result.multi_hand_landmarks:
me.solutions.drawing_utils.draw_landmarks(frame,posion,me.solutions.hands.HAND_CONNECTIONS)
for id,lm in enumerate(posion.landmark):
h,w,c = imgs.shape
cx,cy =int(lm.x*w),int(lm.y*h)
list.append([id,cx,cy])
#显示所获取的摄像头的每帧图像
cv2.imshow("handes shibie",frame)
k = cv2.waitKey(1)
#按下空格后进入
if k==32:
#关闭摄像头
cap.release()
break