How diegobejar1011/service-ocr works
This is a FastAPI service for evaluating handwriting exercises from an uploaded image against a target sentence. The workflow accepts an image and sentence, preprocesses the image, extracts Spanish text and OCR confidence, then combines confidence with sentence similarity into a score. The graph reflects the sampled runtime code; the request model is imported but not used in the shown route, and no README capabilities are documented.
Main entry points: evaluate_text_from_image_service.py Evaluation service · text_evaluator_di.py Dependency wiring · evaluate_text_controller.py Request controller · cv2_improve_image.py OpenCV preprocessing
Components 14
API
- FastAPI app
main.py - Evaluate route
features/text_evaluator/routes/text_evaluate_router.py - Request controller
features/text_evaluator/controllers/evaluate_text_controller.py - Dependency wiring
features/text_evaluator/application/text_evaluator_di.py
Evaluation
- Evaluation service
features/text_evaluator/services/evaluate_text_from_image_service.py - Temporary image
features/text_evaluator/services/evaluate_text_from_image_service.py - Image improvement contract
features/text_evaluator/domain/repositories/improve_image_repository.py - Text extraction contract
features/text_evaluator/domain/repositories/extract_text_repository.py - Similarity contract
features/text_evaluator/domain/repositories/calculate_similarity_repository.py - Evaluation result
features/text_evaluator/services/evaluate_text_from_image_service.py
Data adapters
- OpenCV preprocessing
features/text_evaluator/data/repositories/cv2_improve_image.py - EasyOCR extraction
features/text_evaluator/data/repositories/easyocr_text_impl.py - Levenshtein similarity
features/text_evaluator/data/repositories/levenshtein_similarity_impl.py
Other components
- Client
Connections 19
- Client → Evaluate route: uploads image
- FastAPI app → Evaluate route: registers
- Evaluate route → Request controller: dispatches
- Request controller → Evaluation service: calls
- Request controller → Client: returns result
- Dependency wiring → Request controller: constructs
- Dependency wiring → Evaluation service: constructs
- Dependency wiring → OpenCV preprocessing: instantiates
- Dependency wiring → EasyOCR extraction: instantiates
- Dependency wiring → Levenshtein similarity: instantiates
- Evaluation service → Temporary image: writes and removes
- Evaluation service → OpenCV preprocessing: calls
- Evaluation service → EasyOCR extraction: calls
- Evaluation service → Levenshtein similarity: calls
- OpenCV preprocessing → Temporary image: reads
- Evaluation service → Evaluation result: produces
- OpenCV preprocessing → Image improvement contract: implements
- EasyOCR extraction → Text extraction contract: implements
- Levenshtein similarity → Similarity contract: implements