python 图片数据预处理之--生成带标签的txt文档

生成带标签的文本文件

    • 生成带标签的文本文件
    • 文件结构
    • 代码
    • 说明

文件结构

如图:
python 图片数据预处理之--生成带标签的txt文档_第1张图片

代码

#coding:utf-8
import os

#生成带标记的txt文档
#1.先生成单个文档generate 2.合并所有文档merge
# 参数说明:
# storePath:保存单个文档的地方,
# name:当前数据集是测试集还是训练集,以及最终的txt文档名称
# dataPath:图片文件夹位置

def generate(dir,storePath,label):
    files = os.listdir(dir)
    files.sort()
    print('****************')
    print('input :',dir)
    print('start...')
    listText = open(storePath+'\\label'+str(int(label))+'.txt','w')
    for file in files:
        fileType = os.path.splitext(file)
        if fileType[1] == '.png':
            name = 'D:/BankCardOCR/dataset/digit_dataSet/trainData/Sample00'+str(int(label))+'/'+file + ' ' + str(int(label)) +'\n'
            listText.write(name)
    listText.close()
    print('down!')
    print('****************')

def merge(dir,name):
    files = os.listdir(dir)
    files.sort()
    print('****************')
    print('input :',dir)
    print('start...')
    listText = open(name+'.txt','w')
    for file in files:
        fileType = os.path.splitext(file)
        if fileType[1] == '.txt':
            txtFiles = open(dir+'\\'+file,'r')
            content = txtFiles.readlines()
            for item in content:
                listText.write(item)
    listText.close()
    print('down!')
    print('****************')



if __name__ == '__main__':
    storePath = 'D:\\BankCardOCR\\dataset\digit_dataSet\\testlabels'
    dataPath = 'D:\\BankCardOCR\\dataset\digit_dataSet\\testData\\Sample00'
    # storePath = 'D:\\BankCardOCR\\dataset\digit_dataSet\\trainlabels'
    # dataPath = 'D:\\BankCardOCR\\dataset\digit_dataSet\\trainData\\Sample00'
    for num in range(10):
        generate(dataPath+str(int(num)),storePath,num)
    #name 最终生成的文件名称
    name = 'test'
    merge(storePath,name)

说明

    一口吃不了胖子,那就一步一步来。
    分清先后逻辑,清晰准确地达到目的。
    1.先生成单个文档generate 2.合并所有文档merge

如有疑问,欢迎咨询;如有错误,欢迎指正!

你可能感兴趣的:(数字图像处理,机器学习)