Как нарисовать фигуру поверх воспроизводимого видео, нажав кнопку мыши в OpenCV Python - PullRequest
0 голосов
/ 10 января 2019

Ну, для начала, я должен признать, что это довольно длинный вопрос, и я не смог найти возможные решения путем поиска в Google

У меня есть видео, в котором злоумышленник пытается проникнуть в другую сторону забора.

enter image description here

Я могу отследить злоумышленника, но когда он окажется на другой стороне, я смогу сохранить продолжительность вторжения в файл. Зона вторжения будет примерно такой:

enter image description here

Я думал, что эти шаги:

I. Reading a video file;
II. Getting the very first frame displayed,
  1. Pausing the video playback;
  2. Manually drawing intrusion area on that frame with a mouse; (making draw and reset buttons as events maybe)
  3. Replaying the video again
III. Waiting for the intruder to appear, etc. (III part is not important)

Пока что я выполнил I и II (глупо, я знаю) и должен выполнить 1,2,3 части второго этапа.

import cv2

file  = "intrusion.mp4"
capture = cv2.VideoCapture(file)

ret, firstFrame= capture.read()

while True:
    cv2.imshow("First Frame", firstFrame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cv2.destroyAllWindows()

Я надеюсь, что вы можете дать свой совет и инструкции!

PS: ссылаются на любые связанные посты, блоги или ссылки, я очень рад узнать

1 Ответ

0 голосов
/ 10 января 2019

добавление cv2.waitKey (0) приостановит цикл while на неопределенный срок! Он возобновится только после нажатия любой клавиши.

Я думаю, что вы пытаетесь достичь отслеживания объектов с помощью Background Subtraction. См. Здесь и посмотрите, соответствует ли оно вашим требованиям.

EDIT:

Полагаю, вы хотите нарисовать фигуру от руки для области вторжения! Эта ссылка поможет вам сделать это. Я надеюсь, что это поможет

...