saba000farahani commited on
Commit
ed5c9d7
·
verified ·
1 Parent(s): 90f6704

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -13
app.py CHANGED
@@ -18,7 +18,7 @@ class InferenceConfig(Config):
18
 
19
  config = InferenceConfig()
20
 
21
- # Rebuild the Mask R-CNN model
22
  model = modellib.MaskRCNN(mode="inference", config=config, model_dir=os.getcwd())
23
 
24
  # Load the Mask R-CNN model weights
@@ -34,7 +34,7 @@ def apply_mask_rcnn(image):
34
  image = cv2.cvtColor(image, cv2.COLOR_RGBA2RGB)
35
 
36
  # Resize the image to match the model input size (for inference)
37
- resized_image = cv2.resize(image, (1024, 1024)) # Adjust based on the input shape of your model
38
  input_image = np.expand_dims(resized_image, axis=0)
39
 
40
  # Use Mask R-CNN to predict
@@ -62,27 +62,25 @@ def apply_mask_rcnn(image):
62
  return image # Return original image if segmentation fails
63
 
64
  # Gradio interface definition
65
- inputs = gr.Image(source="upload", tool="editor", type="numpy", label="Upload an image")
66
- outputs = gr.Image(type="numpy", label="Segmented Image")
67
-
68
- # Gradio app layout
69
  with gr.Blocks() as demo:
70
  gr.Markdown("<h1 style='text-align: center;'>Image Segmentation with Mask R-CNN</h1>")
71
  gr.Markdown("Upload an image to see segmentation results using the Mask R-CNN model.")
72
-
73
  # Input and output layout
74
  with gr.Row():
75
  with gr.Column():
76
  gr.Markdown("### Upload an Image")
77
- inputs.render() # Render the input (image upload)
78
-
79
- # Submit button
80
- gr.Button("Submit").click(fn=apply_mask_rcnn, inputs=inputs, outputs=outputs)
81
- gr.Button("Clear").click(fn=lambda: None)
82
 
83
  with gr.Column():
84
  gr.Markdown("### Segmented Image Output")
85
- outputs.render() # Render the output (segmented image)
 
 
 
 
86
 
87
  # Launch the Gradio app
88
  demo.launch()
 
18
 
19
  config = InferenceConfig()
20
 
21
+ # Initialize the Mask R-CNN model
22
  model = modellib.MaskRCNN(mode="inference", config=config, model_dir=os.getcwd())
23
 
24
  # Load the Mask R-CNN model weights
 
34
  image = cv2.cvtColor(image, cv2.COLOR_RGBA2RGB)
35
 
36
  # Resize the image to match the model input size (for inference)
37
+ resized_image = cv2.resize(image, (1024, 1024)) # Adjust based on model input requirements
38
  input_image = np.expand_dims(resized_image, axis=0)
39
 
40
  # Use Mask R-CNN to predict
 
62
  return image # Return original image if segmentation fails
63
 
64
  # Gradio interface definition
 
 
 
 
65
  with gr.Blocks() as demo:
66
  gr.Markdown("<h1 style='text-align: center;'>Image Segmentation with Mask R-CNN</h1>")
67
  gr.Markdown("Upload an image to see segmentation results using the Mask R-CNN model.")
68
+
69
  # Input and output layout
70
  with gr.Row():
71
  with gr.Column():
72
  gr.Markdown("### Upload an Image")
73
+ input_image = gr.Image(source="upload", tool="editor", type="numpy", label="Upload an image")
74
+ submit_btn = gr.Button("Submit")
75
+ clear_btn = gr.Button("Clear")
 
 
76
 
77
  with gr.Column():
78
  gr.Markdown("### Segmented Image Output")
79
+ output_image = gr.Image(type="numpy", label="Segmented Image")
80
+
81
+ # Set up button functionality
82
+ submit_btn.click(fn=apply_mask_rcnn, inputs=input_image, outputs=output_image)
83
+ clear_btn.click(fn=lambda: None)
84
 
85
  # Launch the Gradio app
86
  demo.launch()