为什么OpenCV会在视频处理过程中重现这个错误?错误:( - 1515)scn == 3 ||函数cv :: cvtColor中的scn == 4

问题描述 投票:0回答:1

我正在使用openCV来处理带有python2的视频捕获(.mkv文件)

import cv2
(....)

videofile = 'a.mkv'
cap = cv2.VideoCapture(videofile)
(....)
t_frames, fps, t_time, w, h = getVideoInfo(cap)
(....)
cap.set(cv2.CAP_PROP_POS_FRAMES ,first_frame)
(....)
frame = 0
while (not stopped==1):
    ret, frame = cap.read(frame)
    (...some functions related with cv2 are here called...)
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    (...)

但是,几乎在视频处理结束时出现了一些错误:错误:(-215)scn == 3 ||函数cv :: cvtColor中的scn == 4

并且错误发生在cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)有什么想法吗?一个糟糕的框架?然而,我之前调用了一些与cv2相关的函数,它没问题。

python-2.7 opencv mkv
1个回答
1
投票

加载资源后检查资源是否正确加载。

ret, frame = cap.read(frame)
(....)
if frame is not None
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
© www.soinside.com 2019 - 2024. All rights reserved.