因为研究需要,下载了一个公开的亚洲人脸数据集,由于网络波动等问题,下载的图片出现了头部错误以及数据错误,因为数据集太过庞大,于是想到用python来实现错误数据删除以及顺序重命名。
代码如下:
"""
检测图片完整性
"""
import os
from tqdm import tqdm
class CheckImage(object):
def __init__(self, img):
with open(img, "rb") as f:
# f.seek(-2, 2)
self.img_text = f.read()
f.close()
def check_jpg_jpeg(self):
"""检测jpg图片完整性,完整返回True,不完整返回False"""
buf = self.img_text
return buf.endswith(b'\xff\xd9')
def check_png(self):
"""检测png图片完整性,完整返回True,不完整返回False"""
buf = self.img_text
return buf.endswith(b'\xaeB`\x82')
"""
检测某个文件夹中不完整的图片,并删除
"""
class CheckBrockImage(object):
def __init__(self, train_dir):
self.train_di