環境:
python 3.7.1
OpenCV 3.4.3
問題現象:
運行如下代碼
import cv2
import numpy
cap = cv2.VideoCapture('Z-Arm 2140.avi') #調整引數實作讀取視頻或呼叫攝像頭
while (cap.isOpened()):
ret, frame = cap.read()
cv2.imshow("cap", frame)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
可以正常運行大約十幾秒,之后就出現如下錯誤提示:
>>>
RESTART: C:\Users\Administrator\AppData\Local\Programs\Python\Python37\opencv test1.py
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\opencv test1.py", line 879, in <module>
cv2.imshow("cap", frame)
cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
>>>
嘗試方法:
1、不管是直接打開USB攝像頭獲取圖片,還是直接從一段視頻中獲取圖片,都是一個現象。
2、單步除錯發現 cap.isOpened() 這個回傳數值都正常,但是cap.read()會出現NULL,導致程式出錯。
3、嘗試在cap.read()會出現NULL后,重新打開視頻獲取圖片,也不行,cap.read()還是會出現NULL
uj5u.com熱心網友回復:
請問您這個問題解決啦嗎 我也遇到這個問題了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259883.html
