結合Opencv3.0讀取視頻時,出現報錯:C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:11111: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
原因是代碼沒有對視頻是否處理完做判斷,因此代碼必須要加上對讀取視頻的禎是否處理完的判斷。
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Fri Mar 23 14:47:20 2018 4 5 @author: Tanqiqi 6 """ 7 8 import numpy as np 9 import cv2 10 11 cap = cv2.VideoCapture('1.avi') #讀入視頻 12 c=1 13 while(cap.isOpened()): 14 ret, frame = cap.read() #分解為一幀一幀圖像 15 if ret == True: #記得要對視頻是否處理完成做判斷 16 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #轉換為灰度圖像 17 cv2.imshow('frame',gray) #顯示標記后的圖像 18 cv2.imwrite('image/'+str(c) + '.jpg',frame) #存儲為圖像 19 c = c+1 20 else: 21 break 22 23 if cv2.waitKey(1) & 0xFF == ord('q'): 24 break 25 26 27 cap.release() 28 cv2.destroyAllWindows() 29 30