python纯视觉马路车辆行驶超速速度检测代码

代码语言:python

所属分类:其他

代码描述:python纯视觉马路车辆行驶超速速度检测代码,通过c来设置画面两点之间的真实距离,通过s设置检测区域。

代码标签: python 纯视觉 马路 车辆 行驶 超速 速度 检测 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

import cv2
import numpy as np
from ultralytics import YOLO
from collections import defaultdict
import time
import os
from datetime import datetime

class VehicleSpeedTracker:
    def __init__(self, video_source=0, calibration_file=None, speed_limit=80):
        """
        初始化测速系统
        :param video_source: 摄像头索引或视频文件路径
        :param calibration_file: 相机标定参数文件(JSON格式)
        :param speed_limit: 超速阈值,默认80
        """
        # 加载YOLOv8模型
        self.model = YOLO('yolov8n.pt')  # 可替换为yolov8s.pt等更精确模型
        
        # 初始化视频捕获
        self.cap = cv2.VideoCapture(video_source)
        if not self.cap.isOpened():
            raise IOError("无法打开视频源")
        
        # 车辆类别(COCO数据集: 2-car, 5-bus, 7-truck)
        self.vehicle_classes = [2, 5, 7]
        
        # 追踪状态存储
        self.track_history = defaultdict(list)
        self.speed_records = {}
        
        # 相机标定参数
        self.calibration_data = self.load_calibration(calibration_file)
        
        # === 新增:超速抓拍相关配置 ===
        self.speed_limit = speed_limit  # 超速阈值
        self.c.........完整代码请登录后点击上方下载按钮下载查看

网友评论0