Siyun He commited on
Commit
03ede8d
·
1 Parent(s): 27ea583

improve gradio interface

Browse files
Files changed (1) hide show
  1. app.py +26 -12
app.py CHANGED
@@ -309,27 +309,41 @@ def webcam_input(frame, transform, lip_color):
309
  return frame, face_shape, glass_shape
310
 
311
 
312
-
313
- # Gradio Interface
314
  with gr.Blocks(theme=gr.themes.Soft(primary_hue="purple", secondary_hue="blue")) as demo:
315
  gr.Markdown("<h1 style='text-align: center; font-weight: bold;'>🤓 Glasses Virtual Try-On 🕶️👓</h1>")
316
  with gr.Column(elem_classes=["my-column"]):
317
  with gr.Group(elem_classes=["my-group"]):
318
- gr.Markdown("<h1 style='text-align: center; color: blue;'>You can only apply one filter at a time, either the transform filter or the lip color filter.</h1>")
319
- transform = gr.Dropdown(choices=["cartoon", "edges", "sepia", "negative", "sketch", "blur", "none"],
320
- value="none", label="Select Filter")
321
- lip_color = gr.Dropdown(choices=["classic_red", "deep_red", "cherry_red", "rose_red", "wine_red", "brick_red", "coral_red", "berry_red", "ruby_red", "crimson_red", "none"],
322
- value="none", label="Select Lip Color")
323
- gr.Markdown("Click the Webcam icon to start the camera, and then press the record button to start the virtual try-on.")
 
 
 
 
 
 
 
324
  input_img = gr.Image(sources=["webcam"], type="numpy", streaming=True)
325
- gr.Markdown("Face Shape and Recommended Glass Shape")
326
- face_shape_output = gr.Textbox(label="Detected Face Shape")
327
- glass_shape_output = gr.Textbox(label="Recommended Glass Shape")
328
  next_button = gr.Button("Next Glasses➡️")
 
 
 
 
 
 
 
329
  save_button = gr.Button("Save as a Picture📌")
330
- gr.Markdown("‼️Warning: Refresh the page after saving the picture to use the virtual try-on again.")
 
 
331
  download_link = gr.File(label="Download Saved Picture")
 
332
  input_img.stream(webcam_input, [input_img, transform, lip_color], [input_img, face_shape_output, glass_shape_output], stream_every=0.1)
 
333
  with gr.Row():
334
  next_button.click(change_glasses, [], [])
335
  with gr.Row():
 
309
  return frame, face_shape, glass_shape
310
 
311
 
312
+ # Gradio interface
 
313
  with gr.Blocks(theme=gr.themes.Soft(primary_hue="purple", secondary_hue="blue")) as demo:
314
  gr.Markdown("<h1 style='text-align: center; font-weight: bold;'>🤓 Glasses Virtual Try-On 🕶️👓</h1>")
315
  with gr.Column(elem_classes=["my-column"]):
316
  with gr.Group(elem_classes=["my-group"]):
317
+ gr.Markdown("<p style='text-align: left; color: purple;'>🟣You can only apply one filter at a time, either the transform filter or the lip color filter.</p>")
318
+ # Two filters: transform and lip color
319
+ with gr.Row():
320
+ transform = gr.Dropdown(
321
+ choices=["cartoon", "edges", "sepia", "negative", "sketch", "blur", "none"],
322
+ value="none", label="Select Filter"
323
+ )
324
+
325
+ lip_color = gr.Dropdown(
326
+ choices=["classic_red", "deep_red", "cherry_red", "rose_red", "wine_red", "brick_red", "coral_red", "berry_red", "ruby_red", "crimson_red", "none"],
327
+ value="none", label="Select Lip Color"
328
+ )
329
+ gr.Markdown("<p style='text-align: left; font-weight: bold; color: purple;'>🟣Click the Webcam icon to start the camera, and then press the record button to start the virtual try-on.</p>")
330
  input_img = gr.Image(sources=["webcam"], type="numpy", streaming=True)
 
 
 
331
  next_button = gr.Button("Next Glasses➡️")
332
+ gr.Markdown("<p style='text-align: left; color: purple;'>🟣Face Shape and Recommended Glass Shape</p>")
333
+
334
+ # Face shape and recommended glass shape
335
+ with gr.Row():
336
+ face_shape_output = gr.Textbox(label="Detected Face Shape")
337
+ glass_shape_output = gr.Textbox(label="Recommended Glass Shape")
338
+
339
  save_button = gr.Button("Save as a Picture📌")
340
+
341
+ gr.Markdown("<p style='text-align: left; color: red;'>‼️Warning: Refresh the page after saving the picture to use the virtual try-on again.</p>")
342
+
343
  download_link = gr.File(label="Download Saved Picture")
344
+
345
  input_img.stream(webcam_input, [input_img, transform, lip_color], [input_img, face_shape_output, glass_shape_output], stream_every=0.1)
346
+
347
  with gr.Row():
348
  next_button.click(change_glasses, [], [])
349
  with gr.Row():