【发布时间】:2019-12-23 03:01:23
【问题描述】:
我编写了一个名为videoSave.py 的python 脚本来读取相机并保存视频。代码如下:
import cv2
def saveCam():
video = cv2.VideoCapture(0)
ret, img = video.read()
h, w = img.shape[:2]
videoSaver = cv2.VideoWriter("videoSave_test.avi", cv2.VideoWriter_fourcc(*'DIVX'), 10, (w, h))
key = 0
while key != 27:
ret, img = video.read()
if not ret:
break
cv2.imshow('img', img)
key = cv2.waitKey(1) & 0xFF
videoSaver.write(img)
videoSaver.release()
if __name__ == '__main__':
saveCam()
这个脚本在直接运行时效果很好。它可以显示相机获取的图像并将内容保存到视频文件中。
然后我使用命令pyinstaller -F videoSave.py 将此脚本构建到 exe 文件中。我可以得到exe文件。而且执行的时候可以看到摄像头得到的图像,但是它保存的视频文件大小为零!
我的环境是:
Python 3.7.4
视窗 7
Pyinstaller 3.5
opencv 4.1.2
【问题讨论】:
-
我通过将
opencv_video_ffmpeg412_64.dll从Anaconda3\envs\your_env_name复制到exe文件所在的目录解决了这个问题。但我不知道为什么。 -
你解决了吗?我有确切的问题。
标签: python pyinstaller opencv3.0