我试图用pyinstaller将这个python脚本作为exe文件运行,结果出现了这个错误。
[ERROR:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap.cpp (415) cv::VideoWriter::open VIDEOIO(CV_IMAGES): raised OpenCV exception: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\videoio\srccap_images.cpp:267: 错误。(-215:断言失败) 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
我应该怎么改才能让它正常工作?
主要解决办法。 它可以是一个 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:断言失败) number < max_number in function 'cv::icvExtractPattern' 中的数字
是由这里的这句话引起的 fourcc = cv2.VideoWriter_fourcc(*"XVID")
其中设定的值是 >
最大值。
你可以尝试将四cc设置为 -1
. 然后,它会给你一个视频编解码器的选择,让你使用写。我看到,非压缩视频的选择对大多数平台来说都很好。