1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-12 13:17:00 +08:00

Fix: Add atomic OCR method on rpc server

This commit is contained in:
LmeSzinc
2024-05-09 02:24:28 +08:00
parent dbc80e3d26
commit c47c5b3bd1
2 changed files with 101 additions and 0 deletions

View File

@@ -88,6 +88,60 @@ class ModelProxy:
from module.ocr.models import OCR_MODEL
return OCR_MODEL.__getattribute__(self.lang).set_cand_alphabet(cand_alphabet)
def atomic_ocr(self, img_fp, cand_alphabet=None):
"""
Args:
img_fp (np.ndarray):
cand_alphabet:
Returns:
"""
if self.online:
img_str = img_fp.dumps()
try:
return self.client("atomic_ocr", self.lang, img_str, cand_alphabet)
except:
self.online = False
from module.ocr.models import OCR_MODEL
return OCR_MODEL.__getattribute__(self.lang).atomic_ocr(img_fp, cand_alphabet)
def atomic_ocr_for_single_line(self, img_fp, cand_alphabet=None):
"""
Args:
img_fp (np.ndarray):
cand_alphabet:
Returns:
"""
if self.online:
img_str = img_fp.dumps()
try:
return self.client("atomic_ocr_for_single_line", self.lang, img_str, cand_alphabet)
except:
self.online = False
from module.ocr.models import OCR_MODEL
return OCR_MODEL.__getattribute__(self.lang).atomic_ocr_for_single_line(img_fp, cand_alphabet)
def atomic_ocr_for_single_lines(self, img_list, cand_alphabet=None):
"""
Args:
img_list (list[np.ndarray]):
cand_alphabet:
Returns:
"""
if self.online:
img_str_list = [img_fp.dumps() for img_fp in img_list]
try:
return self.client("atomic_ocr_for_single_lines", self.lang, img_str_list, cand_alphabet)
except:
self.online = False
from module.ocr.models import OCR_MODEL
return OCR_MODEL.__getattribute__(self.lang).atomic_ocr_for_single_lines(img_list, cand_alphabet)
def debug(self, img_list):
"""
Args:
@@ -145,6 +199,21 @@ def start_ocr_server(port=22268):
cnocr: AlOcr = self.__getattribute__(lang)
return cnocr.set_cand_alphabet(cand_alphabet)
def atomic_ocr(self, lang, img_fp, cand_alphabet):
img_fp = pickle.loads(img_fp)
cnocr: AlOcr = self.__getattribute__(lang)
return cnocr.atomic_ocr(img_fp, cand_alphabet)
def atomic_ocr_for_single_line(self, lang, img_fp, cand_alphabet):
img_fp = pickle.loads(img_fp)
cnocr: AlOcr = self.__getattribute__(lang)
return cnocr.atomic_ocr_for_single_line(img_fp, cand_alphabet)
def atomic_ocr_for_single_lines(self, lang, img_list, cand_alphabet):
img_list = [pickle.loads(img_fp) for img_fp in img_list]
cnocr: AlOcr = self.__getattribute__(lang)
return cnocr.atomic_ocr_for_single_lines(img_list, cand_alphabet)
def debug(self, lang, img_list):
img_list = [pickle.loads(img_fp) for img_fp in img_list]
cnocr: AlOcr = self.__getattribute__(lang)