TRDG 깃헙주소
: https://github.com/Belval/TextRecognitionDataGenerator
내가 사용한 코드 정리
- 환경 설정
- git clone https://github.com/Belval/TextRecognitionDataGenerator.git
프로그램을 다운합니다.
폰트의 이름의 특수문자들을 _로 바꿔줍니다.
# __폰트파일 이름 변경__
import os
# 폰트파일에 ( ) ' 띄어쓰기등 문자가 있으면 작동이 안된다.
#-------------------------------------------------------
#path = os.getcwd() + "/fontfile" # 폰트파일 디렉토리 경로
path = "/font/path" // 폰트경로
#-------------------------------------------------------
tmp = []
def rename_option(name):
new_name = name
new_name = new_name.replace('(', '_')
new_name = new_name.replace(')', '_')
new_name = new_name.replace(' ', '_')
new_name = new_name.replace('\'', '_')
return new_name
# 디렉토리들 순회 후 파일 및 디렉토리 이름 변경
def enum_folder_only(dirname):
global tmp
for filename in os.listdir(dirname):
file_path = os.path.join(dirname,filename)
if os.path.isdir(file_path):
new_name = rename_option(filename)
os.rename(dirname + "/" + filename , dirname +"/" + new_name)
file_path = dirname + "/"+ new_name
tmp.append(file_path)
enum_folder_only(file_path)
return tmp
dirname_path = enum_folder_only(path)
for i in dirname_path:
for j in os.listdir(i):
tmp = rename_option(j)
os.rename(i + "/" + j, i + "/" + tmp)
- 이미지 생성
import os
font_path = "My/Font/Adress/"
output_dir_path = "Save/Path/Folder/Address/"
tmp = []
def enum_folder_only(dirname):
global tmp
for filename in os.listdir(dirname):
file_path = os.path.join(dirname,filename)
if os.path.isdir(file_path):
tmp.append(file_path)
enum_folder_only(file_path)
return tmp
all_font_dir_path = enum_folder_only(font_path)
#-----------------------------------------------------------------
for i in all_font_dir_path:
tmp_file_list = os.listdir(i)
for j in tmp_file_list:
if ('.ttf' in j) or ('.TTF' in j):
_font_ = i + "/" + j
_output_ = _font_.replace(font_path, output_dir_path)
### new code 정렬할수있는 코드 ###
# idx = _output_.rfind('/')
# leftStr = _output_[:idx+1]
# rightStr = _output_[idx+1:]
# if '-' in rightStr:
# idx2 = rightStr.rfind('-')
# leftSide = rightStr[:idx2]
# _output_ = leftStr + leftSide
# else:
# _output_ = _output_[:-4]
print(_font_, _output_)
# 숫자포함, 대소문자 섞인 코드
!python TextRecognitionDataGenerator/trdg/run.py -c 800 -k 5 -rk -rs -let -fi -f 512 -b 3 -tc '#000000,#888888' -t 8 --margins 50,50,50,50 --font $_font_ --output_dir $_output_
# 소문자만
!python TextRecognitionDataGenerator/trdg/run.py -c 600 -k 5 -rk -ca lower -fi -f 512 -b 3 -tc '#000000,#888888' -t 8 --margins 50,50,50,50 --font $_font_ --output_dir $_output_
# 대문자만
!python TextRecognitionDataGenerator/trdg/run.py -c 600 -k 5 -rk -ca upper -fi -f 512 -b 3 -tc '#000000,#888888' -t 8 --margins 50,50,50,50 --font $_font_ --output_dir $_output_
print("done")