- Python 91.8%
- Dockerfile 8.2%
| src | ||
| .env | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yaml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
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"
]
]
}