Rodrigo_Cobo
commited on
Commit
•
604f38b
1
Parent(s):
cc62c8c
new way of creating mp4
Browse files- WiggleResults/split.py +9 -15
- app.py +7 -2
WiggleResults/split.py
CHANGED
@@ -4,6 +4,7 @@ import argparse
|
|
4 |
import imageio
|
5 |
import numpy as np
|
6 |
import cv2
|
|
|
7 |
|
8 |
parser = argparse.ArgumentParser(description='change to useful name')
|
9 |
parser.add_argument('--dim', default=256, type=int, help='dimention image')
|
@@ -17,21 +18,14 @@ dim = args.dim
|
|
17 |
|
18 |
|
19 |
def createVideo(array_pil, space_time = 5, name = "out_"):
|
20 |
-
|
21 |
-
size = array_pil[0].size[0]
|
22 |
-
|
23 |
-
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
|
24 |
-
video = cv2.VideoWriter(name +".mp4", # Filename
|
25 |
-
fourcc,
|
26 |
-
30, # 10 frames per second is chosen as a demo, 30FPS and 60FPS is more typical for a YouTube video
|
27 |
-
(size,size) # The width and height come from the stats of image1
|
28 |
-
)
|
29 |
-
|
30 |
-
for image_pil in array_pil:
|
31 |
-
for i in range (0,space_time):
|
32 |
-
video.write(cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR))
|
33 |
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
|
37 |
def gif_order (data, center=True):
|
@@ -100,7 +94,7 @@ for file in dirs:
|
|
100 |
pointleft+= dim+4
|
101 |
# Ya tengo todas las imagenes podria hacer el gif aca
|
102 |
rowImages = gif_order(rowImages,center=False)
|
103 |
-
createVideo(rowImages,
|
104 |
|
105 |
name = "./" + ROOT_DIR + '/' + file[:-4] + "_" + str(i) + '.gif'
|
106 |
rowImages[0].save(name, save_all=True,format='GIF', append_images=rowImages[1:], optimize=True, duration=100, loop=0)
|
|
|
4 |
import imageio
|
5 |
import numpy as np
|
6 |
import cv2
|
7 |
+
import mediapy as media
|
8 |
|
9 |
parser = argparse.ArgumentParser(description='change to useful name')
|
10 |
parser.add_argument('--dim', default=256, type=int, help='dimention image')
|
|
|
18 |
|
19 |
|
20 |
def createVideo(array_pil, space_time = 5, name = "out_"):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
ar_im = []
|
23 |
+
for j in range(3):
|
24 |
+
for image in array_pil:
|
25 |
+
for i in range (0,space_time):
|
26 |
+
ar_im.append(np.array(image))
|
27 |
+
|
28 |
+
media.write_video(name +".mp4" , ar_im, fps=30, qp=18)
|
29 |
|
30 |
|
31 |
def gif_order (data, center=True):
|
|
|
94 |
pointleft+= dim+4
|
95 |
# Ya tengo todas las imagenes podria hacer el gif aca
|
96 |
rowImages = gif_order(rowImages,center=False)
|
97 |
+
createVideo(rowImages, 3, name = "./" + ROOT_DIR + '/' + file[:-4] + "_" + str(i))
|
98 |
|
99 |
name = "./" + ROOT_DIR + '/' + file[:-4] + "_" + str(i) + '.gif'
|
100 |
rowImages[0].save(name, save_all=True,format='GIF', append_images=rowImages[1:], optimize=True, duration=100, loop=0)
|
app.py
CHANGED
@@ -10,6 +10,7 @@ import subprocess
|
|
10 |
|
11 |
def calculate_depth(model_type, gan_type, dim, slider, img):
|
12 |
|
|
|
13 |
if not os.path.exists('temp'):
|
14 |
os.system('mkdir temp')
|
15 |
|
@@ -50,6 +51,7 @@ def calculate_depth(model_type, gan_type, dim, slider, img):
|
|
50 |
formatted = (output * 255.0 / np.max(output)).astype('uint8')
|
51 |
out_im = Image.fromarray(formatted)
|
52 |
out_im.save("Images/Input-Test/1_d.png", "PNG")
|
|
|
53 |
|
54 |
c_images = '1'
|
55 |
name_output = 'out'
|
@@ -61,7 +63,10 @@ def calculate_depth(model_type, gan_type, dim, slider, img):
|
|
61 |
])
|
62 |
subprocess.run(["python", "WiggleResults/split.py", "--dim", dim])
|
63 |
|
64 |
-
|
|
|
|
|
|
|
65 |
|
66 |
|
67 |
with gr.Blocks() as demo:
|
@@ -82,7 +87,7 @@ with gr.Blocks() as demo:
|
|
82 |
out = [gr.Image(type="pil", label="depth_estimation")]
|
83 |
with gr.Row():
|
84 |
out.append(gr.Image(type="file", label="Output_wiggle_gif"))
|
85 |
-
out.append(gr.Video(label="Output_wiggle_video"
|
86 |
out.append(gr.Image(type="file", label="Output_images"))
|
87 |
btn = gr.Button("Calculate depth + Wiggle")
|
88 |
btn.click(fn=calculate_depth, inputs=inp, outputs=out)
|
|
|
10 |
|
11 |
def calculate_depth(model_type, gan_type, dim, slider, img):
|
12 |
|
13 |
+
|
14 |
if not os.path.exists('temp'):
|
15 |
os.system('mkdir temp')
|
16 |
|
|
|
51 |
formatted = (output * 255.0 / np.max(output)).astype('uint8')
|
52 |
out_im = Image.fromarray(formatted)
|
53 |
out_im.save("Images/Input-Test/1_d.png", "PNG")
|
54 |
+
|
55 |
|
56 |
c_images = '1'
|
57 |
name_output = 'out'
|
|
|
63 |
])
|
64 |
subprocess.run(["python", "WiggleResults/split.py", "--dim", dim])
|
65 |
|
66 |
+
path_video = os.path.join(os.path.dirname(__file__), 'WiggleResults' , name_output + '_0.mp4')
|
67 |
+
print(path_video)
|
68 |
+
|
69 |
+
return [img,f'WiggleResults/' + name_output + '_0.gif', path_video, f'WiggleResults/'+ name_output + '.jpg']
|
70 |
|
71 |
|
72 |
with gr.Blocks() as demo:
|
|
|
87 |
out = [gr.Image(type="pil", label="depth_estimation")]
|
88 |
with gr.Row():
|
89 |
out.append(gr.Image(type="file", label="Output_wiggle_gif"))
|
90 |
+
out.append(gr.Video(label="Output_wiggle_video"))
|
91 |
out.append(gr.Image(type="file", label="Output_images"))
|
92 |
btn = gr.Button("Calculate depth + Wiggle")
|
93 |
btn.click(fn=calculate_depth, inputs=inp, outputs=out)
|