На данный момент с помощью YOLO11 удалось идентифицировать такие транспортные средства, как автомобили, велосипед, автобус и грузовик. Соответственно, в кадре видео появляются прямоугольники, в которых появляются транспортные средства.
Я не смог разобрать, как обозначить транспортное средство каким-либо идентификационным кодом. так что, когда в видеокадре появляется тот же автомобиль, я могу увеличить количество этого автомобиля.
Добавляю свой код, который я пробовал
Код: Выделить всё
from ultralytics import YOLO
import cv2
from enum import Enum
class DetectionType(Enum):
CAR = 2
MOTORCYCLE = 3
BUS = 5
TRUCK = 6
coco_model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('testVideo.mp4')
vehicles = [
DetectionType.CAR.value,
DetectionType.MOTORCYCLE.value,
DetectionType.BUS.value,
DetectionType.TRUCK.value
]
ret = True
while ret:
ret, frame = cap.read()
if ret:
#detect vehicle
detections_model = coco_model(frame)[0]
for detection in detections_model.boxes.data.tolist():
x1, y1, x2, y2, score, class_id = detection
if int(class_id) in vehicles:
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2)
cv2.rectangle(frame, (x1, y1), (x2, y2), (255, 0, 0), 2)
# Display frames in a window
cv2.imshow('video', frame)
if cv2.waitKey(33) == 27:
break
cap.release()
cv2.destroyAllWindows()
Подробнее здесь: https://stackoverflow.com/questions/793 ... ided-video
Мобильная версия