[英]In Python+OpenCV, how do I test cv.CaptureFromFile return value for failure?
我正在使用Python綁定到OpenCV。 如果我將不存在的(或壞的)文件傳遞給cv.CaptureFromFile(),如何測試失敗的返回值? 在C / C ++ API中,cvCaptureFromFile()返回NULL。 在Python中,我得到:“<Capture(nil)>”
如何測試“<Capture(nil)>”?
capture = cv.CaptureFromFile( infilename )
# capture != None on failure so this doesn't work.
if capture is None :
print "Unable to open \"{0}\"".format( infilename )
sys.exit(1)
我可以使用os.stat(),但這對文件存在但OpenCV真正無法解碼文件的情況(例如,編解碼器錯誤)沒有幫助。
嘗試使用cv.QueryFrame(capture)讀取一幀。 如果它返回None,則無法打開流。
如果你把它作為布爾值測試,它應該工作。 嘗試這個:
capture = cv.CaptureFromFile( infilename )
if not capture:
print "Unable to open \"{0}\"".format( infilename )
sys.exit(1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.