删除fer2013中无用的数据

fer2013中无用数据的删除

最近在做机器学习的练习,发现fer2013数据集中有很多的干扰数据或者说干扰图片,大致分为两类,非人脸图片以及错匹配人脸图片。后者我认为需要手动修改的实在是懒得搞,但是前面的非人脸图片还是能轻松去除的。

错例1
错例2在这里插入图片描述

假设你已经把csv文件转成了图片并且存在了某文件夹下

// An highlighted block

from PIL import Image
import numpy as np
import os

root = r'D:\AAAA\python\pythonproject\fer2013_practice\data\fer2013\test\6'
imgs = [os.path.join(root, img) for img in os.listdir(root)]        # 获取全部图片的路径到一个字典中
for ii,img in enumerate(imgs):              # 遍历其中的图片
    # print(ii,img)                   # 此处ii为标号,img为此图片的路径

    im = Image.open(img)            # 打开这张图片
    im = im.convert("L")            # 转换成matrix矩阵的方法
    data = im.getdata()
    data = np.matrix(data)

    a = data.copy()         # 统计小于10的个数
    a[a <= 10] = 1
    a[a > 10] = 0
    aaa = np.sum(a)

    b = data.copy()         # 统计大于220的个数
    b[b < 240] = 0
    b[b >= 240] = 1
    bbb = np.sum(b)

    if aaa > 0.65*48*48 or bbb > 0.65*48*48:
        os.remove(img)                      # 删掉文件
        print("Delete File: " + img)

把root中的文件夹改成你的文件夹即可

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值