Opencv3.0-python: 视频处理时报错color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决办法

在利用opencv读取视频进行处理时,报错如下:

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

cv2.error:..\..\..\opencv-3.1.0\modules\imgproc\src\color.cpp:7456: error: (-215) scn ==3 || scn == 4 in function cv::ipp_cvtColor


我的原来处理的代码没有对视频是否处理完成做判断,因此后面加上对读取视频的帧后加上对是否读取完成的判断,问题解决。

附上代码:

def readVideo():
    #cap = cv2.VideoCapture("fenlei.mp4")
    #cap = cv2.VideoCapture("lisaru.mp4")
    cap = cv2.VideoCapture("susuan.mp4")
    while(cap.isOpened()):
        ret , frame = cap.read()
        #这里必须加上判断视频是否读取结束的判断,否则播放到最后一帧的时候出现问题了
        if ret == True:
            #gray = cv2.cvtColor(frame , cv2.COLOR_BGR2GRAY)
            #gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
            #cv2.imshow("frame" , gray)
            cv2.imshow("frame" , frame)
        else:
            break
        #因为视频是10帧每秒,因此每一帧等待100ms
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break
    cap.release()
    cv2.destroyAllWindows()



你可能感兴趣的:(Opencv3.0-python: 视频处理时报错color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决办法)