(-215:Assertion failed) number < max_number in function 'cv::icvExtractPattern' error?

问题描述 投票:0回答:1

我试图用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

我应该怎么改才能让它正常工作?

python opencv pyinstaller cv2
1个回答
0
投票

主要解决办法。 它可以是一个 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. 然后,它会给你一个视频编解码器的选择,让你使用写。我看到,非压缩视频的选择对大多数平台来说都很好。

© www.soinside.com 2019 - 2024. All rights reserved.