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?
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.