amirgame197 commited on
Commit
4aeccec
·
verified ·
1 Parent(s): 4629c7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -11
app.py CHANGED
@@ -12,26 +12,35 @@ remover = Remover()
12
  def doo(video):
13
  cap = cv2.VideoCapture(video)
14
  fps = cap.get(cv2.CAP_PROP_FPS)
 
 
15
 
16
  writer = None
 
17
 
18
  while cap.isOpened():
19
- ret, frame = cap.read()
20
-
21
- if ret is False:
 
 
 
 
 
 
 
22
  break
23
 
24
- frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
25
- img = Image.fromarray(frame).convert('RGB')
26
-
27
  if writer is None:
28
- writer = cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, img.size)
29
-
30
- out = remover.process(img, type='green')
31
- writer.write(cv2.cvtColor(np.array(out), cv2.COLOR_BGR2RGB))
 
32
 
33
  cap.release()
34
- writer.release()
 
35
  return 'output.mp4'
36
 
37
  iface = gr.Interface(fn=doo, inputs="video", outputs="video")
 
12
  def doo(video):
13
  cap = cv2.VideoCapture(video)
14
  fps = cap.get(cv2.CAP_PROP_FPS)
15
+ frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
16
+ frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
17
 
18
  writer = None
19
+ batch_size = 300
20
 
21
  while cap.isOpened():
22
+ frames = []
23
+ for _ in range(batch_size):
24
+ ret, frame = cap.read()
25
+ if ret is False:
26
+ break
27
+ frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
28
+ img = Image.fromarray(frame).convert('RGB')
29
+ frames.append(img)
30
+
31
+ if not frames:
32
  break
33
 
 
 
 
34
  if writer is None:
35
+ writer = cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (frame_width, frame_height))
36
+
37
+ for img in frames:
38
+ out = remover.process(img, type='green')
39
+ writer.write(cv2.cvtColor(np.array(out), cv2.COLOR_BGR2RGB))
40
 
41
  cap.release()
42
+ if writer:
43
+ writer.release()
44
  return 'output.mp4'
45
 
46
  iface = gr.Interface(fn=doo, inputs="video", outputs="video")