Rigalik
@Rigalik
Тупой

Как изменить код для работы с видео?

Есть код, который находит мусор на фото.

Надо его переделать чтобы он определял с видео, когда я пробую сделать вебку.
Он не может увидеть с нее видео?

Код с определением мусора:
import yolov5

# load model
model = yolov5.load('keremberke/yolov5n-garbage')

# set model parameters
model.conf = 0.25  # NMS confidence threshold
model.iou = 0.45  # NMS IoU threshold
model.agnostic = False  # NMS class-agnostic
model.multi_label = False  # NMS multiple labels per box
model.max_det = 1000  # maximum number of detections per image

# set image
img = 'C:/Users/pipip/PycharmProjects/PythonProject/results/u53967t1.png'

# perform inference
results = model(img, size=640)

# inference with test time augmentation
results = model(img, augment=True)

# parse results
predictions = results.pred[0]
boxes = predictions[:, :4]  # x1, y1, x2, y2
scores = predictions[:, 4]
categories = predictions[:, 5]

# show detection bounding boxes on image
results.show()

# save results into "results/" folder
results.save(save_dir='results/')


Видео с вебки:
import cv2

cap = cv2.VideoCapture(0)
while cap.isOpened():
    ret, img = cap.read()
    cv2.imshow('output', img)

    key = cv2.waitKey(10)
    if key == 27:
        break

cap.release()
cv2.destroyAllWindows()
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Тебе модель, скорее всего, отдаст экземпляр класса Detections.
Если его посмотреть, там есть несколько полезных методов, например, render(), который возвращает список обработанных изображений с отрисованными объектами. А ещё у него есть свойства imgs, xywh и names, чтобы получить обработанные изображения, рамки и классы найденного. Экспериментируй с ними
Не забываем, что модель рассчитана на подачу пачки изображений, просто эта пачка может содержать и только одно изображение. Отсюда и множественное число, и постоянные массивы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы