Ошибка OpenCV: сбой утверждения при вызове метода обновления для объекта отслеживания - PullRequest
0 голосов
/ 03 октября 2019

Я перебираю кадры в видеоклипе и запускаю объект трекера OpenCV для каждого кадра. Вся процедура отслеживания должна выполняться несколько раз - каждый раз при изменении размера видео до новой ширины кадра.

Процедура выполняется правильно с первого раза. Как только начинается вторая итерация (те же шаги отслеживания, что и раньше, но с изменением размера кадра), OpenCV выдает эту ошибку:

Ошибка: OpenCV (4.1.0) / Users / travis / build / skvark / opencv-python / opencv / modules / video / src / lkpyramid.cpp: 1363: ошибка: (-215: утверждение не выполнено) prevPyr [level * lvlStep1] .size () == nextPyr [level * lvlStep2] .size () в функции'calc'

Весь сценарий слишком длинный для размещения здесь, поэтому вот суть:

widths = [0, 1280, 640]

for width in widths:
    # call tracking function
    run_track(width)

def run_track(width):
    # Initialize the video stream and pointer to output video file
    vs = cv2.VideoCapture(video_file)

    # run until no more frames
    while True:
        grabbed, frame = vs.read()

        if resize is not 0:
            frame = imutils.resize(frame, width)

        if tracker is None:
            tracker = tracker_inst

            tracker.init(frame, tuple(gt_bb))

        if tracker is not None:
            tracking, trk_bb = tracker.update(frame)

            # do custom tracking procedure, save frames, etc

Независимо от того, что является первым значением в widths, оноработает нормально с первого раза. Как только итерация начинается для второго значения в widths, выдается ошибка. Это ссылка на проблему? Даже если я добавлю frame = None в начале объявления функции, выдается ошибка. Есть идеи?

1 Ответ

0 голосов
/ 03 октября 2019

Я вижу две основные возможности для вашего случая

1) Подобные проблемы в основном зависят от модуля opencv-python-contrib. Если у вас нет части contrib, объекты трекера не включаются в часть opencv-python.

2) Если у вас opencv-python-contrib, вы, вероятно, испытываете какое-то несоответствие версий с основными функциями и contrib функциями.

Я предлагаю проверитьони действительны в вашей системе или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...