Files
ENI-Python/P3.py
johanleroy 40a2252381 TP03
2025-09-09 09:33:35 +02:00

40 lines
1.0 KiB
Python

import cv2
import os
import time
# Ensemble de caractères par intensité
ASCII_CHARS = "@%#*+=-:. "
def resize_frame(frame, new_width=120):
height, width = frame.shape
ratio = height / width / 1.65 # correction pour terminal
new_height = int(new_width * ratio)
resized = cv2.resize(frame, (new_width, new_height))
return resized
def gray_to_ascii(gray_frame):
ascii_frame = ""
for row in gray_frame:
for pixel in row:
ascii_frame += ASCII_CHARS[pixel // 25]
ascii_frame += "\n"
return ascii_frame
def play_video(path):
cap = cv2.VideoCapture(path)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
resized = resize_frame(gray)
ascii_frame = gray_to_ascii(resized)
os.system("cls" if os.name == "nt" else "clear")
print(ascii_frame)
time.sleep(0.03) # ~30 FPS
cap.release()
if __name__ == "__main__":
play_video("media1.mp4") # remplace par ton fichier