Как узнать пересекаются ли объекты на видео?

У меня есть классификатор лиц, который возвращает 4 переменные x, y, w, h. Ещё у меня есть точка, которая расположена в центре видео введите сюда описание изображения

Как мне определить, находиться ли точка внутри рамки?

Код:

import cv2

faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

cap = cv2.VideoCapture(0)



while True:
    ret, img = cap.read()
    img = cv2.flip(img, 1)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.2,
        minNeighbors=5,
        minSize=(20, 20)
    )

    center_x, center_y = (img.shape[1] // 2), (img.shape[0] // 2)
    cv2.circle(img, (center_x, center_y), 10, (36, 255, 12), cv2.FILLED)
    for (x, y, w, h) in faces:

        # print("x: " + str(x))
        # print("y: " + str(y))

        cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
        cv2.putText(img, 'x: ' + str(x) + " y: " + str(y), (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36, 255, 12), 2)
        roi_gray = gray[y:y + h, x:x + w]
        roi_color = img[y:y + h, x:x + w]

    cv2.imshow('video', img)

    k = cv2.waitKey(30) & 0xff
    if k == 27:  # press 'ESC' to quit
        break

cap.release()
cv2.destroyAllWindows()

Ответы (0 шт):