kigison commited on
Commit
80c18f0
·
verified ·
1 Parent(s): 3430d49

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -1
app.py CHANGED
@@ -16,6 +16,8 @@ def edge_detection(image, threshold1, threshold2):
16
 
17
  # 圖像修復功能(Inpainting)
18
  def image_inpainting(image, mask):
 
 
19
  mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY) if len(mask.shape) == 3 else mask
20
  inpainted = cv2.inpaint(image, mask, inpaintRadius=3, flags=cv2.INPAINT_TELEA)
21
  return inpainted
@@ -26,14 +28,21 @@ def main_interface(image, task, param1=50, param2=150, mask=None):
26
  return image_segmentation(image)
27
  elif task == "Edge Detection":
28
  return edge_detection(image, param1, param2)
29
- elif task == "Image Inpainting" and mask is not None:
30
  return image_inpainting(image, mask)
31
  else:
32
  return "Invalid Task or Missing Parameters!"
33
 
 
 
 
 
 
 
34
  # UI 設計
35
  with gr.Blocks() as app:
36
  gr.Markdown("# 電腦視覺功能展示應用程式")
 
37
  with gr.Row():
38
  with gr.Column():
39
  input_image = gr.Image(label="上傳圖片", type="numpy")
@@ -44,6 +53,13 @@ with gr.Blocks() as app:
44
  submit_button = gr.Button("執行")
45
  with gr.Column():
46
  output_image = gr.Image(label="輸出結果")
 
 
 
 
 
 
 
47
  submit_button.click(main_interface, inputs=[input_image, task, param1, param2, mask_input], outputs=output_image)
48
 
49
  # 啟動應用程式
 
16
 
17
  # 圖像修復功能(Inpainting)
18
  def image_inpainting(image, mask):
19
+ if mask is None:
20
+ return "請提供遮罩圖像以執行圖像修復。"
21
  mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY) if len(mask.shape) == 3 else mask
22
  inpainted = cv2.inpaint(image, mask, inpaintRadius=3, flags=cv2.INPAINT_TELEA)
23
  return inpainted
 
28
  return image_segmentation(image)
29
  elif task == "Edge Detection":
30
  return edge_detection(image, param1, param2)
31
+ elif task == "Image Inpainting":
32
  return image_inpainting(image, mask)
33
  else:
34
  return "Invalid Task or Missing Parameters!"
35
 
36
+ # 示例圖片
37
+ example_images = [
38
+ ["example1.jpg", "測試圖片 1"],
39
+ ["example2.jpg", "測試圖片 2"]
40
+ ]
41
+
42
  # UI 設計
43
  with gr.Blocks() as app:
44
  gr.Markdown("# 電腦視覺功能展示應用程式")
45
+
46
  with gr.Row():
47
  with gr.Column():
48
  input_image = gr.Image(label="上傳圖片", type="numpy")
 
53
  submit_button = gr.Button("執行")
54
  with gr.Column():
55
  output_image = gr.Image(label="輸出結果")
56
+
57
+ gr.Examples(
58
+ examples=example_images,
59
+ inputs=input_image,
60
+ label="示例圖片"
61
+ )
62
+
63
  submit_button.click(main_interface, inputs=[input_image, task, param1, param2, mask_input], outputs=output_image)
64
 
65
  # 啟動應用程式