fffiloni commited on
Commit
8084825
1 Parent(s): 8ca72f6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -20
app.py CHANGED
@@ -30,6 +30,25 @@ import tempfile
30
  from pathlib import Path
31
  from urllib.request import urlretrieve
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  def infer():
34
  video_url = "https://download.pytorch.org/tutorial/pexelscom_pavel_danilyuk_basketball_hd.mp4"
35
  video_path = Path(tempfile.mkdtemp()) / "basketball.mp4"
@@ -122,8 +141,8 @@ def infer():
122
  flow_img = flow_to_image(predicted_flow).to("cpu")
123
  # output_folder = "/tmp/" # Update this to the folder of your choice
124
  write_jpeg(flow_img, f"predicted_flow.jpg")
125
-
126
- return "done", "predicted_flow.jpg"
127
  ####################################
128
  # Bonus: Creating GIFs of predicted flows
129
  # ---------------------------------------
@@ -151,22 +170,5 @@ def infer():
151
  #
152
  # ffmpeg -f image2 -framerate 30 -i predicted_flow_%d.jpg -loop -1 flow.gif
153
 
154
- def write_flo(filename, flow):
155
- """
156
- write optical flow in Middlebury .flo format
157
- :param flow: optical flow map
158
- :param filename: optical flow file path to be saved
159
- :return: None
160
- """
161
- f = open(filename, 'wb')
162
- magic = np.array([202021.25], dtype=np.float32)
163
- (height, width) = flow.shape[0:2]
164
- w = np.array([width], dtype=np.int32)
165
- h = np.array([height], dtype=np.int32)
166
- magic.tofile(f)
167
- w.tofile(f)
168
- h.tofile(f)
169
- flow.tofile(f)
170
- f.close()
171
 
172
- gr.Interface(fn=infer, inputs=[], outputs=[gr.Textbox(), gr.Image()]).launch()
 
30
  from pathlib import Path
31
  from urllib.request import urlretrieve
32
 
33
+ def write_flo(filename, flow):
34
+ """
35
+ write optical flow in Middlebury .flo format
36
+ :param flow: optical flow map
37
+ :param filename: optical flow file path to be saved
38
+ :return: None
39
+ """
40
+ f = open(filename, 'wb')
41
+ magic = np.array([202021.25], dtype=np.float32)
42
+ (height, width) = flow.shape[0:2]
43
+ w = np.array([width], dtype=np.int32)
44
+ h = np.array([height], dtype=np.int32)
45
+ magic.tofile(f)
46
+ w.tofile(f)
47
+ h.tofile(f)
48
+ flow.tofile(f)
49
+ f.close()
50
+
51
+
52
  def infer():
53
  video_url = "https://download.pytorch.org/tutorial/pexelscom_pavel_danilyuk_basketball_hd.mp4"
54
  video_path = Path(tempfile.mkdtemp()) / "basketball.mp4"
 
141
  flow_img = flow_to_image(predicted_flow).to("cpu")
142
  # output_folder = "/tmp/" # Update this to the folder of your choice
143
  write_jpeg(flow_img, f"predicted_flow.jpg")
144
+ flo_file = write_flo("flofile.flo", predicted_flow)
145
+ return "done", "predicted_flow.jpg", flo_file
146
  ####################################
147
  # Bonus: Creating GIFs of predicted flows
148
  # ---------------------------------------
 
170
  #
171
  # ffmpeg -f image2 -framerate 30 -i predicted_flow_%d.jpg -loop -1 flow.gif
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
 
174
+ gr.Interface(fn=infer, inputs=[], outputs=[gr.Textbox(), gr.Image(), gr.File()]).launch()