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

STM32+ST7789屏实战:手把手教你打造物理按键控制的3级菜单GUI(附完整代码)

本文详细介绍了如何使用STM32和ST7789屏构建物理按键控制的3级菜单GUI系统。从硬件架构设计、SPI驱动配置到菜单状态机实现,提供了完整的代码示例和优化技巧,帮助开发者快速掌握嵌入式GUI开发的核心技术。

iii12的专栏 236

无线图像传输新突破:深度JSCC算法在低带宽环境下的性能实测

本文深入探讨了基于深度学习的信源信道联合编码(JSCC)算法在低带宽无线图像传输中的突破性表现。通过实测数据对比,深度JSCC在低信噪比环境下展现出卓越的鲁棒性,有效对抗传统方案的“悬崖效应”,实现图像质量的平滑下降,为远程医疗、工业巡检等严苛场景提供了新的解决方案。

weixin_29090089的博客 504

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

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

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

BIM Revit教程(六)尝试安装 Revit 时显示“Autodesk Revit 已安装。”

在安装Revit或RevitLT时,若系统提示“AutodeskRevit版本已安装”,通常是由于旧版本残留文件未完全清除所致。解决方案包括:1.通过控制面板或Windows设置卸载旧版本Revit,确保所有相关组件被移除;2.使用Autodesk卸载工具(AdskUninstallHelper)进一步清理;3.谨慎操作注册表,删除与Revit相关的残留项;4.确保系统有至少30GB的可用磁盘空间;5.完成上述步骤后,重新尝试安装Revit。此外,文章还提到了一个免费功能商店,供用户寻找提效工具,并鼓励粉丝

ZOZO_888的博客 2129

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

实战解析:利用Wireshark解密QQ通信协议

本文提供了一份利用Wireshark工具分析QQ通信协议的实战指南。文章详细介绍了从环境准备、捕获数据包到解析协议层的完整流程,重点演示了如何识别QQ号码字段、观察加密数据特征以及区分不同通信类型(如文本、文件传输)。通过此实践,读者可以深入理解网络分层模型和现代应用加密通信机制,提升网络协议分析与安全诊断能力。

weixin_29210727的博客 407

开源PACS系统Orthanc(DICOM服务器)配置

PACS(Picture Archiving and Communication System)是医学影像的数字化存储、检索和传输系统,用于管理和存储医学图像和相关信息,如放射学、核医学、超声、病理学等各种医学影像。PACS系统通过数字化技术取代了传统的胶片方式,使医疗机构能够更高效地存储、传输和查看医学图像,从而提高了医疗图像的管理和工作流程。

qq_42231043的博客 6249

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

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

qq_46396470的博客 2175

OpenCV自学记录(1)——(一拳超人)图像处理基础(图像获取、图像变化)

学习深度学习进行图像分类和目标检测时,要有一定的图像处理的基础。在学习深度学习之前,看了一本《图像处理技术基础》,现在也忘得差不多了,后悔当初没有整理记录下来。现在整理一下图像处理的常用方法,最后实现一个小项目——基于OpenCV的车牌号识别。 OpenCV自学记录(1)——图像处理基础(一)1、图像获取1.1获取图像数据1.2 获取摄像头图像数据2、图像变化2.1 移动(translation)...

qq_40784418的博客 1455

【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

【Linux命令大全】006.网络通讯之netstat命令(实操篇)

本文详细介绍了Linux系统中netstat网络诊断命令的实用技巧。主要内容包括:1) 基本功能与参数详解,展示如何查看网络连接、路由表和接口统计;2) 安装方法及基础用法,如查看TCP/UDP连接、显示进程信息和路由表;3) 高级应用技巧,包括监听端口检查、连接状态统计和实时监控。文章通过表格和代码示例,系统性地呈现了netstat在系统管理中的核心应用场景,是网络故障排查和性能监控的实用指南。

yuhuasheng1997的博客 705

AI产品经理面试宝典第94天:RAG知识库构建与预处理策略面试指南

本文深入解析RAG知识库构建的核心挑战与预处理策略,涵盖文档格式转换、问答对生成及自动化测试全流程,为AI产品经理提供面试必备的实战方法论与避坑指南,助你精准应对技术深度类问题。

打造全国最全的AI Agent开发知识领域的博客 311

模型训练出现 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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

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

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

qq_40971025的博客 2019

OV9734 DATASHEET,完整规格书

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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、付费专栏及课程。

余额充值