Closed kaitlin31415 closed 2 years ago
This code starts a webcam and displays the state:
import cv2 import mediapipe import numpy as np import csv cap = cv2.VideoCapture(0) # facemesh faceModule = mediapipe.solutions.face_mesh mp_drawing = mediapipe.solutions.drawing_utils # Drawing helpers circleDrawingSpec = mp_drawing.DrawingSpec(thickness=1, circle_radius=1, color=(0,255,0)) lineDrawingSpec = mp_drawing.DrawingSpec(thickness=1, color=(0,255,0)) with faceModule.FaceMesh(min_detection_confidence=0.5, min_tracking_confidence=0.5) as face: while cap.isOpened(): ret, frame = cap.read() # Recolor Feed image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) image.flags.writeable = False # Make Detections results = face.process(image) #print(results.face_landmarks) # face_landmarks, pose_landmarks, left_hand_landmarks, right_hand_landmarks # Recolor image back to BGR for rendering image.flags.writeable = True image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) # 1. Draw face landmarks if results.multi_face_landmarks != None: for faceLandmarks in results.multi_face_landmarks: point_values = [] for i in range(0, 468): pt1 = faceLandmarks.landmark[i] point_values.append(pt1.x) point_values.append(pt1.y) point_values.append(pt1.z) # Make Detections X = pd.DataFrame([point_values]) body_language_class = model.predict(X)[0] print(body_language_class) mp_drawing.draw_landmarks(image, faceLandmarks, faceModule.FACEMESH_CONTOURS, circleDrawingSpec, lineDrawingSpec) # Display Class cv2.putText(image, 'CLASS' , (95,12), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 1, cv2.LINE_AA) cv2.putText(image, str(body_language_class) , (90,40), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2, cv2.LINE_AA) cv2.imshow('Raw Webcam Feed', image) if cv2.waitKey(10) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
This is encompassed by another issue. Closing.
This code starts a webcam and displays the state: