- Python 95.7%
- Dockerfile 4.3%
|
|
||
|---|---|---|
| .vscode | ||
| rest | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| Dockerfile | ||
| LICENSE | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
Doc Layer Detect
Обнаружение и анализ слоев документов с использованием Python и FastAPI.
Описание
Doc Layer Detect - это приложение, предназначенное для анализа и извлечения информации из документов. Оно использует компьютерное зрение и машинное обучение для обнаружения таблиц, текстовых блоков, изображений и штрих-кодов. Приложение предоставляет API, позволяющий извлекать структурированную информацию из документов и визуализировать результаты анализа.
Ключевые особенности:
- Обнаружение таблиц: Идентифицирует таблицы в документе и вычисляет их структуру, включая строки и ячейки.
- Обнаружение текста: Определяет текстовые блоки в документе.
- Обнаружение изображений: Идентифицирует изображения в документе.
- Обнаружение штрих-кодов и QR-кодов: Определяет штрих-коды и QR-коды в документе.
- Визуализация результатов: Создает визуализацию результатов анализа, выделяя обнаруженные элементы на изображении.
- API для анализа: Предоставляет API для выполнения анализа документов.
- Автоматическая коррекция искажений: Алгоритмы выравнивания и коррекции изображений для компенсации угловых искажений.
- Оптимизация предобработки изображений: Предобработка изображения улучшает качество и повышает точность распознавания элементов.
Технологии
- Python 3.9+
- FastAPI: Для создания API.
- OpenCV (cv2): Для компьютерного зрения.
- NumPy: Для работы с массивами данных.
- Pillow (PIL): Для работы с изображениями.
- pyzbar: Для распознавания штрих-кодов.
- Pydantic: Для валидации данных.
Установка
-
Клонируйте репозиторий:
git clone https://git.ymnuktech.ru/ymnuk/doc-layer-detect.git cd doc-layer-detect -
Создайте и активируйте виртуальное окружение:
python3 -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows -
Установите зависимости:
pip install -r requirements.txt
Использование
-
Запуск API:
uvicorn main:app --host 0.0.0.0 --port 8000Замените
main:appна путь к вашему файлуmain.py, если он находится в другом месте. -
Эндпоинты API:
/analyze: Возвращает список обнаруженных элементов в виде JSON./analyze_visual: Возвращает визуализированное изображение с выделенными элементами в формате JPEG. Принимает файл изображения в формате multipart/form-data.
-
Примеры запросов:
-
Анализ изображения:
curl -X POST -F "image=@path/to/image.jpg" http://localhost:2000/analyze_visual(Замените
path/to/image.jpgна путь к вашему изображению) -
Получение JSON с результатами анализа:
curl -X POST -F "image=@path/to/image.jpg" http://localhost:2000/analyze
-
Зависимости
Файл requirements.txt содержит полный список зависимостей проекта. Убедитесь, что все зависимости установлены, прежде чем запускать приложение.