赞
踩
labeme打开图像报OSError: image file is truncated (4 bytes not processed)错误:
例如:使用labelme标注文件时打开图片闪退,之后shell界面报OSError: image file is truncated (4 bytes not processed)
1.我们发现这个问题是图片格式出问题了,用opencv打开图片查看图片格式,有问题的图片格式是object,没有问题的图片格式是uint8:
2.直接对有问题的图片转格式,代码为:
im_rr = Image.fromarray(np.uint8(img)) #img为有问题的图片
报错:int() argument must be a string, a bytes-like object or a number, not ‘JpegImageFile’
确定是格式问题,使用另一种转格式的方式:
im = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
中间还出现中文路径问题,使用如下代码读取:
img = cv2.imdecode(np.fromfile(os.path.join(path1,imdir),dtype=np.uint8),-1)
对比转格式后能正常用labelme打开的图片,我们发现原图片出现了乱码,才导致labelme和opencv读取异常
原始图片
转格式后的图片
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。