python扩大训练集样本数量

训练模型的好坏有时候要跟样本数量有极大关系,通常每类样本需要几千上万张照片,而样本的采集通常并不容易,在获取少量样本时,可以采用以下方法来快速扩大样本,同时又不会造成训练的失真。已经经过验证,效果不错,希望对大家有帮助

from PIL import Image
import os
import os.path

rootdir = "D:\\字母图库\\F\\"  # 指明被遍历的文件夹

firstName = "F"
for parent, dirnames, filenames in os.walk(rootdir):
    for filename in filenames:
        print('filename is :' + filename)
        currentPath = os.path.join(parent, filename)

        #name = filename.split(sep='-')
        temp = Image.open(currentPath).resize((28, 28))
        #newname = name[0] + "-0" + filename[1:]
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-0"+filename;
        temp.save(newname)

        #newname = name[0] + "-1" + filename[1:]
        out= temp.transpose(Image.FLIP_LEFT_RIGHT) # 重设宽120,高120
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-1"+filename;
        out.save(newname)

        #newname = name[0] + "-2" + filename[1:]
        out= temp.transpose(Image.ROTATE_90)
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-2"+filename;
        out.save(newname)

        #newname = name[0] + "-3" + filename[1:]
        out= temp.transpose(Image.ROTATE_180)
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-3"+filename;
        out.save(newname)

        #newname = name[0] + "-4" + filename[1:]
        out= temp.transpose(Image.ROTATE_270)
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-4"+filename;
        out.save(newname)

        #newname = name[0] + "-5" + filename[1:]
        out= temp.transpose(Image.FLIP_TOP_BOTTOM)
        newname = r"data\\ABCDE-TRANSPOSE\\" +firstName+"-5"+filename;
        out.save(newname)

猜你喜欢

转载自blog.csdn.net/weixin_42052460/article/details/80861056
今日推荐