我试图将这个python脚本作为exe文件运行-使用pyinstaller,它引发了我这个错误:
[错误:0]全局C:\projects\opencv-python\opencv\modules\videio\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:错误:(-215:Assert失败)number < max_number in function 'cv::icvExtractPattern'
当我把它作为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
我应该改变什么才能让它工作?
2条答案
按热度按时间ni65a41a1#
**主要解决方案:**可能是
DLL
错误。我想你的问题与this issue有关。此注解中建议了一个解决方法。它建议运行pyinstaller作为
pyinstaller -F --add-data opencv_ffmpeg410_64.dll;. python_script.py
确保适应您的OpenCV版本。确保此dll存在于任何地方。
**备选方案:**我相信错误
python\opencv\modules\videoio\src\cap_images.cpp:267:错误:(-215:Assert失败)number < max_number in function 'cv::icvExtractPattern'
是由这行
fourcc = cv2.VideoWriter_fourcc(*"XVID")
引起的,其中设置的值是>
最大值。您可以尝试将fourcc设置为
-1
。然后,它将为您提供视频编解码器的选择,以用于写作。我已经看到,未压缩的视频选择工作正常的大多数平台。9q78igpj2#
当要保存输出文件的目标目录出现问题时,例如,如果目标目录不存在,也会发生此错误。