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