File size: 1,502 Bytes
64caca7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import cv2 as cv
import numpy as np

# Giriş ve çıkış video
input_video = r'data/araba.mp4'
output_video = r'data/araba_output.mp4'

# Video yakalama
cap = cv.VideoCapture(input_video)

# Video özelliklerine bak
fourcc = cv.VideoWriter_fourcc(*'mp4v')  # Kodek
fps = int(cap.get(cv.CAP_PROP_FPS))  # Saniyedeki frame sayısı
width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH))  # Genişlik
height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT))  # Yükseklik

out = cv.VideoWriter(output_video, fourcc, fps, (width, height))  # Videoyumuzu belirtilen özelliklerde oluşturur

# CUDA desteğini kontrol et
cuda_enabled = cv.cuda.getCudaEnabledDeviceCount() > 0
device_label = "Device: GPU" if cuda_enabled else "Device: CPU"

# Video çerçevelerini işleme hızını kontrol etmek için bekleme süresi
delay = int(1000 / fps)  # Milisaniye cinsinden bekleme süresi

while cap.isOpened():
    ret, frame = cap.read()
    
    if not ret:  # Okuma başarılı ise
        break

    # Renk kanallarını ayarla
    b, g, r = cv.split(frame)

    rgb_frame = cv.merge((b, r, r))
    
    # CPU/GPU kullanımını göstermek için etiketi çerçeve üzerine ekleyin
    cv.putText(rgb_frame, device_label, (10, 30), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv.LINE_AA)
    
    cv.imshow('Mavi video', rgb_frame)

    out.write(rgb_frame)  # Videoya yaz
    
    # 'q' tuşuna basana kadar bekle
    if cv.waitKey(delay) & 0xFF == ord('q'):
        break

cap.release()
out.release()
cv.destroyAllWindows()