python删除文件夹里损坏的图片
Posted _刘文凯_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python删除文件夹里损坏的图片相关的知识,希望对你有一定的参考价值。
今天学习pytoch时发现有好多图片损坏了
报错如下:
PIL.UnidentifiedImageError: cannot identify image file <_io.BufferedReader name=’./train\\cat\\052cat.jpg’>
原因
图片没有被正确的下载
解决
写个小程序把所有损坏的图片都删除
import cv2
import os
import numpy as np
fn_all = './test/cat/'
for fn in os.listdir(fn_all):
img = cv2.imread(fn_all + fn)
if type(img) != type(np.array([1])):
os.remove(fn_all + fn)
小程序改进:
import cv2
import os
import numpy as np
fn_all = ['./val/','./train/','./test/']
for fn_a in fn_all:
for fn in os.walk(fn_n):
if fn[-1] != []:
for i in fn[-1]:
img_f = fn[0] +'/'+ i
if type(cv2.imread(img_f)) != type(np.array([1])):
os.remove(img_f)
以上是关于python删除文件夹里损坏的图片的主要内容,如果未能解决你的问题,请参考以下文章
我的内存卡里的图片打开时“windows照片查看器无法打开此图片,因为此文件可能已损坏、损毁过大”怎样恢复