输出结果
去除了异常(被损坏)图像 、单通道图像
设计思路
部分代码实现
import tensorflow as tf
from glob import glob
import os
……
def glob_all(dir_path):
pic_list = glob(os.path.join(dir_path, '*.jpg'))
inside = os.listdir(dir_path)
for dir_name in inside:
if os.path.isdir(os.path.join(dir_path, dir_name)):
pic_list.extend(glob_all(os.path.join(dir_path, dir_name)))
return pic_list
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-p', '--dir-path', default='data/')
return parser.parse_args()
if __name__ == '__main__':
#1、引入logging模块来记录信息,日志级别为INFO
logging.basicConfig(level=logging.INFO)
#2、引入argparse模块实现命令行操作
args = parse_args()
#3、递归取出dir_path下所有jpg文件,包括子文件夹的jpg文件
all_pic_list = glob_all(args.dir_path)
#4、for循环实现依次删除异常图片(包括损坏、非三通道)
for i, img_path in enumerate(all_pic_list):
try:
……
except Exception:
#检测到异常就删掉图片
logging.warning('%s has broken. Delete it.' % img_path)
#logging.error(traceback.format_exc())
os.remove(img_path)