Quantcast
Viewing all articles
Browse latest Browse all 5260

Python • Re: Camera Window won't jump out

this works on my pi5... note my change in predictor path

Code:

from imutils.video import VideoStreamfrom imutils import face_utilsfrom threading import Threadimport numpy as npfrom gpiozero import LEDimport argparseimport imutilsimport timeimport dlibimport cv2from picamera2 import Picamera2import ospicam2 = Picamera2()picam2.configure(picam2.create_preview_configuration(main={"format": 'XRGB8888', "size": (640, 480)}))picam2.start()Users  = []Users.append(os.getlogin())buzzer_pin = 16buzzer = LED(buzzer_pin)buzzer.off()hog_face_detector = dlib.get_frontal_face_detector()predictor = dlib.shape_predictor("/home/" + Users[0] + "/Downloads/shape_predictor_68_face_landmarks.dat")sleep = 0drowsy = 0active = 0status = ""def compute(ptA, ptB):    dist = np.linalg.norm(ptA - ptB)    return distdef blinked(a, b, c, d, e, f):    up = compute(b, d) + compute(c, e)    down = compute(a, f)    ratio = up / (2.0 * down)    if ratio > 0.25:        return 2    elif 0.21 < ratio <= 0.25:        return 1    else:        return 0while True:    im = picam2.capture_array()    gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)    faces = hog_face_detector(gray)    for face in faces:        x1, y1, x2, y2 = face.left(), face.top(), face.right(), face.bottom()        face_frame = im.copy()        cv2.rectangle(face_frame, (x1, y1), (x2, y2), (0, 255, 0), 2)        landmarks = predictor(gray, face)        landmarks = face_utils.shape_to_np(landmarks)        left_blink = blinked(landmarks[36], landmarks[37],                             landmarks[38], landmarks[41], landmarks[40], landmarks[39])        right_blink = blinked(landmarks[42], landmarks[43],                              landmarks[44], landmarks[47], landmarks[46], landmarks[45])        if left_blink == 0 or right_blink == 0:            sleep += 1            drowsy = 0            active = 0            if sleep > 1:                status = "SLEEPING !!!"                print("SLEEPING !!!")                buzzer.on()        elif 0.21 < left_blink == 1 or right_blink == 1:            sleep = 0            active = 0            drowsy += 1            if drowsy > 1:                status = "Drowsy !"                buzzer.on()        else:            drowsy = 0            sleep = 0            active += 1            if active > 1:                status = "Active :)"                print("Active !!!")                buzzer.off()        cv2.putText(im, status, (100, 100), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 3)        for n in range(0, 68):            x, y = landmarks[n]            cv2.circle(face_frame, (x, y), 1, (255, 255, 255), -1)    cv2.imshow("Frame", im)    key = cv2.waitKey(1)    if key == 27:        breakbuzzer.off()camera.release()cv2.destroyAllWindows()
Hi Gordon, it still stuck at here

Code:

(venv) cheeyong@raspberrypi:~ $ python3 /home/cheeyong/Downloads/test.py[7:28:43.907147138] [11540]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+118-563cd78e[7:28:43.945484958] [11553]  WARN RPiSdn sdn.cpp:39 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise[7:28:43.949962593] [11553]  INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media1[7:28:43.950111226] [11553]  INFO RPI pipeline_base.cpp:1142 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'[7:28:43.955124799] [11540]  INFO Camera camera_manager.cpp:284 libcamera v0.1.0+118-563cd78e[7:28:43.988421805] [11556]  WARN RPiSdn sdn.cpp:39 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise[7:28:43.990460849] [11556]  INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media1[7:28:43.990536240] [11556]  INFO RPI pipeline_base.cpp:1142 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'[7:28:43.997098939] [11540]  INFO Camera camera.cpp:1183 configuring streams: (0) 640x480-XRGB8888 (1) 640x480-SGBRG10_CSI2P[7:28:43.997621728] [11556]  INFO RPI vc4.cpp:608 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA

Statistics: Posted by matteo2002starter — Fri Feb 02, 2024 8:34 am



Viewing all articles
Browse latest Browse all 5260

Trending Articles