在学习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