import gradio as gr import torch import cv2 import time from PIL import Image # Images 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 model = torch.hub.load('ultralytics/yolov3', 'yolov3') # or yolov3-spp, yolov3-tiny, custom cam = cv2.VideoCapture(0) def yolo(im, size=640): g = (size / max(im.size)) # gain im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) # resize results = model(im) # inference results.render() # updates results.imgs with boxes and labels return Image.fromarray(results.imgs[0]) #inputs = gr.inputs.Image(type='pil', label="Original Image") title = "Определение элементов" description = "Находит на картинке элементы" article = "тест" examples = [['soccer.jpg'], ['bus.jpg']] while True: #inputs=gr.inputs.Image(type="pil",source="webcam") outputs = gr.outputs.Image(type="pil", label="Output Image") #ret, inputs = cam.read() 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)