How to catch "OpenCV Error" in Python

you can easily inspect the error object, like

fvs = imutils.video.FileVideoStream(args.input).start()

while fvs.more():

  frame = fvs.read()

  try:
    
    grayframe = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

  except cv2.error as e:
    
    # inspect error object
    print(e)
    for k in dir(e):
      if k[0:2] != "__":
        print("e.%s = %s" % (k, getattr(e, k)))

    # handle error: empty frame
    if e.err == "!_src.empty()":
      break # break the while loop

Try cv2.error.

try:
    ...
except cv2.error as e:
    ...

Here's the page from the documentation but it's only for the C/C++ interface -- I can't find anything on the Python error handling for OpenCV (I find the documentation for the Python interface to be sadly lacking).

Tags:

Python

Opencv