File size: 1,401 Bytes
fd3e1a4
 
 
8ba44b7
3ebe0b4
fd3e1a4
 
 
f1b5a0a
3bedd15
 
 
fd3e1a4
8ba44b7
48f068b
340ba3d
48f068b
 
 
 
70a95aa
 
48f068b
9e3b559
8ba44b7
5f455f9
fd3e1a4
 
d5e2a3f
3bedd15
5f455f9
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gradio as gr
import pixellib
from pixellib.torchbackend.instance import instanceSegmentation
from PIL import Image
import cv2 

ins = instanceSegmentation()
ins.load_model("https://github.com/ayoolaolafenwa/PixelLib/releases/download/0.2.0/pointrend_resnet50.pkl")
target_classes = ins.select_target_classes(person=True)
#seg.segmentImage("sample2.jpg", segment_target_classes= target_classes, show_bboxes=True,  output_image_name="a.jpg") 


def seg(inp):
    out_box=[]
    results, output = ins.segmentImage(f"{inp}",
                                       #segment_target_classes= target_classes,
                                       show_bboxes=False,
                                       extract_segmented_objects= True,
                                       save_extracted_objects=True,
                                       output_image_name="output_image.jpg")
    #results, output = ins.segmentImage("image.jpg", show_bboxes=True, output_image_name="result.jpg")
    print (results)
    for image in results['extracted_objects']:
        out_box.append(Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)))
    return out_box
'''
gr.Interface(
    fn=seg,
    inputs=gr.Image(type='filepath'),
    outputs=gr.Gallery()
).launch()
'''
with gr.Blocks() as app:
    inp=gr.Image(type='filepath')
    btn=gr.Button()
    outp=gr.Gallery()
    btn.click(seg,inp,outp)
app.launch()