CV之FE:基于TF進(jìn)行FE——去除異常(被損壞)圖像 和單通道圖像
去除了異常(被損壞)圖像 、單通道圖像
1、
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模塊來記錄信息,日志級(jí)別為INFO
logging.basicConfig(level=logging.INFO)
#2、引入argparse模塊實(shí)現(xiàn)命令行操作
args = parse_args()
#3、遞歸取出dir_path下所有jpg文件,包括子文件夾的jpg文件
all_pic_list = glob_all(args.dir_path)
#4、for循環(huán)實(shí)現(xiàn)依次刪除異常圖片(包括損壞、非三通道)
for i, img_path in enumerate(all_pic_list):
try:
……
except Exception:
#檢測(cè)到異常就刪掉圖片
logging.warning('%s has broken. Delete it.' % img_path)
#logging.error(traceback.format_exc())
os.remove(img_path)
聯(lián)系客服