Ошибка захвата видео с помощью opencv (python)

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

Это следующая ошибка:

ошибка: (-215) img.cols == ширина && img.rows == высота && каналы == 3 в функции cv::mjpeg::MotionJpegWriter::write

Это мой код:

def takevid():

person Aplin    schedule 10.07.2017    source источник
comment
в вашем коде, где определяется кадр?   -  person chris    schedule 10.07.2017
comment
@chris, я изменил вопрос на свой код   -  person Aplin    schedule 10.07.2017


Ответы (1)


Ваша проблема заключается в области действия переменной frame. Вам нужно либо объявить фрейм вне цикла while, только глобально в файле, либо передать его в качестве аргумента takevid. В настоящее время frame доступен только в цикле while, но при вызове takevid доступна только глобальная область (т.е. camera), а не цикл while.

Ошибка говорит вам, что размер frame неправильный, и, скорее всего, вы обнаружите, что форма (0,0), потому что в этой переменной ничего нет.

person chris    schedule 10.07.2017
comment
Я дам ему попробовать. Большое спасибо :) - person Aplin; 10.07.2017