美文网首页
训练集和测试集划分

训练集和测试集划分

作者: 1037号森林里一段干木头 | 来源:发表于2020-08-04 16:09 被阅读0次

假设拥有的数据文件是这种类型的,按百分比划分训练集和测试集,

数据文件.PNG
数据文件2.PNG

导入库,和预定义路径

import os 
import cv2
import random
filepath=r"C:\Users\bxzyz\Desktop\doc\ocr\data\EnglishImg\English\Img\GoodImg\Bmp"
train_img_savepath=r"C:\Users\bxzyz\Desktop\data\train\imgs"
test_img_savepath=r"C:\Users\bxzyz\Desktop\data\test\imgs"
train_label_savepath=r"C:\Users\bxzyz\Desktop\data\train\labels"
test_label_savepath=r"C:\Users\bxzyz\Desktop\data\test\labels"

存图和标签

percent=0.6#use 60% image to train
for item in os.listdir(filepath):
    imgpath=os.path.join(filepath,item)
    for imgname in os.listdir(imgpath):
        srcimg_path=os.path.join(imgpath,imgname)
        img=cv2.imread(srcimg_path)
        if random.random()<percent:
            save_img_name=os.path.join(train_img_savepath,imgname)
            cv2.imwrite(save_img_name,img)#train data
            labelname =os.path.join(train_label_savepath, 'labels.txt')
            with open(labelname,'a') as f: # 如果filename不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!
                f.write(imgname)
                f.write("\n")
                
        else:
            save_img_name=os.path.join(test_img_savepath,imgname)
            cv2.imwrite(save_img_name,img)#train data
            labelname =os.path.join(test_label_savepath, 'labels.txt')
            with open(labelname,'a') as f: # 如果filename不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!'a',表示往后添加
                f.write(imgname)
                f.write("\n")
        

最终结果

图.PNG 标签1.PNG

相关文章

网友评论

      本文标题:训练集和测试集划分

      本文链接:https://www.haomeiwen.com/subject/uldsrktx.html