我正在尝试从羽毛球视频中检测球场。我正在使用BackGroundSubtractor进行工作,但无法获得结果。它删除了背景,但也删除了法院。 我想检测羽毛球球场,以便将其作为自己的投资回报率并在球场上发现球员。
import cv2
import numpy as np
cap = cv2.VideoCapture('trial1.mp4')
subtractor = cv2.bgsegm.createBackgroundSubtractorMOG()
while(1):
ret,frame = cap.read()
frame = cv2.resize(frame,(1366,768)
blur = cv2.GaussianBlur(frame,(7,7),0)
cnvt = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
bg_remove = subtractor.apply(cnvt)
cv2.imshow('prev',bg_remove)
k = cv2.waitKey(1)
if k==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我也尝试使用cv2.inRange()
功能检测球场的白线,但这没用,因为掩蔽使整个帧变黑了。有什么方法可以仅使用OpenCV做到这一点。