(-215: утверждение не выполнено) число <max_number в функции 'cv :: icvExtractPattern' ошибка? - PullRequest
1 голос
/ 30 мая 2020

Я пытаюсь запустить этот python скрипт как exe-файл - используя pyinstaller, и он вызывает у меня эту ошибку:

[ERROR: 0] global C: \ projects \ opencv-python \ opencv \ modules \ videoio \ src \ cap. cpp (415) cv :: VideoWriter :: open VIDEOIO (CV_IMAGES): возникло исключение OpenCV: OpenCV (4.2.0) C: \ projects \ opencv-python \ opencv \ modules \ videoio \ src \ cap_images. cpp: 267: error: (-215: Assertion failed) number

Когда Запускаю как скрипт python, работает хорошо. сценарий python:

SCREEN_SIZE = (1920, 1080)
FPS = 20.0
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter("output.avi", fourcc, FPS, SCREEN_SIZE)

Я использую pyinstaller в командной строке:

pyinstaller --onefile python_script.py

что мне нужно изменить, чтобы он работал?

1 Ответ

0 голосов
/ 30 мая 2020

Основное решение: Это может быть ошибка DLL.

Я полагаю, ваша проблема связана с этой проблемой . В этом комментарии предлагается обходной путь. Он предлагает запустить pyinstaller как

pyinstaller -F --add-data opencv_ffmpeg410_64.dll;. python_script.py

Убедитесь, что вы адаптировались к вашей версии OpenCV. Убедитесь, что эта dll существует где угодно.

Альтернатива: Я считаю, что ошибка

python \ opencv \ modules \ videoio \ src \ cap_images. cpp: 267: error: (-215: Assertion failed) number

вызвано этой строкой здесь fourcc = cv2.VideoWriter_fourcc(*"XVID"), где установлено значение > максимальное значение.

Можно попробовать установить четыре cc на -1. Затем он предоставит вам выбор видеокодеков для использования при записи. Я видел, что выбор несжатого видео отлично работает на большинстве платформ.

...