我是靠谱客的博主 强健火龙果,最近开发中收集的这篇文章主要介绍OCR:使用数据生成工具对自己的文字识别数据进行生成OCR:使用数据生成工具对自己的文字识别数据进行生成1. 下载2. 认识自己数据3. 所要生成的数据4. 生成数据代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

OCR:使用数据生成工具对自己的文字识别数据进行生成

参考

TextRecognitionDataGenerator

OCR数据集生成利器—TextRecognitionDataGenerator

python3-随机生成10位包含数字和字母的密码

文章目录

  • OCR:使用数据生成工具对自己的文字识别数据进行生成
  • 1. 下载
  • 2. 认识自己数据
  • 3. 所要生成的数据
    • 3.1 生成label
    • 3.2 关于图片背景的参数
    • 3.3 关于数字颜色的参数
  • 4. 生成数据代码


1. 下载

我们在自己的目标文件夹打开终端cmd,执行下面代码

git clone git@github.com:Belval/TextRecognitionDataGenerator.git

然后我们进入trdg文件夹执行run.py可以进行数据生成

2. 认识自己数据

在这里可以看到自己的数据都是在金属表面进行点刻的字符,包括大写英文以及数字,并且数据居多。
在这里插入图片描述

3. 所要生成的数据

根据自己的数据,我们首先要明确两点:生成什么样label的数据,以及图片类型是什么样的?包括图片背景和数据颜色

3.1 生成label

强大的数据生成工具支持我们自己的label,而不用随机生成label。
这这里我自己写了一段代码,用于生成label的txt文件。
在这里我们生成20000个数据标签,其中的格式有
2个字母,11数字
3个字母,6个数字
6个数字
我们各生成7000个
在这里插入图片描述

import random,string
import argparse
import os
from tqdm import tqdm

parser = argparse.ArgumentParser(description="随机生成大写字母以及数字")
parser.add_argument(
        "--output_dir", type=str, nargs="?", help="The output directory", default="out/"
    )
parser.add_argument(
        "-n","--number_gener", type=int, nargs="?", help="how many number to gener", default="10"
    )
parser.add_argument( 
        "-f",
        "--first_number",
        type=int,
        nargs="?",
        help="要生成多少个英文大写字母",
        default="3",)
parser.add_argument( 
        "-l",
        "--last_number",
        type=int,
        nargs="?",
        help="要生成多少个数字",
        default="11",)
args = parser.parse_args()

out_dir=args.output_dir
number_gener=args.number_gener

with open(os.path.join(out_dir,'1.txt'),'a') as f:
    for i in tqdm(range(number_gener)):
        passwd1 = []
        uppercase = string.ascii_uppercase
        digits = string.digits
        length_uppercase = len(uppercase)
        length_digits = len(digits)
        for i in range(args.first_number):
            latter = uppercase[random.randint(0,length_uppercase - 1)]
            passwd1.append(latter)
        for i in range(args.last_number):
            latter = digits[random.randint(0,length_digits - 1)]
            passwd1.append(latter)
        f.write("".join(passwd1))
        f.write('n')
        # print("".join(passwd1))



3.2 关于图片背景的参数

在数据生成工具中的run.py文件中,关于图片背景主要有两个参数,
-b,--background设置图片的背景,0-高斯噪声; 1-白色背景; 2-晶体背景;3-图片
-id,--image_dir当-b设置为3时,设置图片背景的路径,

    parser.add_argument(
        "-b",
        "--background",
        type=int,
        nargs="?",
        help="Define what kind of background to use. 0: Gaussian Noise, 1: Plain white, 2: Quasicrystal, 3: Image",
        default=0,
    )
        parser.add_argument(
        "-id",
        "--image_dir",
        type=str,
        nargs="?",
        help="Define an image directory to use when background is set to image",
        default=os.path.join(os.path.split(os.path.realpath(__file__))[0], "images"),
    )

3.3 关于数字颜色的参数

-tc,--text_color文本的颜色,通过设定的颜色,或者颜色范围,生成特定颜色的文本,颜色格式为16进制 如:#282828,(#000000,#282828)
-stf,--stroke_fill如果笔划宽度大于0,则定义笔划轮廓的颜色

    parser.add_argument(
        "-tc",
        "--text_color",
        type=str,
        nargs="?",
        help="Define the text's color, should be either a single hex color or a range in the ?,? format.",
        default="#282828",
    )
    parser.add_argument(
        "-stf",
        "--stroke_fill",
        type=str, 
        nargs="?",
        help="Define the color of the contour of the strokes, if stroke_width is bigger than 0",
        default="#282828",
    )

剩下的就不一一列举了,具体看参考文章。

4. 生成数据代码

在trdg文件夹下,打开cmd终端,

先生成 高斯噪声背景的,具有高斯模糊的,5000个数据

python run.py -c 5000 -b 0 -na 1 -bl 1 -rbl  -i input/1.txt --output_dir out_1/

普通背景下,具有高斯模糊的,5000个数据

python run.py -c 5000 -b 3 -id images -na 1 -bl 1 -rbl  -i input/3.txt --output_dir out_2/

黑色背景下,具有高斯模糊的,5000个银色字体的数据

python run.py -c 5000 -b 3 -id images_black -na 1 -bl 1 -rbl  -i input/4.txt --output_dir out_4/  -tc #999999
python run.py -c 5000 -b 3 -id images_black -na 1 -bl 1 -rbl  -i input/4.txt --output_dir out_3/  -tc #999999,#FFFFFF

在这里插入图片描述

最后

以上就是强健火龙果为你收集整理的OCR:使用数据生成工具对自己的文字识别数据进行生成OCR:使用数据生成工具对自己的文字识别数据进行生成1. 下载2. 认识自己数据3. 所要生成的数据4. 生成数据代码的全部内容,希望文章能够帮你解决OCR:使用数据生成工具对自己的文字识别数据进行生成OCR:使用数据生成工具对自己的文字识别数据进行生成1. 下载2. 认识自己数据3. 所要生成的数据4. 生成数据代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部