No description
  • Python 91.8%
  • Dockerfile 8.2%
Find a file
Wandreus 3a38f22206 debut
2023-10-26 22:47:52 -04:00
src debut 2023-10-26 22:47:52 -04:00
.env debut 2023-10-26 22:47:52 -04:00
.env.example debut 2023-10-26 22:47:52 -04:00
.gitignore debut 2023-10-26 22:47:52 -04:00
docker-compose.yaml debut 2023-10-26 22:47:52 -04:00
Dockerfile debut 2023-10-26 22:47:52 -04:00
README.md debut 2023-10-26 22:47:52 -04:00
requirements.txt debut 2023-10-26 22:47:52 -04:00

OCR service

Microsserviço para a extração de textos existentes em imagens digitalizadas com o auxílio da biblioteca EasyOCR. A recepção dos arquivos é feita por filas configuradas em uma instância do broker RabbitMQ.

Configuração

No arquivo .env-example disponível na raiz do repositório, estão as variáveis de ambiente necessárias para a execução da aplicação. As variáveis já possuem valores pré-configurados para imediata execução do serviço.

Propriedade Descrição
RABBITMQ_USR Login do usuário no serviço do RabbitMQ.
RABBITMQ_PSW Senha do usuário no serviço do RabbitMQ.
PARAGRAPH_EXTRACTION Variável para definir se a extração de textos será feita por parágrafos
INCOMING_OCR_QUEUE Nome da fila no RabbitMQ que receberá os arquivos a serem processados.
PROCESSED_OCR_QUEUE Nome da fila no RabbitMQ que receberá os arquivos que obtiveram êxito em seu processamento.
ERROR_OCR_QUEUE Nome da fila no RabbitMQ que receberá os arquivos que não foram processados com sucesso.
HOST Endereço ou nome do container onde RabbitMQ está hospedado.

Deploy

Os arquivos disponíveis no repositório já estão previamente configurados para imediata execução do serviço. Após o download do repositório, basta navegar até a pasta raiz do projeto e executar o comando docker compose up. Uma configuração customizada pode ser realizada por meio dos arquivos .env-example, DockerFile e docker-compose.

RabbitMQ

Para executar uma instância do RabbitMQ juntamente com o serviço OCR, remova os comentários referentes ao serviço em questão no arquivo docker-compose.yaml.

Estruturas

Estrutura de objeto esperado

{
    "file": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAQAAAAi5ZK2AAAABGdBTUEAALGPC/"
}

Estrutura de objeto retornado

Exemplo realizado com a propriedade PARAGRAPH_EXTRACTION do arquivo .env configurada como True.

{
    "file": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAQAAAAi5ZK2AAAABGdBTUEAALGPC/",
    "extracted_texts": [
        [
            [[28, 30], 
            [604, 30], 
            [604, 430], 
            [28, 430]], 
            "CUIDADO AREA DE TESTE"
        ]
    ]
}