Python 2.7 opencv上的Videocapture后读取始终返回false

Python 2.7 opencv上的Videocapture后读取始终返回false,python-2.7,opencv,image-processing,video-capture,video-processing,Python 2.7,Opencv,Image Processing,Video Capture,Video Processing,我想不出是什么问题 我正在使用 Ubuntu 17.04 Python 2.7.13 OpenCV版本:3.3.0 我已经在网上浏览了所有相关的问题,但还没有找到解决问题的方法。 “v.mp4”文件与我的python文件所在的目录相同 代码 import cv2 vidcap = cv2.VideoCapture('v.mp4') success,image = vidcap.read() count = 0; print success while success: succes

我想不出是什么问题

我正在使用

  • Ubuntu 17.04
  • Python 2.7.13
  • OpenCV版本:3.3.0
我已经在网上浏览了所有相关的问题,但还没有找到解决问题的方法。 “v.mp4”文件与我的python文件所在的目录相同

代码

import cv2
vidcap = cv2.VideoCapture('v.mp4')
success,image = vidcap.read()
count = 0; 
print success
while success:
    success,image = vidcap.read()
    cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
    if cv2.waitKey(10) == 27:                     # exit if Escape is hit
        break
    count += 1

在Windows之外,
opencv python
包没有
VideoCapture()
支持。请参阅或,其中说明:

重要提示

import cv2
vidcap = cv2.VideoCapture('v.mp4')
success,image = vidcap.read()
count = 0; 
print success
while success:
    success,image = vidcap.read()
    cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
    if cv2.waitKey(10) == 27:                     # exit if Escape is hit
        break
    count += 1
MacOS和Linux软件包不支持视频相关功能(不使用FFmpeg编译)


对我来说,我使用pycharm作为我的ide。每个isopened()和read()都显示为false。我所要做的就是将pycharm使用的python版本更改为Python2

请提供一个示例。当vidcap.isOpened()时,您是否可以尝试更改文件,使其成为
?您能确保文件正在读取吗?在编写框架之前,请先尝试使用
cv2.imshow()
显示框架?您是如何安装OpenCV的?@SamerTufail我已经尝试过while vidcap.isOpened(),但它从未进入while循环。首先,我不确定我的代码是否能够读取该文件。由于success值始终保持为false,所以现在没有必要执行cv2.imshow()。@AlexanderReynolds我已经使用
$pip install opencv python安装了opencv,如果我不想要你在另一个答案中解释的这些问题,我应该从源代码编译OpenCV吗?@arjungupta是的!如果您不熟悉从源代码处编译东西,可能会有点头疼,但尝试几次后您会感到舒服:)。如果这回答了您的问题,您是否可以选择接受?谢谢谢谢你的建议,那真的很有帮助。我发现如何从源代码处编译OpenCV,但这是Ubuntu 16.04支持的教程,因此我将操作系统从Ubuntu 17.04降级为Ubuntu 16.04,因为许多库对于Ubuntu 17.04都不可用,这对于我的项目来说是非常必要的。