|
import json |
|
import subprocess |
|
|
|
from IdentifyModel.cardModel import parse_id_card |
|
from Plan.AiLLM import extract_entities |
|
|
|
|
|
def pytesseractJs_recognition(validation_type, image, temp_path, file_name, language): |
|
try: |
|
|
|
result = subprocess.run( |
|
['node', 'node_app/pytesseractJsOCR.js', image, language, temp_path + file_name], |
|
capture_output=True, |
|
text=True |
|
) |
|
|
|
print(' ###### result.stderr:' + result.stderr) |
|
|
|
with open(temp_path + file_name, 'r') as file: |
|
out_ocr_text = file.read() |
|
entities = extract_entities(out_ocr_text) |
|
|
|
parsed_result = parse_id_card(out_ocr_text, validation_type, entities) |
|
print(' ###### parsed_result:' + str(parsed_result)) |
|
|
|
json_result = json.dumps(parsed_result) |
|
print(' ###### json_result:' + str(json_result)) |
|
return json_result |
|
except Exception as e: |
|
print(' ###### [ERROR] pytesseractJs_recognition Exception:' + str(e)) |
|
return str(e) |
|
|