Search code examples
pythonopencvkeras

I am having trouble with this error (-215:Assertion failed) !ssize.empty() in function 'resize' in OpenCV


I am trying to apply a Keras' image classifier to my project, but down the road I got stuck with this. Though previously, with the same code I could use OpenCV to read and train images, but after switching to a new batch of images it got caught with the error. So my speculation is that there's something wrong with my file type:

This is from the batch that got the error:

traf.204.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 480x294, frames 1

This is from the batch that didn't get caught with the error:

bear.290.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 224x224, frames 3

But the file type seems to be exactly the same (except for the resolution). How can I fix this problem?


Solution

  • I was supposed to add a try/exception so my code could bypass "ugly" images:

    try:
        path=os.path.join(mypath, n)
        img=cv2.imread(path, cv2.IMREAD_GRAYSCALE)
        img=cv2.resize(img, (img_rows, img_cols))
    
    except Exception as e:
        print(str(e))
    

    cv2.resize() was where it was supposed to catch the error since it couldn't resize a "broken" image.