转自:https://blog.csdn.net/qq_29023939/article/details/80674311
在学习python_opencv库时,利用这个库从文件中播放视频,并保存期帧图片。总是出现如下错误:
error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
代码如下:
import os
import cv2
i=0
cap = cv2.VideoCapture('./data/1.mp4')
outdir="./data/img"
while(cap.isOpened()):
ret, frame = cap.read()
i=i+1
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imwrite(os.path.join(outdir, str(i) + '.jpg'), gray)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
网上有各种方法,经过自己测试比较好的方法时在程序中加上如下判断:
if ret is True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
else:
break