|
import gradio as gr |
|
import torch |
|
import cv2 |
|
import time |
|
from PIL import Image |
|
|
|
torch.hub.download_url_to_file('https://cdn.pixabay.com/photo/2016/06/15/01/11/soccer-1457988_1280.jpg', 'soccer.jpg') |
|
torch.hub.download_url_to_file('https://cdn.pixabay.com/photo/2016/11/21/14/31/vw-bus-1845719_1280.jpg', 'bus.jpg') |
|
|
|
model = torch.hub.load('ultralytics/yolov3', 'yolov3') |
|
|
|
cam = cv2.VideoCapture(0) |
|
|
|
def yolo(im, size=640): |
|
g = (size / max(im.size)) |
|
im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) |
|
results = model(im) |
|
results.render() |
|
return Image.fromarray(results.imgs[0]) |
|
|
|
title = "Определение элементов" |
|
description = "Находит на картинке элементы" |
|
article = "тест" |
|
examples = [['soccer.jpg'], ['bus.jpg']] |
|
|
|
while True: |
|
|
|
outputs = gr.outputs.Image(type="pil", label="Output Image") |
|
|
|
img = cv2.imread("soccer.jpg") |
|
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) |
|
inputs = Image.fromarray(img) |
|
gr.Interface(yolo, inputs, outputs, title=title, description=description, article=article, examples=examples, theme="huggingface").launch(debug=True) |