2016-11-10 11 views
0

を.AVI再生するときにエラーが失敗しました:https://opencv24-python-tutorials.readthedocs.io/en/stable/py_tutorials/py_gui/py_video_display/py_video_display.htmlOpenCVのPythonのアサーションは、私はちょうどOpenCVのを学ぶために始めていますし、ここでチュートリアルを働いています

これは私がサンプルビデオを再生するために書かれたコードです。

import numpy as np 
import cv2 

cap = cv2.VideoCapture('samples/vtest.avi') 

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() 

これは私が取得エラーメッセージです:私は、チュートリアルで指定された私は、ファイルを選択したため、問題がエラーをアサーションに失敗していることがわからないんだ

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /tmp/opencv-20161020-7399-1yrk4nm/opencv-2.4.13.1/modules/imgproc/src/color.cpp, line 3739 
Traceback (most recent call last): 
    File "vidFile_tutorial.py", line 14, in <module> 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
cv2.error: /tmp/opencv-20161020-7399-1yrk4nm/opencv-2.4.13.1/modules/imgproc/src/color.cpp:3739: error: (-215) scn == 3 || scn == 4 in function cvtColor 

。さらに、vtest.aviを手動で再生しようとすると、QuickTimeでコーデックエラーが発生します。したがって、私はそれがOpenCVのビデオコーデックの問題だと思う。しかし、診断が正しいのか、それをどう修正するのかは分かりません。

ありがとうございます。

+0

[ここ](http://stackoverflow.com/a/31299501/5008845)とおそらく同じ問題です。 'frame'の形を印刷できますか?すでにグレースケールであり、変換する必要はありません。 – Miki

+0

'print frame.shape'は' AttributeError: 'NoneType'オブジェクトに属性 'shape'がありません。返されたイメージは、最初は正しく読み込まれていないと思いますか? –

答えて

0

いいえ、 私はこの問題を、2.4.13.1ではなくOpenCV 3.1.0を使用して解決しました。

OpenCV 3.1.0ではすべて正常に動作します。

関連する問題