OSError: image file is truncated (71 bytes not processed)

大型数据集含损坏图OSError: image file is truncated和PIL.UnidentifiedImageError: cannot identify image file解决方案 在训练深度学习网络模型时,所用大规模图像数据集(如万级、十万级、百万级等等)中包含有损毁或损坏的图像。在使用大型数据集包含损坏图片时,报错OSError: image file is truncated 和 PIL.UnidentifiedImageError: cannot identify image file的解决方案 阅读详情

在加载训练图像数据,准备训练模型的时候,报错如下:

OSError: image file is truncated (71 bytes not processed) 

搜索查了一下,有两种原因,一种说是图像太大,另一种说是图像不完整。找到的解决方式为如下:

from PIL import ImageFile

ImageFile.LOAD_TRUNCATED_IMAGES = True

这么设置,确实可以了,但是对于训练集中有多少有问题的图像,不清楚,而且这些图像如果比例太大,对训练效果会不会产生影响也不清楚。

所以还是想先确认一下,到底这种类型的图像有多少.

报错位置信息如下:

for i, (images, target) in enumerate(train_loader):

具体内部错误如下:

File "/opt/anaconda3/envs/yolov5/lib/python3.6/site-packages/PIL/ImageFile.py", line 260, in load
    "image file is truncated "
OSError: image file is truncated (34 bytes not processed)

所以写了一个测试脚本,就是对训练路径下面的所有图像都用pillow中的Image读取一下,看看哪个图像报错,结果遍历完图像发现一个报错的也没有,这个地方有些疑问。在网上查的时候,看到有人使用keras.preprocessing.image.load_img()找到了出问题的图像,所以打算试一下,结果安装虚拟环境下载需要好久,就先让它下载着,在另外一个环境中使用OpenCV进行读取测试一下,在imread的过程中,出现了几条Premature end of JPEG file提示,总共有三张图像,还好不多,看了下这三张图像确实显示不完整,就是图像下面的一部分是灰色的,看着就像是没有下载完。这样只要剔除这三张有问题的图像就可以了。

但在查询torchvision.datasets.ImageFolder的时候,发现其中有一个参数可以对加载的图像进行判断,is_valid_file:A function that takes path of an Image file and check if the file is a valid file (used to check of corrupt files)

def is_valid_jpg(jpg_file):      
    """判断JPG文件下载是否完整"""      
    if jpg_file.split('.')[-1].lower() == 'jpg':          
        with open(jpg_file, 'rb') as f:              
            f.seek(-2, 2)              
            return f.read() == '\xff\xd9'      
    else:          
        return True

通过这种方式就可以对训练数据集中出错的图像进行判断,剔除不满足要求的图像。

mmdetection 训练时 OSError: image file is truncated (** bytes not processed) 问题解决 使用 mmdetection 框架进行 swin transformer 模型训练时,训练到一定的步骤会报错“OSError: image file is truncated (** bytes not processed)”且训练中断和进程退出。这里有一个修复思路:https://blog.youkuaiyun.com/qq_34097715/article/details/109646082。如果增加配置:color_type=‘unchanged’,pillow 尝试用 numpy 读取图片,依然会报错。 阅读详情

相关推荐

解决批量图像处理过程中:OSError: image file is truncated

1:问题描述: 在进行图像处理过程中,批量读取图像进行处理的时候,遇到中间某个图像损坏,导致处理无法进行下去。并伴随着OSError: image file is truncated的异常。 字面自已,图像被截断,损坏,无法完成正常的读取。 2:问题分析 错误发生的代码位于python的site-package文件夹内,代码文件为ImageFile.py。具体代码: import io import struct import sys import warnings from ...

sunny 9386

image file is truncated 解决方法

问题描述 在使用PIL处理图像时: from PIL import Image im=Image.open("pic.jpg") r,g,b=im.split() pic_bgr=Image.merge('RGB',(b,g,r)) pic_bgr.save('pic_bgr.jpg') 可能会遇到image file is truncated报错 解决方法 添加如下2句代码:...

Yl 3008

Python程序中PIL Image "image file is truncated"问题分析与解决

Python程序中PIL Image "image file is truncated"问题分析与解决解决方案错误原因这就解决了?继续探索truncated image再试一次总结 解决方案 第一种、删除截断图片 第二种、添加两行代码,如下 from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True 错误原因 首先看一下错误信...

楚小菜的博客 2万+

OSError: image file is truncated (7 bytes not processed)报错

OSError: image file is truncated (7 bytes not processed)报错

糖炒Li儿的博客 2165

Multisim 14.0元件库下载完整指南:从安装到配置

详细介绍Multisim 14.0版本的元件库下载方法,涵盖安装步骤与后续配置流程,帮助用户快速搭建仿真环境。内容覆盖常见问题及解决方案,让multisim元件库下载更高效、稳定。

weixin_34511754的博客 1931

UE5 Paper2D性能优化:GroupedSpriteSceneProxy合批渲染原理与实践

在游戏开发中,渲染性能优化是核心技术挑战之一,其核心原理在于减少CPU与GPU之间的通信开销,特别是降低Draw Call数量。Draw Call是CPU向GPU提交绘制命令的指令,每次调用都涉及状态切换和数据传输,当场景中存在大量同质化对象时,频繁的Draw Call会成为主要性能瓶颈。为此,现代图形引擎普遍采用合批渲染技术,其技术价值在于将多个共享相同渲染状态(如材质、几何体)的物体数据合并提交,从而将多次Draw Call压缩为一次或少数几次,显著提升渲染效率。这一技术在2D游戏开发中尤为重要,例如在

weixin_34198453的博客 394

OSError: image file is truncated解决思路及方案。

目录原因为啥会发生这个问题解决1.将无用的数据直接抛掉2.补全数据,继续用 原因 在python使用 PIL 的时候。有时候会因为一些莫名的数据操作使的数据发生一丢丢小问题,比如这个错误OSError: image file is truncated。 我windows打开图片就会这样显示,绿色部分是数据缺失的: 为啥会发生这个问题 任何数据都有自己的基本格式,就拿图片数据而言,归根到底就是一串二进制的数据,那么它就会有自己的格式,比如开头肯定是ff d8(图片按二进制打开) 结尾肯定得是ff d9 加

你悄悄的来到了我的博客 2万+

Android AudioFlinger(一)——初识AndroidAudio Flinger

AudioFlinger 是 Android 系统中的音频中间层(audio HAL, Audio Hardware Abstraction Layer)的一部分,负责管理音频的混音、播放和音量控制等功能。它充当 Android 应用程序和音频硬件之间的桥梁。

hirezy 1666

python-----贴图 和 报错:OSError: image file is truncated (8 bytes not processed)的处理

python-----贴图 和 报错:OSError: image file is truncated (8 bytes not processed)的处理 将一张图片贴到另一张图片上,代码如下: from PIL import Image import os from PIL import ImageFile ImageFile.LO...

小呆丶的博客 6172

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

WVP-GB28181-Pro配置避坑指南:从零到上线全流程详解(含ZLM自动同步技巧)

本文详细解析了WVP-GB28181-Pro视频平台的配置流程,特别针对国标视频平台部署中的常见陷阱,如stream-ip/sdp-ip配置错误、ZLM自动同步问题及端口冲突等,提供了实用的解决方案和优化建议,帮助开发者快速实现从零到上线的全流程部署。

weixin_30836759的博客 93

OSError image file is truncated (XX bytes not processed) 报错解决指南

我在训练深度神经网络时遇到了如下报错······此处省略一万字关于这个报错,我在网络上找到了解决方案。美中不足的是大部分文章都是知其然而不知其所以然,写了两行代码草草了事。这是非常不严谨的,对于很多小白来说,直接会懵掉:代码啥意思?该写在哪里?下面我来尝试解决这些问题,希望对大家有帮助。

qq_46396470的博客 2175

OpenOCD入门到精通:第 0 章 教程导读

摘要:本教程是OpenOCD嵌入式调试工具的完整指南,适合从新手到资深工程师的学习需求。内容涵盖基础配置、调试技巧、Flash编程、TCL脚本自动化、源码解析和二次开发,共8大部分30章。教程提供5种学习路线,可根据角色和目标灵活选择,配套资源包含示例代码和配置文件。通过系统学习,读者将掌握OpenOCD从使用到扩展的全套技能,成为嵌入式调试领域的专家。

从事嵌入式linux android驱动开发,拥有全栈能力 1940

【Bug解决】OSError: image file is truncated (7 bytes not processed)

PyTorch 代码,使用 MS COCO 数据集训练时报错: 报错内容:图像损坏,无法读取,具体就是括号里提示的,7 bytes 无法读取。报错原因:将一张正常的 格式图片用二进制打开,遵循的格式规则是图片开头为 ,图片结尾为 ,如果图片数据遭到损坏,通常是尾部的 不见了。最好是能将损坏的数据修复,针对 MS COCO 的训练数据, 这张图片已经损坏了,在https://msvocds.blob.core.windows.net/images/262993_z.jpg 可以下载到正常的图片,替换掉损坏

学习 & 分享 ~ 5680

深入解析雪球网股票行情数据爬取:基于WebSocket与API的实时数据获取技术实践

本文详细介绍了如何使用Python爬虫技术获取雪球网的股票行情数据,涵盖了WebSocket实时数据连接和RESTful API接口调用两种主要技术方案。完整的WebSocket客户端,支持实时行情订阅和数据处理功能丰富的API客户端,支持多种数据类型的获取数据存储和管理系统,使用SQLite进行数据持久化实时监控和预警系统,支持自定义预警规则技术指标计算,提供基本的数据分析功能。

2201_76125261的博客 1254

YOLO11改进|卷积篇|引入多样化分支块DBB

YOLO11中添加多样化分支块DBB

A1983Z的博客 1444

模型训练出现 OSError: image file is truncated (28 bytes not processed)

在训练模型的时候,我们有可能会出现 OSError: image file is truncated (28 bytes not processed)这样的错误, 造成这种错误的原因是数据集的问题,出现了数据缺失 eg: 出现这个问题呢,有两种方法: 跳过错误,抛弃本张图片,继续下面的训练 对图像进行补全 这里我们使用最简单的方法—抛弃数据,继续训练 我们在代码的最开头添加如下代码: 最开头 最开头 最开头 因为它最保险 from PIL import ImageFile ImageFile.LOA

qq_44936246的博客 1707

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OSError: image file is truncated (40 bytes not processed)解决方法

https://www.cnblogs.com/hongfei/p/4436767.html

qq_40971025的博客 2019

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OSError: image file is truncated (4 bytes not processed)

项目场景: 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.直接对有问题的图

weixin_42578627的博客 1392

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Image.open()报错,提示 image file is truncated (XX bytes not processed)

论文阅读备份

learning notes 1万+

OSError: image file is truncated (X bytes not processed)错误处理

训练Yolo v3时遇到以下错误: OSError: image file is truncated (X bytes not processed) 原因: 图片太大超过限制,PIL处理不了,必须把图片删除一部分,导致报error。 解决方法: 错误信息发生的文件开头加上: from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True 设为true,会导致你加载的图片少掉一部分。 参考链接:https://

hzs3237259的专栏 5084

OSError: image file is truncated

python

m0_57201352的博客 698

OSError: image file is truncated (28 bytes not processed)

解决办法: 在代码中添加两行 from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True 转载于:https://www.cnblogs.com/wanghui-garcia/p/10796944.html

weixin_34130269的博客 3797

Python PIL Image “OSError: image file is truncated (41 bytes not processed)“问题解决

前言: 由于,最近项目所需,要一个pytorch版本的模型,用在服务器上,在调试pytorch1.2训练yolov4训练自己的数据报错,后续也将一一上传这个yolov4的代码,并讲解一下怎么训练自己的数据,现在在优化代码,优化之后,将上传分享给大家! 问题: OSError: image file is truncated (41 bytes not processed) 解决方法: 在主文件里设置: from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IM

荪荪的博客 1865

OSError: image file is truncated (13 bytes not processed)

解决办法: 添加: from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True 就可以解决了

sunny 853

OSError: image file is truncated (1 bytes not processed)

OSError: image file is truncated (1 bytes not processed) 在做深度学习图像分类任务时,偶然发现过这个错误,之前采取网上通用的增加 from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True 的方式可以进行错误屏蔽。但这次在做模型测试时添加了这段代码依然无法解决这个问题。 经过调试发现可以尝试将代码中的 Dataloader模块里 num_workers设置进行修改,我直接设置为0,

dsnds03的博客 1004
上一篇: unsigned char*格式的bgr转rgb
下一篇: TypeError: __init__() got an unexpected keyword argument ‘is_valid_file‘
GeneralJing
博客等级 码龄15年 17粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值