Untitled
unknown
plain_text
2 years ago
1.8 kB
7
Indexable
import cv2
import numpy as np
# Parametri pentru cerc
center = (130, 190)
start_radius = 5
end_radius = 150
# Parametri pentru linie
line_color = (0, 255, 0) # Verde
line_thickness = 2
# Parametri pentru text
text = "Laborator VA"
text_color = (255, 255, 255) # Alb
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1
text_thickness = 2
# Deschideți fluxul video
cap = cv2.VideoCapture('nume_fisier_video.mp4')
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
# Creați video de ieșire
out = cv2.VideoWriter('rezultat.avi', cv2.VideoWriter_fourcc(*'DIVX'), fps, (frame_width, frame_height))
# Iterați prin fiecare cadru
for i in range(total_frames):
ret, frame = cap.read()
if not ret:
break
# Adăugați cerc
radius = int(start_radius + (end_radius - start_radius) * (i / total_frames))
cv2.circle(frame, center, radius, (255, 0, 0), -1)
# Adăugați linie
cv2.line(frame, (0, i * frame_height // total_frames), (frame_width, i * frame_height // total_frames), line_color, line_thickness)
# Adăugați text
cv2.putText(frame, text[:int(i * len(text) / total_frames)], (50, 50), font, font_scale, text_color, text_thickness)
# Suprascrieți colțul din dreapta-jos cu conținutul colțului din dreapta-sus al cadrului anterior
if i > 0:
frame[100:, 100:] = prev_frame[:frame_height - 100, 100:]
# Scrieți cadru în video de ieșire
out.write(frame)
# Salvați cadru anterior pentru suprascriere
prev_frame = frame.copy()
# Afișați progresul
print(f"Frame {i}/{total_frames} processed")
# Eliberați resursele
cap.release()
out.release()
cv2.destroyAllWindows()Editor is loading...
Leave a Comment