import cv2
import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306
from PIL import Image
Raspberry Pi pin configuration:
RST = 24
DC = 23
SPI_PORT = 0
SPI_DEVICE = 0
128x32 display with hardware I2C:
disp = Adafruit_SSD1306.SSD1306_128_32(rst=None, i2c_bus=1, gpio=1)
Initialize library.
disp.begin()
Clear display.
disp.clear()
disp.display()
Open the video file
cap = cv2.VideoCapture('932592103.mp4')
Check if the video file opened successfully
if not cap.isOpened():
print("Error: Unable to open video file.")
exit()
Read and display each frame
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
Convert the frame to grayscale
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
Resize the frame to fit the OLED display
resized_frame = cv2.resize(gray_frame, (disp.width, disp.height))
Convert the frame to PIL Image
pil_image = Image.fromarray(resized_frame).convert('1')
Display image.
disp.image(pil_image)
disp.display()
Delay to control frame rate (adjust as needed)
time.sleep(0.1)
Release the video capture object and close the display
cap.release()
disp.clear()
disp.display()