fast-segment / app.py
Omnibus's picture
Update app.py
340ba3d
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()