Spaces:
Runtime error
Runtime error
jens
commited on
Commit
·
9e6e225
1
Parent(s):
0579ca3
Ui update
Browse files
app.py
CHANGED
|
@@ -36,7 +36,16 @@ with block:
|
|
| 36 |
input_image = gr.Image(label='Input', type='pil', tool=None) # mirror_webcam = False
|
| 37 |
sam_encode_btn = gr.Button('Encode', variant='primary')
|
| 38 |
sam_encode_status = gr.Label('Not encoded yet')
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
with gr.Row():
|
| 41 |
with gr.Column():
|
| 42 |
pcl_figure = gr.Model3D(label="3-D Reconstruction", clear_color=[1.0, 1.0, 1.0, 1.0])
|
|
@@ -71,24 +80,25 @@ with block:
|
|
| 71 |
input_image.upload(on_input_image_upload, [input_image], [input_image, point_coords, point_labels], queue=False)
|
| 72 |
|
| 73 |
# event - set coords
|
| 74 |
-
def on_prompt_image_select(input_image, point_coords, point_labels, point_label_radio, evt: gr.SelectData):
|
| 75 |
x, y = evt.index
|
| 76 |
color = red if point_label_radio == 0 else blue
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
|
|
|
| 80 |
point_coords.append([x,y])
|
| 81 |
point_labels.append(point_label_radio)
|
| 82 |
generated_mask, _, _ = sam.cond_pred(pts=np.array(point_coords), lbls=np.array(point_labels))
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
point_coords,
|
| 87 |
point_labels ]
|
| 88 |
-
|
| 89 |
prompt_image.select(on_prompt_image_select,
|
| 90 |
[input_image, point_coords, point_labels, point_label_radio],
|
| 91 |
-
[prompt_image, point_coords, point_labels], queue=False)
|
| 92 |
|
| 93 |
def on_click_sam_encode_btn(inputs):
|
| 94 |
print("encoding")
|
|
|
|
| 36 |
input_image = gr.Image(label='Input', type='pil', tool=None) # mirror_webcam = False
|
| 37 |
sam_encode_btn = gr.Button('Encode', variant='primary')
|
| 38 |
sam_encode_status = gr.Label('Not encoded yet')
|
| 39 |
+
with gr.Row():
|
| 40 |
+
with gr.Tab("Select with points"):
|
| 41 |
+
with gr.Column():
|
| 42 |
+
prompt_image = gr.Image(label='Segments')
|
| 43 |
+
prompt_lbl_image = gr.AnnotatedImage(label='Segment Labels')
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
with gr.Tab("Select from segmented map"):
|
| 47 |
+
everything_image = gr.AnnotatedImage(label='Everything')
|
| 48 |
+
|
| 49 |
with gr.Row():
|
| 50 |
with gr.Column():
|
| 51 |
pcl_figure = gr.Model3D(label="3-D Reconstruction", clear_color=[1.0, 1.0, 1.0, 1.0])
|
|
|
|
| 80 |
input_image.upload(on_input_image_upload, [input_image], [input_image, point_coords, point_labels], queue=False)
|
| 81 |
|
| 82 |
# event - set coords
|
| 83 |
+
def on_prompt_image_select(input_image, prompt, point_coords, point_labels, point_label_radio, evt: gr.SelectData):
|
| 84 |
x, y = evt.index
|
| 85 |
color = red if point_label_radio == 0 else blue
|
| 86 |
+
if prompt is None:
|
| 87 |
+
prompt = np.array(input_image.copy())
|
| 88 |
+
|
| 89 |
+
cv2.circle(prompt, (x, y), 5, color, -1)
|
| 90 |
point_coords.append([x,y])
|
| 91 |
point_labels.append(point_label_radio)
|
| 92 |
generated_mask, _, _ = sam.cond_pred(pts=np.array(point_coords), lbls=np.array(point_labels))
|
| 93 |
+
|
| 94 |
+
return [ prompt,
|
| 95 |
+
(input_image, [(generated_mask, "Mask")]),
|
| 96 |
point_coords,
|
| 97 |
point_labels ]
|
| 98 |
+
|
| 99 |
prompt_image.select(on_prompt_image_select,
|
| 100 |
[input_image, point_coords, point_labels, point_label_radio],
|
| 101 |
+
[prompt_image, prompt_lbl_image, point_coords, point_labels], queue=False)
|
| 102 |
|
| 103 |
def on_click_sam_encode_btn(inputs):
|
| 104 |
print("encoding")
|