【发布时间】:2016-10-24 14:53:50
【问题描述】:
我刚进入 openCV 和 python 的世界,打开视频流时遇到了一个奇怪的问题。这是我正在使用的代码:
import numpy
import cv2
cap = cv2.VideoCapture('SampleVideo.mp4')
print(cap.isOpened())
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
当我在终端(windows 命令行)中运行此代码时,该代码可以成功打开视频流,但在 Pycharm 中则不能。这是在 Pycharm 中运行的结果:
错误
进程以退出代码 0 结束
任何帮助将不胜感激。谢谢大家!
编解码器:FFmpeg。操作系统:Windows 8.1。蟒蛇:3.5.2。 OpenCV:3.1
9 月 27 日更新:
我注意到代码在 IDLE 中成功运行,但在 PyCharm 中没有。现在我真的很困惑。
我还可以确认 imread 和 imwrite 在 PyCharm 中正常工作。所以也许是编解码器不工作?如何在 OpenCV 中检查我的编解码器?
9 月 29 日更新:
现在我想我已经排除了终端和 PyCharm 使用不同解释器的可能性。我真的认为默认编解码器在 PyCharm 环境中没有链接。 如何在 OpenCV 或 Python 中检查我的默认系统编解码器?
【问题讨论】:
-
使用文件的完整路径
-
@Miki 不,这没有帮助。我很确定我将文件放在工作目录中。图片上的 i/o 命令(imread/write)工作正常。