Сервис по извлеччение текста и чисел из изображений на Python 3.11
Требования Общие требования
- Использовать Python 3.11.
- Код должен быть написан в объектно-ориентированном стиле.
- Должны быть соблюдены принципы SOLID, DRY и стандарты PEP-8.
- Каждый класс и метод должен содержать документацию на английском языке в формате Docstring.
- __init__: Конструктор класса.
- preprocess_image: Предобработка изображения.
- extract_text: Извлечение текста и цифр.
- postprocess_text: Постобработка извлечённого текста.
- train: Дообучение модели на основе новых данных.
- evaluate: Оценка точности модели.
class ImageSolver:
"""Base class for solving image-based text and number extraction problems."""
def __init__(self, model_path: str):
"""Initialize ImageSolver."""
pass
def preprocess_image(self, image_path: str) -> np.array:
"""Preprocess the image."""
pass
def extract_text(self, preprocessed_image: np.array) -> str:
"""Extract text and numbers from the preprocessed image."""
pass
def postprocess_text(self, extracted_text: str) -> str:
"""Postprocess the extracted text."""
pass
def train(self, dataset: str):
"""Retrain the model with new data."""
pass
def evaluate(self, dataset: str) -> float:
"""Evaluate the model's accuracy."""
pass
Производные классы
- EnglishTextSolver: Класс для извлечения английских символов и цифр.
- RussianTextSolver: Класс для извлечения русских символов и цифр.
- FsspSolver: Производный от RussianTextSolver, предназначенный для решения задачи с 50,000 изображений, которые имеются в наличии.
- OpenCV для предобработки изображений
- TensorFlow/Keras для модели машинного обучения
- Другие библиотеки по необходимости
Разработка и тестирование
- Разработка базового класса и его методов.
- Разработка производных классов для конкретных случаев.
- Тестирование с помощью вашего набора данных из 50,000 изображений.
- Дообучение модели в случае ошибок.