freealise commited on
Commit
12c2548
·
verified ·
1 Parent(s): 4c2035a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -1
app.py CHANGED
@@ -391,6 +391,14 @@ def get_mesh(image, depth, blur_data, loadall):
391
  #print('file - ok')
392
  return "./TriangleWithoutIndices.gltf", ",".join(mesh_n)
393
 
 
 
 
 
 
 
 
 
394
  def blur_image(image, depth, blur_data):
395
  blur_a = blur_data.split()
396
  #print(f'blur data {blur_data}')
@@ -790,6 +798,12 @@ async(c, o, p, d, n, m, s)=>{
790
  toggleDisplay("model");
791
  }
792
  clearInterval(intv);
 
 
 
 
 
 
793
  }
794
  } catch(e) {alert(e);}
795
  }
@@ -1148,6 +1162,14 @@ with gr.Blocks(css=css, js=js, head=head) as demo:
1148
  processed_zip = gr.File(label="Output Archive", interactive=False)
1149
  depth_video = gr.Video(label="Depth Video", format="mp4", elem_id="depth_video", interactive=False, visible=True)
1150
  result = gr.Model3D(label="3D Mesh", clear_color=[0.5, 0.5, 0.5, 0.0], camera_position=[0, 90, 0], zoom_speed=2.0, pan_speed=2.0, interactive=True, elem_id="model3D")
 
 
 
 
 
 
 
 
1151
  with gr.Tab("Blur"):
1152
  chart_c = gr.HTML(elem_id="chart_c", value="""<div id='chart' onpointermove='window.drawLine(event.clientX, event.clientY);' onpointerdown='window.pointerDown(event.clientX, event.clientY);' onpointerup='window.pointerUp();' onpointerleave='window.pointerUp();' onpointercancel='window.pointerUp();' onclick='window.resetLine();'></div>
1153
  <style>
@@ -1371,7 +1393,7 @@ with gr.Blocks(css=css, js=js, head=head) as demo:
1371
  return output_video_path + (json.dumps(locations),)
1372
 
1373
  submit.click(on_submit, inputs=[input_video, model_type, blur_in, boffset, bsize, coords], outputs=[processed_video, processed_zip, output_frame, output_mask, output_depth, depth_video, coords])
1374
- render.click(None, inputs=[coords, mesh_order, output_frame, output_mask, selected, output_depth, output_switch], outputs=None, js=load_model)
1375
  render.click(partial(get_mesh), inputs=[output_frame, output_mask, blur_in, load_all], outputs=[result, mesh_order])
1376
 
1377
  example_files = [["./examples/streetview.mp4", "vits", blurin, 1, 32, example_coords]]
 
391
  #print('file - ok')
392
  return "./TriangleWithoutIndices.gltf", ",".join(mesh_n)
393
 
394
+
395
+ def scene_file(data):
396
+ f = open("./scene.babylon", "w")
397
+ f.write(data)
398
+ f.close()
399
+ return "./scene.babylon"
400
+
401
+
402
  def blur_image(image, depth, blur_data):
403
  blur_a = blur_data.split()
404
  #print(f'blur data {blur_data}')
 
798
  toggleDisplay("model");
799
  }
800
  clearInterval(intv);
801
+
802
+
803
+ var serializedScene = BABYLON.SceneSerializer.Serialize(BABYLON.Engine.LastCreatedScene);
804
+ var strScene = JSON.stringify(serializedScene);
805
+
806
+ return strScene;
807
  }
808
  } catch(e) {alert(e);}
809
  }
 
1162
  processed_zip = gr.File(label="Output Archive", interactive=False)
1163
  depth_video = gr.Video(label="Depth Video", format="mp4", elem_id="depth_video", interactive=False, visible=True)
1164
  result = gr.Model3D(label="3D Mesh", clear_color=[0.5, 0.5, 0.5, 0.0], camera_position=[0, 90, 0], zoom_speed=2.0, pan_speed=2.0, interactive=True, elem_id="model3D")
1165
+ with gr.Accordion(label="Embed in website", open=False):
1166
+ embed_model = gr.Textbox(elem_id="embed_model", label="Include this wherever the model is to appear on the page", interactive=False, value="""
1167
+ <script src='https://preview.babylonjs.com/viewer/babylon.viewer.js'></script>
1168
+ <babylon model='./scene.babylon'></babylon>
1169
+ """)
1170
+ embed_json = gr.JSON(label="Scene", interactive=False)
1171
+ embed_zip = gr.File(label="Scene File", interactive=False)
1172
+ embed_json.change(fn=scene_file, inputs=[embed_json], outputs=[embed_zip])
1173
  with gr.Tab("Blur"):
1174
  chart_c = gr.HTML(elem_id="chart_c", value="""<div id='chart' onpointermove='window.drawLine(event.clientX, event.clientY);' onpointerdown='window.pointerDown(event.clientX, event.clientY);' onpointerup='window.pointerUp();' onpointerleave='window.pointerUp();' onpointercancel='window.pointerUp();' onclick='window.resetLine();'></div>
1175
  <style>
 
1393
  return output_video_path + (json.dumps(locations),)
1394
 
1395
  submit.click(on_submit, inputs=[input_video, model_type, blur_in, boffset, bsize, coords], outputs=[processed_video, processed_zip, output_frame, output_mask, output_depth, depth_video, coords])
1396
+ render.click(None, inputs=[coords, mesh_order, output_frame, output_mask, selected, output_depth, output_switch], outputs=[embed_json], js=load_model)
1397
  render.click(partial(get_mesh), inputs=[output_frame, output_mask, blur_in, load_all], outputs=[result, mesh_order])
1398
 
1399
  example_files = [["./examples/streetview.mp4", "vits", blurin, 1, 32, example_coords]]