使用Gradio创建yolov8检测分割界面

from ultralytics import YOLO
from PIL import Image
import cv2
import gradio as gr
 
model_seg = YOLO('./runs/segment/train/weights/best.pt')# 加载训练好的模型,换成自己的即可
model_detect = YOLO('./runs/detect/train2/weights/best.pt')
 
def seg(image):
    results = model_seg([image])  # 返回 Results 对象列表
    for r in results:
        im_array = r.plot()  # 绘制包含预测结果的BGR numpy数组
        im = Image.fromarray(im_array[..., ::-1])  # RGB PIL图像
        # im.show()  # 显示图像
        # im.save('results_seg.jpg')  # 保存图像
    return im
 
def det(image):
    results = model_detect([image])  # 返回 Results 对象列表
    for r in results:
        im_array = r.plot()  # 绘制包含预测结果的BGR numpy数组
        im = Image.fromarray(im_array[..., ::-1])  # RGB PIL图像
        # im.show()  # 显示图像
        # im.save('results_seg.jpg')  # 保存图像
    return im
  
with gr.Blocks() as demo:
 
 
    with gr.Tab("语义分割"):
        gr.Markdown("# yolov8语义分割演示")
        # 在这个域里都按列
        with gr.Row():
            in_img = gr.Image(sources='upload', type='pil')
            out_img = gr.Image(type='pil')
 
        # 所有组建默认是垂直排列gr.Examples gr.Button gr.Markdown都是组件
        gr.Examples(examples=['./images/test/001.jpg'], inputs=[in_img])
        button = gr.Button("执行分割", variant="primary")
        button.click(seg,
                        inputs=in_img,
                        outputs=out_img,
                        concurrency_limit=10)
 
    with gr.Tab("目标检测"):
        gr.Markdown("# yolov8目标检测演示")
        with gr.Row():
            in_img = gr.Image(sources='upload', type='pil')
            out_img = gr.Image(type='pil')
 
        gr.Examples(examples=['./images/test/001.jpg'], inputs=[in_img])
        button = gr.Button("执行检测", variant="primary")
 
        button.click(det,
                        inputs=in_img,
                        outputs=out_img,
                        concurrency_limit=10)
 
gr.close_all()
demo.queue()
demo.launch()
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

githubcurry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值