From 0a3244e13f934f0b85ec32f86fe349dad5b196df Mon Sep 17 00:00:00 2001 From: CiscoTheWolf <cisco@hostingwire.net> Date: Wed, 31 May 2023 19:58:10 +0200 Subject: [PATCH] test to load pickles face images. --- rpi/antRender.py | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/rpi/antRender.py b/rpi/antRender.py index 14c35fe..ae304f4 100644 --- a/rpi/antRender.py +++ b/rpi/antRender.py @@ -105,37 +105,49 @@ print("pairing points for one eye took: " + str(endT - startT) + " ms") print("start populating matrices for each blink frame") startT = curr_time = round(time.time()*1000) -interpolated_faces = [] +# +## TODO look into the possibility of precomputing and more importantly storing the matrix objects +#for alpha in range(0,11): +# offscreen_interpolated_canvas = matrix.CreateFrameCanvas() +# +# left_eye = interpolate_point_pairs(left_eye_blink_pairs, alpha/10) +# right_eye = mirror_points(left_eye) +# nose = points_left_nose + mirror_points(points_left_nose) +# mouth = points_left_mouth + mirror_points(points_left_mouth) +# face = left_eye + right_eye + nose + mouth +# +# interpolated_face_image = generate_image_from_point_array(face, 128, 32) +# interpolated_faces.append(interpolated_face_image) +# +# offscreen_interpolated_canvas.SetImage(interpolated_face_image, unsafe=False) +# blinkFrameCanvases.append(offscreen_interpolated_canvas) +# -# TODO look into the possibility of precomputing and more importantly storing the matrix objects -for alpha in range(0,11): + +# Load the object from disk +with open('my_object.pickle', 'rb') as file: + interpolated_faces = pickle.load(file) + +for interpolated_face_image in interpolated_faces: offscreen_interpolated_canvas = matrix.CreateFrameCanvas() - - left_eye = interpolate_point_pairs(left_eye_blink_pairs, alpha/10) - right_eye = mirror_points(left_eye) - nose = points_left_nose + mirror_points(points_left_nose) - mouth = points_left_mouth + mirror_points(points_left_mouth) - face = left_eye + right_eye + nose + mouth - - interpolated_face_image = generate_image_from_point_array(face, 128, 32) - interpolated_faces.append(interpolated_face_image) - offscreen_interpolated_canvas.SetImage(interpolated_face_image, unsafe=False) blinkFrameCanvases.append(offscreen_interpolated_canvas) + endT = curr_time = round(time.time()*1000) print("populating matrices for each blink frame took: " + str(endT - startT) + " ms") +# Store the object to disk +with open('my_object.pickle', 'wb') as file: + pickle.dump(interpolated_faces, file) + proot_state = ProotState() proot_state.set_matrix(matrix) proot_state.set_blinks_frames_ready(True) proot_state.blink() + -# Store the object to disk -with open('my_object.pickle', 'wb') as file: - pickle.dump(interpolated_faces, file) - # functions called by the MQTT listener def on_connect(client, userdata, flags, response_code):