Como implementar o reconhecimento óptico de caracteres em Python



Este artigo fornecerá a você um conhecimento detalhado e abrangente de como implementar um reconhecimento óptico de caracteres em Python.

O reconhecimento óptico de caracteres é vital e um aspecto fundamental e linguagem de programação. A aplicação de tais conceitos em cenários do mundo real é numerosa. Neste artigo, discutiremos como implementar o reconhecimento óptico de caracteres em Python

Aplicações de reconhecimento óptico de caracteres

Os contadores de bilhetes usam isso extensivamente para escanear e detectar informações importantes sobre o bilhete para rastrear rotas e detalhes de passageiros. Conversão de texto em papel em formatos digitais onde as câmeras capturam fotografias de alta resolução e, em seguida, OCR é usado para trazê-los para uma palavra ou formato PDF.





charachters

A introdução de OCR com python é creditada à adição de bibliotecas versáteis como “Tesseract” e “Orcad”. Essas bibliotecas têm ajudado muitos programadores e desenvolvedores a simplificar o design de seu códigoe permitir que eles dediquem mais tempo a outros aspectos de seus projetos. Como os benefícios são enormes, vamos dar uma olhada no que é e como é feito.



Construindo um Reconhecimento Ótico de Caracteres em Python

Primeiro precisamos fazer uma classe usando “pytesseract”. Esta aula nos permitirá importar imagens e digitalizá-las. No processo, ele produzirá arquivos com a extensão “ocr.py”. Deixe-nos ver o código abaixo. O bloco de funções “process_image” é usado para tornar o texto mais nítido.

O seguinte manipulador de rota e função de visualização são adicionados ao aplicativo (app.py).

Código de roteador



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'no url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' somente arquivos .jpg, por favor '}) exceto: return jsonify ({' error ':' Você quis enviar: {'image_url': 'some_jpeg_url'} '})

Código do motor OCR

// OCR ENGINE importar pytesseract solicitações de importação de PIL importar Imagem de PIL importar ImageFilter de StringIO importar StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (imagem) def _get_image ( url): return Image.open (StringIO (requests.get (url) .content)) //

Certifique-se de atualizar as importações e adicionar o número da versão da API.

passar por valor e passar por referência em java
import os import logging from logging import Formatter, FileHandler do flask import Flask, request, jsonify from ocr import process_image _VERSION = 1 # versão da API

Estamos adicionando a resposta JSON da função do mecanismo de OCR que é “process_image ()”. JSON é usado para coletar informações que entram e saem da API. Passamos a resposta em um arquivo objeto usando a biblioteca “Imagem” do PIL para instalá-lo.

Observe que este código funciona melhor apenas com imagens .jpg. Se usarmos bibliotecas complexas que podem apresentar vários formatos de imagem, todas as imagens podem ser processadas de forma eficaz. Observe também, caso você esteja interessado em experimentar este código por si mesmo, instale o PIL, que é adquirido da biblioteca 'Pillow' primeiro

& bull Comece executando o aplicativo, que é “app.py”:

// $ cd ../home/flask_server/ $ python app.py //

& bull Então, em outra execução do terminal:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Content-Type: application / json'

Por exemplo:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Content-Type: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

Vantagens e desvantagens do mecanismo OCR

Dentre as muitas aplicações de uso de OCR em python, a mais popular é o reconhecimento de manuscrito. As pessoas aplicam isso para recriar texto escrito que pode então ser preenchido em várias cópias em vez de apenas fotocopiar o script original. Isso é para trazer uniformidade e legibilidade.

OCR também é útil para converter PDFs em textos e armazená-los como variáveis. Isso pode ser posteriormente sujeito a qualquer quantidade de pré-processamento para tarefas adicionais. Embora o conceito de OCR pareça ser um tópico benéfico no mundo do Python, ele com certeza compartilha sua parte das desvantagens.

O OCR nem sempre pode garantir 100% de precisão. Muitas horas de treinamento precisam ser aplicadas com a ajuda de conceitos de Inteligência Artificial que podem permitir que o mecanismo de OCR aprenda e reconheça imagens ruins. Imagens manuscritas podem ser reconhecidas, mas dependem de vários fatores, como o estilo da escrita, a cor da página, o contraste da imagem e a resolução da imagem.

java quando usar isso

Com isso, chegamos ao fim deste artigo sobre reconhecimento óptico de caracteres em Python. Espero que você compreenda como funciona exatamente o OCR.

Para obter conhecimento aprofundado sobre Python e seus vários aplicativos, você pode para treinamento online ao vivo com suporte 24 horas nos sete dias da semana e acesso vitalício.

Tem alguma questão para nós? Mencione-os na seção de comentários de “Reconhecimento óptico de caracteres em Python” e entraremos em contato com você.