python实现足球比赛聚光灯跟踪运动员阵型鹰眼系统代码

代码语言:python

所属分类:其他

代码描述:python实现足球比赛聚光灯跟踪运动员阵型鹰眼系统代码

代码标签: python 足球 比赛 聚光灯 跟踪 运动员 阵型 鹰眼 系统 代码

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

import cv2
import numpy as np
from ultralytics import YOLO

class TeamClassifier:
    """
    队服颜色分类器:通过 K-Means 聚类区分甲乙两队,
    并使用滑动平均锚点保持整场比赛队伍颜色的稳定。
    """
    def __init__(self):
        self.anchor_A = None  # 队伍 A 的颜色锚点 (BGR)
        self.anchor_B = None  # 队伍 B 的颜色锚点 (BGR)
        self.alpha = 0.95     # 锚点更新权重(平滑滤除噪声)

    def get_jersey_color(self, frame, bbox):
        """
        提取球员躯干(衣服)区域的代表颜色,过滤绿草背景
        """
        x1, y1, x2, y2 = map(int, bbox)
        w, h = x2 - x1, y2 - y1
        
        # 截取球员上半身衣服区域(大致为高度的 20% 到 50%,宽度左右各缩进 25%)
        cy1 = max(0, int(y1 + 0.2 * h))
        cy2 = min(frame.shape[0], int(y1 + 0.5 * h))
        cx1 = max(0, int(x1 + 0.25 * w))
        cx2 = min(frame.shape[1], int(x1 + 0.75 * w))
        
        if cy2 <= cy1 or cx2 <= cx1:
            return None
            
        crop = frame[cy1:cy2, cx1:cx2]
        
        # 转为 HSV 过滤球场绿草背景
       .........完整代码请登录后点击上方下载按钮下载查看

网友评论0