Ocr

Olá pessoal…

Tenho um grande problema…

Preciso de uma API em java de OCR que leia caracteres de placas de veículos em imagens capturadas por câmeras…

Já tentei as API’s JAVAOCR e ASPRISE OCR, mas elas não conseguem ler os caracteres das placas de veículos…

Será que alguém aqui poderia me dar uma ajuda com respeito a isso?

Alguma dica, algum toque de onde posso encontrar isso… Seria de graaaande ajuda!!!

Desde já agradeço pela compreensão e pela ajuda dispensada! :slight_smile:

Por acaso isso seria para a nova frescura q a CET vai implementar para o controle de rodizio em SP :?: :?: :?:
Se for, agente não ajuda!!! :mrgreen:

Não meu amigo…

Esse projeto é para ajudar a empresa no controle de veículos que entram na portaria…

Se estiverem cadastrados a cancela abre automaticamente…

Senão aciona a portaria para identificar o camarada…

Caso alguém saiba como reconhecer os caracteres da placa do veículo usando OCR, que por favor me ajude…

Muito obrigado!!!

Qual o problema na leitura das placas?
A partir do momento que vc tem a imagem, vc aplicando o OCR nela ela reconheçe.
Vc pode fazer alguns algoritimos mais pesadinhos para te ajudar, como o que converte a imagem para preto e branco absoluto(esqueci o nome desse algoritimo)
Com a imagem em 2 cores fica bem mais facil pra vc reconheçer oq precisa :wink:

Eu fiz isso, mas mesmo em preto e branco o OCR não reconhece os caracteres da placa…

Talvez pq os caracteres ficam dispostos em ângulos instáveis…
E também o tamanho dos caracteres talvez não seja o ideal para o OCR reconhecer…

É complicado!!!

Por isso estou postando essa mensagem pra ver se consigo ajuda!!!

E obrigado por estar tentando me ajudar!!! Sou muito grato!!! :smiley:

Mas como fica a disposição dessas imagens?
Ela fica torta? má digitalizada?
Pois mesmo elas “tortas” as APIs OCR conseguem reconheçer

Pra testar eu fiz o seguinte…

Peguei uma imagem de placa perfeita na internet e joguei na minha aplicação pra o OCR reconhecer…

Só que não reconheceu.

O interessante é que o OCR tentou reconhecer algumas partes da figura que não tinham nada a ver com a placa…
Tipo assim, os traços pequenos da frente do carro…, algumas riscas na placa que estavam em tamanho pequeno e etc…

Que coisa!!! :shock:

O problema das placas de carro é que as soluções de OCR estão “bitoladas” para reconhecer texto impresso escaneado, e em ângulos favoráveis (nunca mais de 5 graus de inclinação, por exemplo).
No caso de placas de carro, a placa está em posições diferentes dentro da imagem digitalizada, o contraste é muito ruim (letras pretas com fundo cinza-escuro), e se você simplesmente converter a imagem para preto-e-branco, normalmente os softwares de OCR vão tentar converter as letras pequenas, não as letras grandes.

O que eu poderia fazer então pra resolver este problema?

Vc teria alguma idéia ou dica com respeito a isso?

Se tiver eu seria muito grato em recebê-la!!!

Não sei se tem algo em Java, mesmo pagando.

Procurando no Google com as palavras “License Plate” recognition achei algumas coisas.

http://visl.technion.ac.il/projects/2003w24/ - como é que se faz o reconhecimento de imagens

http://www.licenseplaterecognition.com/ - um cara que vende uma DLL que faz isso

Estudando pra dedéu, ou só pagando mesmo!
Eles vendem pra desenvolvedor com preço mais baixo.
http://www.intertraff.com/home/index.php

To querendo colocar isso em estacionamento rotativo, e nao acho um cabeça que faça.
Se tiver algum resultado… Me manda um email… adrianjk@gmail.com

Grato,
Adrian

A uns dois anos atrás eu vi na internet um software português que fazia isso. E acho que era gratuito.

Mas agora não tenho nem idéia do nome.

[quote=hugohasth]O que eu poderia fazer então pra resolver este problema?

Vc teria alguma idéia ou dica com respeito a isso?

Se tiver eu seria muito grato em recebê-la!!![/quote]

Uma ideia é usar correlação. Vc cria imagens que são templates das letras e numeros.
Vc correlaciona todas elas com a imagem da placa ( obter a imagem da placa em si é um problema separado)
Vc correlaciona variantes dos templates com distorça angular (shear) ou outras.
Vc encina o sistema a usar as variantes que mais vezes funcionam.

Reconhecimento automatico de placa é complexo. O processamento da imagem depende de onde a camera está.
Se vc controla a camera vc pode escolher um angulo bom e escolher os templates mais facilmente. Uma solução geral invoca processamento em redes neurais ou alguma coisa do tipo.

Aí, não é mais fácil digitar o número da placa não? 7 caracteres não é? Qual o benefício disso?

Sr. Agodinhost, o problema é que nem sempre vai ter um cara digitando as 3 letras e 4 dígitos disponível, e ainda com precisão (no estacionamento de um shopping que freqüento regularmente, o cara sempre erra algum dígito ou letra da minha placa - e olhe que não tenho placa do tipo “DQO” …) Esses sistemas que estão no mercado conseguem precisão melhor que o carinha da portaria do supermercado.

Do ponto de vista de negócios eu entendo.
Cara, mesmo com OCR vc tem margem de erro.
O custo disso vai valer a pena?

Pergunte para o governo do Estado ou a Prefeitura - o que eles vão recolher de carros com impostos não pagos ou atrasados, só de observá-los pelas câmeras e ver as placas dos carros…

hmmm, bom saber …
vai ter pano pra manga.

Bem, meu conselho: algoritmos de OCR são bem complexos, portanto, seria melhor se ater à bibliotecas já escritas e testadas. Alguns desses algoritmos permitem até que vc carregue fontes de caracteres novos em uma pasta - mas eu só vi (sourceforge.net) algoritmos baseados em aproximação.

Desde 2002 Londres tem um sistema de reconhecimento de placas para cobrar uma taxa de quem roda no centro da cidade, dando uma pesquisada simples no google achei isto, da uma olhada nas referencias que tu provavelmente vais achar algo que seja interessante.

:wink:

Maneiríssimo …