No OCR, como devo lidar com o texto distorcido nas laterais de objetos ovais?
Considere uma imagem que contém uma lata (ou garrafa, ou qualquer objeto oval semelhante), com textos por toda parte. Na imagem abaixo, tenho muitos frascos, mas você pode assumir que cada imagem contém apenas um desses objetos.
Como podemos ver, em cada lata, o texto pode fluir da esquerda para a direita, e qualquer sistema de OCR pode perder o texto nos lados esquerdo e direito da lata, pois eles não estão alinhados com o ângulo da câmera.
Então, há alguma solução para isso, como pré-processar de uma certa forma, para que possamos ler o texto ou transformar esse objeto redondo em um reto? (Se houver algum programa Python que possa resolver esse problema, você poderia compartilhá-lo comigo?)
Respostas
Existem muitos artigos sobre isso, mas o seguinte é um bom começo:
- Como desembrulhar rótulos de vinho de forma programática . O autor inclui o código-fonte em Python.
Você mencionou que não quer fazer uma vista panorâmica, mas isso tem mais de um significado. Se eu presumir que você quer dizer que não quer girar a lata enquanto tira várias fotos, ou não quer tirar várias fotos de ângulos diferentes, você pode tentar uma lente pericêntrica . Isso exigiria algum processamento de imagem para fazer o desembrulhamento. Mais resolução é necessária, pois o acondicionamento é muito mais severo. A vantagem, porém, é que você terá uma única imagem de toda a superfície cilíndrica e não perderá nenhum recurso ou texto.