import sqlite3 conn = sqlite3.connect('info.db') c = conn.cursor() print ("数据库打开成功") strs = "INSERT INTO XYZ VALUES (" import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_drawing_styles = mp.solutions.drawing_styles mp_hands = mp.solutions.hands num = 0 # For webcam input: cap = cv2.VideoCapture(0) with mp_hands.Hands( model_complexity=0, max_num_hands=2, min_detection_confidence=0.5, min_tracking_confidence=0.5) as hands: while cap.isOpened(): success, image = cap.read() if not success: print("Ignoring empty camera frame.") # If loading a video, use 'break' instead of 'continue'. continue # To improve performance, optionally mark the image as not writeable to # pass by reference. image.flags.writeable = False image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) results = hands.process(image) # Draw the hand annotations on the image. image.flags.writeable = True image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) aa=0 if results.multi_hand_landmarks: wt = [] for i in range(42 * 3): wt.append(0) for i,hand_landmarks in enumerate(results.multi_hand_landmarks): if (results.multi_handedness[i].classification[0].label)=="Left": num = 0 else: num =1 for j,handlms in enumerate(hand_landmarks.landmark): wt[num*21*3+j*3],wt[num*21*3+j*3+1],wt[num*21*3+j*3+2] = handlms.x, handlms.y, handlms.z mp_drawing.draw_landmarks( image, hand_landmarks, mp_hands.HAND_CONNECTIONS, mp_drawing_styles.get_default_hand_landmarks_style(), mp_drawing_styles.get_default_hand_connections_style()) # Flip the image horizontally for a selfie-view display. cv2.imshow('MediaPipe Hands', cv2.flip(image, 1)) ctl = cv2.waitKey(5) if ctl == ord('q'): break elif ctl==ord('s'): strs = "INSERT INTO XYZ VALUES (" word = "\'"+input()+"\'," strs+=word print(aa) for i in wt: strs+=str(i)[:7]+"," strs = strs[:-1] + ");" print(strs) c.execute(strs) cap.release() conn.commit() print ("数据插入成功") conn.close()