Pular para o conteúdo
renanlido.me
Voltar pro blog

Publicado em 10 de jul. de 2026 · 5 min de leitura

Como câmeras leem placas de caminhão: um pipeline OCR/ALPR de porto por dentro

A anatomia de um gate automatizado: da câmera ao gate abrindo, e as lições de manter visão computacional funcionando 24/7.

computer-visionevent-drivenmission-critical


Num terminal portuário, o gate é onde o dinheiro passa. Cada caminhão parado na entrada é custo acumulando por minuto — e a fila cresce rápido. A promessa da automação é simples de falar e difícil de entregar: a câmera lê a placa, o sistema decide, o gate abre. Sem humano digitando placa em teclado.

A anatomia do problema

Todo pipeline desse tipo, independente das ferramentas, precisa resolver quatro responsabilidades bem separadas — e é essa separação que mantém o sistema vivo quando alguma parte engasga.

  • Capturar: transformar câmeras físicas em streams de vídeo que outros componentes conseguem consumir sem depender do hardware
  • Inferir: detectar o veículo, localizar a placa e ler os caracteres — descartando cedo (e barato) todo frame que não interessa
  • Decidir: cruzar a leitura com regras de negócio, agendamentos e autorizações, e responder uma única pergunta: abre ou não abre?
  • Atuar: transformar a decisão em movimento físico do gate e em informação para todo mundo que precisa saber, em tempo real

Por que evento, e não chamada direta

A tentação de amarrar esses estágios com chamadas HTTP diretas é grande — é o caminho de menor esforço. Mas um gate opera 24/7, e componente reiniciando às 3h da manhã não pode significar caminhão preso. Com mensageria no meio, cada estágio degrada de forma independente: se a decisão ficar fora do ar por 30 segundos, as leituras acumulam e são processadas na volta. O caminhão espera segundos a mais; ninguém liga pro plantão.

O mesmo raciocínio vale para quem observa a operação: telas de pátio e de gate funcionam melhor como projeções de eventos do que como consultas. Para um fluxo que é 99% servidor→tela, Server-Sent Events resolve com muito menos peça móvel do que WebSocket.

O que aprendi segurando isso em produção

  • Confiança tem gradiente: toda leitura de OCR vem com score. Abaixo do corte, o fluxo degrada para confirmação humana — automatizar 95% bem vale mais do que automatizar 100% mal.
  • Câmera é hardware, e hardware falha: monitorar o stream é tão importante quanto monitorar o serviço. Stream congelado é bug silencioso.
  • Idempotência não é opcional: a mesma placa pode ser lida três vezes em dois segundos. Quem consome precisa tratar releitura como ruído, não como três caminhões.
  • Fronteiras claras pagam o aluguel: a regra de "pode entrar?" não deve saber o que é câmera, GPU ou controladora. É isso que deixa a infra evoluir sem reescrever a decisão.

No fim, o pipeline inteiro existe para uma coisa: transformar um frame de vídeo em uma cancela subindo em poucos segundos, milhares de vezes por dia, sem drama. É o tipo de sistema que ninguém percebe quando funciona — que é exatamente como se mede sucesso em missão crítica.