问题描述:
在进行图像处理任务时,遇到错误,Invalid JPEG data or crop window, data size ***,训练程序直接中断。
运行环境:Windows10 + TensorFlow + CUDA + CUDNN + OPENCV
原因分析:
图片在解码时,通常有2种格式,一种是progressive,一种叫baseline,TensorFlow不认识progressive的图片,导致上述问题。因此,需要:
1. 识别图片是否为progressive;
2. 将progressive的图片转换为baseline.
图片progressive识别方法:
地址:https://codepen.io/sergejmueller/full/GJKwv
拖动图片到虚线矩形区域即可识别。
将progressive的图片转换为baseline:
利用Opencv即可完成该工作:
1. 利用cv2.imread() 读取图片;
2. 利用 cv2.imwrite() 写入到本地即可。
完成上述转换后,不再报错,问题得到解决。
结果展示: