본문 바로가기
Youtube

https://github.com/JaidedAI/EasyOCR

by OKOK 2024. 7. 21.
  • easyocr 설치 성공
  • 아니 에러가 겁나 많이 나네
  • 일단 유명한 것은 설치 방법을 찾아보기
  • 그리고 그냥 단순히 설명 따라하기
  • 다른거 추가하지 않기
  • 그럼 이제 한국어 해보기
import easyocr
import re
import os

def extract_time_from_filename(filename):
    # 정규식을 사용하여 파일 이름에서 시작 및 종료 시간을 추출
    match = re.match(r'(\d{1})_(\d{2})_(\d{2})_(\d{3})__(\d{1})_(\d{2})_(\d{2})_(\d{3})', filename)
    if match:
        # 정규식 그룹에서 시간 정보를 추출
        start_hour, start_minute, start_second, start_millisecond, end_hour, end_minute, end_second, end_millisecond = match.groups()
        
        # 시작 시간과 종료 시간을 SRT 형식으로 변환
        start_time = f"{start_hour}:{start_minute}:{start_second},{start_millisecond}"
        end_time = f"{end_hour}:{end_minute}:{end_second},{end_millisecond}"
        
        return start_time, end_time
    else:
        raise ValueError("Filename does not match expected pattern")

def write_srt_file(filename, entries):
    with open(filename, 'w', encoding='utf-8') as f:
        for idx, (start_time, end_time, text) in enumerate(entries, 1):
            f.write(f"{idx}\n")
            f.write(f"{start_time} --> {end_time}\n")
            f.write(f"{text}\n\n")

# EasyOCR 초기화
reader = easyocr.Reader(['ko', 'en'], gpu=True)

# 이미지 파일이 있는 폴더 경로
input_folder = r'C:\Users\lion\Downloads\software\Release_x64\TXTImages'

# SRT 파일 저장 경로
srt_filename = 'output.srt'

# 모든 이미지 파일을 처리하고 SRT 파일에 기록
entries = []
for filename in os.listdir(input_folder):
    if filename.lower().endswith('.jpeg'):
        image_path = os.path.join(input_folder, filename)
        
        # 이미지 파일에서 텍스트 추출
        result = reader.readtext(image_path, detail=0)
        
        # 결과를 하나의 문자열로 결합
        text_result = ' '.join(result)
        
        # 파일 이름에서 시간 정보 추출
        try:
            start_time, end_time = extract_time_from_filename(filename)
            entries.append((start_time, end_time, text_result))
        except ValueError as e:
            print(f"Skipping file {filename}: {e}")

# SRT 파일로 저장
write_srt_file(srt_filename, entries)

print(f"SRT file '{srt_filename}' has been created.")

 

'Youtube' 카테고리의 다른 글

아이유 명언 100문장  (1) 2024.10.14
한강 명언 100문장  (4) 2024.10.14
facefusion concensor  (0) 2024.07.14
unsampling hotshot xl / anidiff xl  (0) 2024.07.01
음성 tts - gcloud 사용해보기  (1) 2024.06.09

댓글