No description
  • Python 95.7%
  • Dockerfile 4.3%
Find a file
ymnuk 58297f923f
All checks were successful
ci/woodpecker/tag/woodpecker Pipeline was successful
Fix CI
2025-06-12 12:32:32 +03:00
.vscode first commit 2025-06-10 16:12:34 +03:00
rest CI/CD 2025-06-12 12:10:51 +03:00
.dockerignore CI/CD 2025-06-12 12:10:51 +03:00
.gitignore CI/CD 2025-06-12 12:10:51 +03:00
.woodpecker.yml CI/CD 2025-06-12 12:10:51 +03:00
Dockerfile Fix CI 2025-06-12 12:32:32 +03:00
LICENSE CI/CD 2025-06-12 12:10:51 +03:00
main.py Fix CI 2025-06-12 12:32:32 +03:00
README.md CI/CD 2025-06-12 12:10:51 +03:00
requirements.txt Fix CI 2025-06-12 12:32:32 +03:00

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: Для валидации данных.

Установка

  1. Клонируйте репозиторий:

    git clone https://git.ymnuktech.ru/ymnuk/doc-layer-detect.git
    cd doc-layer-detect
    
  2. Создайте и активируйте виртуальное окружение:

    python3 -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    .venv\Scripts\activate  # Windows
    
  3. Установите зависимости:

    pip install -r requirements.txt
    

Использование

  1. Запуск API:

    uvicorn main:app --host 0.0.0.0 --port 8000
    

    Замените main:app на путь к вашему файлу main.py, если он находится в другом месте.

  2. Эндпоинты API:

    • /analyze: Возвращает список обнаруженных элементов в виде JSON.
    • /analyze_visual: Возвращает визуализированное изображение с выделенными элементами в формате JPEG. Принимает файл изображения в формате multipart/form-data.
  3. Примеры запросов:

    • Анализ изображения:

      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 содержит полный список зависимостей проекта. Убедитесь, что все зависимости установлены, прежде чем запускать приложение.