Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
1.8 kB
1
Indexable
Never
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()
Leave a Comment