freealise commited on
Commit
989593a
1 Parent(s): 4d4ff7e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -15
app.py CHANGED
@@ -15,6 +15,7 @@ from vincenty import vincenty
15
  import json
16
  from collections import Counter
17
  import mediapy
 
18
 
19
  #from depth_anything.dpt import DepthAnything
20
  #from depth_anything.util.transform import Resize, NormalizeImage, PrepareForNet
@@ -128,6 +129,7 @@ def make_video(video_path, outdir='./vis_video_depth', encoder='vits', blur_data
128
  filenames.sort()
129
 
130
  # os.makedirs(outdir, exist_ok=True)
 
131
 
132
  for k, filename in enumerate(filenames):
133
  file_size = os.path.getsize(filename)/1024/1024
@@ -152,7 +154,7 @@ def make_video(video_path, outdir='./vis_video_depth', encoder='vits', blur_data
152
  #out = cv2.VideoWriter(output_path, cv2.VideoWriter_fourcc(*"avc1"), frame_rate, (output_width, frame_height))
153
  #fourcc = cv2.VideoWriter_fourcc(*'mp4v')
154
  #out = cv2.VideoWriter(output_path, fourcc, frame_rate, (output_width, frame_height))
155
- global masks
156
  count = 0
157
  n = 0
158
  depth_frames = []
@@ -236,6 +238,22 @@ def make_video(video_path, outdir='./vis_video_depth', encoder='vits', blur_data
236
 
237
  cv2.imwrite(f"f{count}_mask.png", depth_gray)
238
  masks.append(f"f{count}_mask.png")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  count += 1
240
 
241
  final_vid = create_video(orig_frames, frame_rate, "orig")
@@ -942,18 +960,7 @@ with gr.Blocks(css=css, js=js) as demo:
942
  load_all = gr.Checkbox(label="Load all")
943
 
944
  with gr.Group():
945
- html = gr.HTML(value="""<label for='zoom'>Zoom</label><input id='zoom' type='range' style='width:256px;height:1em;' value='0.8' min='0.157' max='1.57' step='0.001' oninput='
946
- if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
947
- var evt = document.createEvent(\"Event\");
948
- evt.initEvent(\"click\", true, false);
949
- document.getElementById(\"reset_cam\").dispatchEvent(evt);
950
- }
951
- BABYLON.Engine.LastCreatedScene.activeCamera.fov = this.value;
952
- this.parentNode.childNodes[2].innerText = BABYLON.Engine.LastCreatedScene.activeCamera.fov;
953
-
954
- document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].style.filter = \"blur(\" + BABYLON.Engine.LastCreatedScene.getNodes()[parseInt(document.getElementById(\"fnum\").getElementsByTagName(\"input\")[0].value)+1].material.pointSize/2.0*Math.sqrt(2.0) + \"px)\";
955
- '/><span>0.8</span>""")
956
- camera = gr.HTML(value="""<a href='#' id='reset_cam' style='color:white' onclick='
957
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
958
  BABYLON.Engine.LastCreatedScene.activeCamera.metadata = {
959
  screenshot: true,
@@ -970,7 +977,18 @@ with gr.Blocks(css=css, js=js) as demo:
970
  document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].oncontextmenu = function(e){e.preventDefault();}
971
  document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].ondrag = function(e){e.preventDefault();}
972
  '>Reset camera</a>""")
973
- contrast = gr.HTML(value="""<label for='contrast'>Contrast</label><input id='contrast' type='range' style='width:256px;height:1em;' value='1.0' min='0' max='2' step='0.001' oninput='
 
 
 
 
 
 
 
 
 
 
 
974
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
975
  var evt = document.createEvent(\"Event\");
976
  evt.initEvent(\"click\", true, false);
@@ -979,7 +997,7 @@ with gr.Blocks(css=css, js=js) as demo:
979
  BABYLON.Engine.LastCreatedScene.activeCamera.metadata.pipeline.imageProcessing.contrast = this.value;
980
  this.parentNode.childNodes[2].innerText = BABYLON.Engine.LastCreatedScene.activeCamera.metadata.pipeline.imageProcessing.contrast;
981
  '/><span>1.0</span>""")
982
- exposure = gr.HTML(value="""<label for='exposure'>Exposure</label><input id='exposure' type='range' style='width:256px;height:1em;' value='1.0' min='0' max='2' step='0.001' oninput='
983
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
984
  var evt = document.createEvent(\"Event\");
985
  evt.initEvent(\"click\", true, false);
 
15
  import json
16
  from collections import Counter
17
  import mediapy
18
+ from pymatting import cutout
19
 
20
  #from depth_anything.dpt import DepthAnything
21
  #from depth_anything.util.transform import Resize, NormalizeImage, PrepareForNet
 
129
  filenames.sort()
130
 
131
  # os.makedirs(outdir, exist_ok=True)
132
+ global masks
133
 
134
  for k, filename in enumerate(filenames):
135
  file_size = os.path.getsize(filename)/1024/1024
 
154
  #out = cv2.VideoWriter(output_path, cv2.VideoWriter_fourcc(*"avc1"), frame_rate, (output_width, frame_height))
155
  #fourcc = cv2.VideoWriter_fourcc(*'mp4v')
156
  #out = cv2.VideoWriter(output_path, fourcc, frame_rate, (output_width, frame_height))
157
+
158
  count = 0
159
  n = 0
160
  depth_frames = []
 
238
 
239
  cv2.imwrite(f"f{count}_mask.png", depth_gray)
240
  masks.append(f"f{count}_mask.png")
241
+
242
+ depth_gray_trimap = np.zeros(depth_gray.shape[:2], np.uint8)
243
+ depth_gray_trimap[depth_gray==128] = 0
244
+ depth_gray_trimap[depth_gray==129] = 255
245
+ depth_gray_trimap[depth_gray==131] = 127
246
+
247
+ cv2.imwrite(f"f{count}_trimap.png", depth_gray_trimap)
248
+
249
+ cutout(
250
+ # input image path
251
+ f"f{count}.png",
252
+ # input trimap path
253
+ f"f{count}_trimap.png",
254
+ # output cutout path
255
+ f"f{count}.png")
256
+
257
  count += 1
258
 
259
  final_vid = create_video(orig_frames, frame_rate, "orig")
 
960
  load_all = gr.Checkbox(label="Load all")
961
 
962
  with gr.Group():
963
+ camera = gr.HTML(value="""<a href='#' id='reset_cam' style='float:right;color:white' onclick='
 
 
 
 
 
 
 
 
 
 
 
964
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
965
  BABYLON.Engine.LastCreatedScene.activeCamera.metadata = {
966
  screenshot: true,
 
977
  document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].oncontextmenu = function(e){e.preventDefault();}
978
  document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].ondrag = function(e){e.preventDefault();}
979
  '>Reset camera</a>""")
980
+ html = gr.HTML(value="""<label for='zoom' style='width:5em'>Zoom</label><input id='zoom' type='range' style='width:256px;height:1em;' value='0.8' min='0.157' max='1.57' step='0.001' oninput='
981
+ if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
982
+ var evt = document.createEvent(\"Event\");
983
+ evt.initEvent(\"click\", true, false);
984
+ document.getElementById(\"reset_cam\").dispatchEvent(evt);
985
+ }
986
+ BABYLON.Engine.LastCreatedScene.activeCamera.fov = this.value;
987
+ this.parentNode.childNodes[2].innerText = BABYLON.Engine.LastCreatedScene.activeCamera.fov;
988
+
989
+ document.getElementById(\"model3D\").getElementsByTagName(\"canvas\")[0].style.filter = \"blur(\" + BABYLON.Engine.LastCreatedScene.getNodes()[parseInt(document.getElementById(\"fnum\").getElementsByTagName(\"input\")[0].value)+1].material.pointSize/2.0*Math.sqrt(2.0) + \"px)\";
990
+ '/><span>0.8</span>""")
991
+ contrast = gr.HTML(value="""<label for='contrast' style='width:5em'>Contrast</label><input id='contrast' type='range' style='width:256px;height:1em;' value='1.0' min='0' max='2' step='0.001' oninput='
992
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
993
  var evt = document.createEvent(\"Event\");
994
  evt.initEvent(\"click\", true, false);
 
997
  BABYLON.Engine.LastCreatedScene.activeCamera.metadata.pipeline.imageProcessing.contrast = this.value;
998
  this.parentNode.childNodes[2].innerText = BABYLON.Engine.LastCreatedScene.activeCamera.metadata.pipeline.imageProcessing.contrast;
999
  '/><span>1.0</span>""")
1000
+ exposure = gr.HTML(value="""<label for='exposure' style='width:5em'>Exposure</label><input id='exposure' type='range' style='width:256px;height:1em;' value='1.0' min='0' max='2' step='0.001' oninput='
1001
  if (!BABYLON.Engine.LastCreatedScene.activeCamera.metadata) {
1002
  var evt = document.createEvent(\"Event\");
1003
  evt.initEvent(\"click\", true, false);