Delimitador com OpenCV e primeiro passo com OCR

Delimitador e OCR

Em breve pretendo escrever um artigo que envolve bastante conceitos com OpenCV e OCR. Hoje fiz minha primeira pesquisa a respeito do que necessito e já achei alguns recursos que são interessantes também para outros propósitos. De imediato, eu queria isolar textos, apesar de que essa técnica não serve só pra isso. Por exemplo, eu tenho um cartão de visita e quero isolar os blocos de dados para depois ler os textos ou fazer bluring, ou algo que seja. Utilizei esse modelo:

Modelo de cartão de visita
Modelo de cartão de visita

E após a interação:

Cartão já delimitado
Cartão já delimitado

Nessa pequena porção de código utilizado para esse propósito já é possível pensar na possibilidade de decomposição da imagem, uma vez que você tem os boxes, pode copiá-los para novas imagens ou por exemplo, aplicar um blur em determinada região da imagem.



Por alguma razão, em uma imagem png do logo do Linux o resultado ficou estranho, provavelmente pela conversão. O antes:

linux-logo-600x300
linux-logo-600×300

E após a interação:

Pós interação
Pós interação

Na parte de OCR será necessário um trabalho bem mais amplo porque o resultado final depende de validação, aí entra inteligência artificial. Mas, se for para transformar algo em texto e depois corrigir os erros, você pode usar o Tesserac:

tesserac sobre a imagem
tesserac sobre a imagem

Parece que o tesserac tentou “desenhar” o pinguim, eu gostei :)

Claro que para fazer um reconhecimento de placa não é elegante ficar chamando programas no shell, mas dessa vez foi apenas uma dica, o projeto é mesmo fazer o LPR (Licence Plate Recognition) e já tenho todos os componentes necessários para fazê-lo com a devida qualidade.

Pra finalizar esse post simplório, o código para esse delimitador:

Enfatizo que não há nada de especial nesse código, mas será bastante útil em breve. Parte dele encontrei no stackoverflow e achei útil, por isso implementei assim.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Um comentário em “Delimitador com OpenCV e primeiro passo com OCR

Comentários estão encerrados.