crnn训练样本整理(2):样本重新编号-1vs多的标签与图片(python)

BG:crnn做文字识别,训练样本需将图片与该图片的标签放到一个目录下,为便于管理尽可能多的样本,且收集更多的样本,处理将所有图片标签写在一个标签文本下的情况,遂对样本进行整理、重新编号。
编号规则:
图片:10位数字+’.[‘jpg’, ‘png’, ‘jpeg’]’
标签:10位数字+’.txt’

1vs多crnn样本重新编号.py

import os
import shutil

# 获取当前目录
cwd = os.getcwd()

set_name = '/train2'
# 图片所在的文件夹路径
imgs_path = cwd + set_name + '/train'

# 标签路径
labels_path = cwd + set_name + '/train_labels.txt'

# 用来存储重新编码的数据集(图片+标签)
new_path = cwd + '/n_train2'

# 设置起始编号
count = 1

# 标签文件计数
count_txt = 1

# 图片格式
img_format = '.jpg'

# 按行遍历标签文本数据
for line in open(labels_path, encoding='utf-8'):
    print('第  %s  行的内容:'% count_txt,line)
    count_txt += 1

    # 原图片名称
    img_name = line.split('\t')[0]

    # 原标签内容
    label_text = line.split('\t')[1]

    # 原图片路径
    img_path = os.path.join(imgs_path, img_name)

    # 新图片名、路径
    new_img_name = '0' * (10 - len(str(count))) + str(count) + img_format
    new_img_path = os.path.join(new_path, new_img_name)

    # 新标签名、路径
    new_label_name = '0' * (10 - len(str(count))) + str(count) + '.txt'
    new_label_path = os.path.join(new_path, new_label_name)

    # 剪切图片、创建独立的标签文本
    try:
        label_file = open(new_label_path, 'w', encoding='utf-8')
        label_file.write(label_text)
        label_file.close()
        shutil.move(img_path, new_img_path)
        count += 1
    except Exception as e:
        print(e)

# 统计
print('label文件中总计有  %d  条数据。'% (count_txt - 1))

print('总计  %d  条数据被成功重命名。' % (count - 1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值