当以exe运行程序时,无法使用Opencv Python在Windows 7上打开视频
我正在使用opencv python开发一个vision应用程序。我正在我的个人Windows 10计算机上开发它,但它需要在Windows 7设备上运行。我在Windows7设备上运行软件时遇到了一个问题,特别是cv2无法打开视频文件。为了调试的目的,我把代码简化了 代码是:当以exe运行程序时,无法使用Opencv Python在Windows 7上打开视频,python,opencv,Python,Opencv,我正在使用opencv python开发一个vision应用程序。我正在我的个人Windows 10计算机上开发它,但它需要在Windows 7设备上运行。我在Windows7设备上运行软件时遇到了一个问题,特别是cv2无法打开视频文件。为了调试的目的,我把代码简化了 代码是: import argparse import cv2 ap = argparse.ArgumentParser() ap.add_argument("-v", "--video", required=False,
import argparse
import cv2
ap = argparse.ArgumentParser()
ap.add_argument("-v", "--video", required=False,
help="path to the video file")
args = vars(ap.parse_args())
video_capture = cv2.VideoCapture(args['video'])
(val, frame) = video_capture.read()
print(val)
input("Press Enter to exit...")
我使用命令'pyinstaller q1.py--onefile'为这个程序生成一个可执行文件。当我使用命令运行可执行文件时
q1 -v C:\Users\User\Desktop\output.avi
q1 -v C:\Users\User\Desktop\output.avi
真的
按回车键退出
但是,当我将此可执行文件复制到windows 7设备(通过USB)并运行命令时
q1 -v C:\Users\User\Desktop\output.avi
q1 -v C:\Users\User\Desktop\output.avi
我收到了错误
C:\Users\User\Desktop>q1-v C:\Users\User\Desktop\output.avi
[错误:0]全局
C:\projects\opencv python\opencv\modules\videoio\src\cap.cpp(1 16)
cv::VideoCapture::打开VIDEOIO(cv_图像):引发OpenCV异常:
OpenCV(4.2.0)
C:\projects\opencv python\opencv\modules\videoio\src\cap\u images.cp
p:253:错误:(-5:错误参数)CAP_图像:找不到起始编号
(以文件名):C:\Users\User\Desktop\output.avi in
函数“cv::icvExtractPattern”
假的
按回车键退出
两台计算机传递的文件相同。在翻阅opencv源代码时,我发现cv:icvExtractPattern似乎在寻找某种使用数字的标准化命名约定,我可以通过在视频文件名中包含数字(比如“output1.avi”)来消除错误。这将导致不会引发错误,但仍不会读入帧。这在我的windows 10设备上也不是问题
有人知道这里可能有什么问题吗
可能有用或不有用的其他信息:
- Python版本3.7.5 64位
- Pyinstaller 3.6版
- Cv2版本4.2.0.34 <微软> Visual C++ + 2015-2019重新分配1425.25508(X64)(Windows 10机器)
- 微软Visual C++ 2015重新分配(X64)-140.23026(Windows 7机器)
- windows 7计算机未安装Python