CV之FE:基于TF进行FE——去除异常(被损坏)图像 和单通道图像

CV之FE:基于TF进行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模块来记录信息,日志级别为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)
        
(0)

相关推荐