cap.isOpened()返回false。我正在使用ubuntu但是当我在windows中使用相同的代码时,我能够执行

时间:2017-11-21 15:18:32

标签: python python-3.x opencv image-processing

cap.isOpened()返回false。我使用的是ubuntu但是当我在windows中使用相同的代码时,我能够执行

import numpy as np
import cv2
cap = cv2.VideoCapture('jitender.mp4')
count=0
print(cap.isOpened())
while(cap.isOpened()):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    count=count+1
    print(count)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:0)

isOpened在无法打开文件或无法理解文件打开时返回False。确保:

  • 该文件位于同一目录中
  • 您的用户具有对文件的读取权限
  • 该文件实际上是视频文件。

试试ls -l jitender.mp4。你应该看到类似的东西:

-rw-r--r--  1 <username>  <group>  1234567 Nov 20 19:30 jitender.mp4

您可能会获得-rw-rw-rw-,重要的是您拥有r。您还需要确保组名后的数字足够大。有时文件在传输过程中已损坏。如果你可以做某种校验和,那肯定会让你知道。 Instructions for a checksum can be found here.