Python 2.7 使用OpenCV读取avi文件时出现的问题

Python 2.7 使用OpenCV读取avi文件时出现的问题,python-2.7,opencv,video,Python 2.7,Opencv,Video,我正在尝试使用以下代码块读取avi文件: import numpy as np import cv2 while(cap.isOpened()): ret, frame = cap.read() print ret, frame gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame', gray) if cv2.waitKey(1) & 0xFF == ord('q

我正在尝试使用以下代码块读取avi文件:

import numpy as np
import cv2

while(cap.isOpened()):
    ret, frame = cap.read()

    print ret, frame

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame', gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
但我得到了这个输出:

False None
这个错误是:

error: /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.cpp:9748: error: (-215) scn == 3 || scn == 4 in function cvtColor

您有什么建议吗?

错误意味着帧不是3或4个通道,所以您不能使用该颜色转换代码-但是opencv可能不支持编解码器,所以帧为空。您想使用ffmpeg或gstreamer进行视频ioI我按照您的建议使用了ffmpeg,谢谢!