diff --git a/rpi/AnimationTester.py b/rpi/AnimationTester.py new file mode 100644 index 0000000..46e1d32 --- /dev/null +++ b/rpi/AnimationTester.py @@ -0,0 +1,45 @@ +from PIL import Image, ImageSequence +from Point2D import generate_point_array_from_image, interpolate_point_pairs, generate_image_from_point_array, pair_points + +# Load the two small images +image1 = Image.open("/home/cisco/CiscoTheProot/eyeLeftOpen.png") +image2 = Image.open("/home/cisco/CiscoTheProot/eyeLeftStunned.png") + +# Generate point arrays from the images +points1 = generate_point_array_from_image(image1) +points2 = generate_point_array_from_image(image2) + +# Pair the points from the two images +point_pairs = pair_points(points1, points2) + +# Generate ten frames of animation +num_frames = 10 +frames = [] + +for i in range(num_frames): + # Interpolate the points based on the frame number + percentage = i / (num_frames - 1) + interpolated_points = interpolate_point_pairs(point_pairs, percentage) + + # Generate the image from the interpolated points + width, height = image1.size + frame_image = generate_image_from_point_array(interpolated_points, width, height) + + # Append the frame image to the list of frames + frames.append(frame_image) + +# Save the frames as separate images +for i, frame_image in enumerate(frames): + frame_image.save(f"/home/cisco/CiscoTheProot/animations/frame_{i}.png") + +# Save the frames as a GIF +gif_filename = f"/home/cisco/CiscoTheProot/animations/animation.gif" +frames[0].save( + gif_filename, + save_all=True, + append_images=frames[1:]+frames[::-1], + duration=200, # Specify the duration between frames (in milliseconds) + loop=0 # Set loop to 0 for an infinite loop +) + +print("GIF animation saved as", gif_filename) \ No newline at end of file