Это код ниже.
while True:
ret, frame = cap.read()
frame = cv2.resize(frame,None,fx=scaling_factorx,fy=scaling_factory,interpolation=cv2.INTER_AREA)
imgray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
fgmask1 = cv2.GaussianBlur(imgray, (7,7), 0)
fgmask = fgbg.apply(fgmask1)
contours, hierarchy = cv2.findContours(fgmask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
try:
hierarchy = hierarchy[0]
except:
hierarchy = []
for contour, hier in zip(contours, hierarchy):
(x, y, w, h) = cv2.boundingRect(contour)
if w > 80 and h > 80:
cv2.rectangle(frame, (x,y), (x+w,y+h), (0, 255, 0), 2)
#to find centroid
x1=w/2
y1=h/2
cx=x+x1
cy=y+y1
centroid = (cx,cy)
cv2.circle(frame,(int(cx),int(cy)),1,(0,0,255),2)
if point1 and point2:
cv2.line(frame, point1, point2, (0, 255, 0), 3)
Я могу создать прямоугольники, центроид (круг) и линию после этого, я хочу считать, что если центроид пересекает линию. Не могли бы вы дать мне знать, как это сделать.