Initial commit
This commit is contained in:
38
utils/ocr.py
Normal file
38
utils/ocr.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# import config
|
||||
#
|
||||
# if config.OCR_ENGINE == "google":
|
||||
# from utils.ocr_google import ocr_single, ocr_batch, get_vision_client
|
||||
# else:
|
||||
# from utils.ocr_paddle import ocr_single, ocr_batch
|
||||
# def get_vision_client():
|
||||
# return None # paddle은 client 불필요, 호환성 유지용
|
||||
|
||||
|
||||
from utils.ocr_paddle import ocr_single as paddle_ocr_single, ocr_batch as paddle_ocr_batch
|
||||
from utils.ocr_google import ocr_single as google_ocr_single, ocr_batch as google_ocr_batch, get_vision_client
|
||||
import config
|
||||
|
||||
_google_client = None
|
||||
|
||||
|
||||
def get_vision_client_cached():
|
||||
global _google_client
|
||||
if _google_client is None:
|
||||
_google_client = get_vision_client()
|
||||
return _google_client
|
||||
|
||||
|
||||
def get_ocr_functions(engine: str):
|
||||
if engine == "google":
|
||||
return google_ocr_single, google_ocr_batch, get_vision_client_cached() # 캐싱된 클라이언트 사용
|
||||
return paddle_ocr_single, paddle_ocr_batch, None
|
||||
|
||||
|
||||
def ocr_single(image_path, client=None):
|
||||
fn, _, c = get_ocr_functions(config.OCR_ENGINE)
|
||||
return fn(image_path, c)
|
||||
|
||||
|
||||
def ocr_batch(img_paths, client=None):
|
||||
_, fn, c = get_ocr_functions(config.OCR_ENGINE)
|
||||
return fn(img_paths, c)
|
||||
Reference in New Issue
Block a user