zaferturan commited on
Commit
64caca7
1 Parent(s): c6b9564

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2 as cv
2
+ import numpy as np
3
+
4
+ # Giriş ve çıkış video
5
+ input_video = r'data/araba.mp4'
6
+ output_video = r'data/araba_output.mp4'
7
+
8
+ # Video yakalama
9
+ cap = cv.VideoCapture(input_video)
10
+
11
+ # Video özelliklerine bak
12
+ fourcc = cv.VideoWriter_fourcc(*'mp4v') # Kodek
13
+ fps = int(cap.get(cv.CAP_PROP_FPS)) # Saniyedeki frame sayısı
14
+ width = int(cap.get(cv.CAP_PROP_FRAME_WIDTH)) # Genişlik
15
+ height = int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)) # Yükseklik
16
+
17
+ out = cv.VideoWriter(output_video, fourcc, fps, (width, height)) # Videoyumuzu belirtilen özelliklerde oluşturur
18
+
19
+ # CUDA desteğini kontrol et
20
+ cuda_enabled = cv.cuda.getCudaEnabledDeviceCount() > 0
21
+ device_label = "Device: GPU" if cuda_enabled else "Device: CPU"
22
+
23
+ # Video çerçevelerini işleme hızını kontrol etmek için bekleme süresi
24
+ delay = int(1000 / fps) # Milisaniye cinsinden bekleme süresi
25
+
26
+ while cap.isOpened():
27
+ ret, frame = cap.read()
28
+
29
+ if not ret: # Okuma başarılı ise
30
+ break
31
+
32
+ # Renk kanallarını ayarla
33
+ b, g, r = cv.split(frame)
34
+
35
+ rgb_frame = cv.merge((b, r, r))
36
+
37
+ # CPU/GPU kullanımını göstermek için etiketi çerçeve üzerine ekleyin
38
+ cv.putText(rgb_frame, device_label, (10, 30), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv.LINE_AA)
39
+
40
+ cv.imshow('Mavi video', rgb_frame)
41
+
42
+ out.write(rgb_frame) # Videoya yaz
43
+
44
+ # 'q' tuşuna basana kadar bekle
45
+ if cv.waitKey(delay) & 0xFF == ord('q'):
46
+ break
47
+
48
+ cap.release()
49
+ out.release()
50
+ cv.destroyAllWindows()