Olá! Boas-vindas ao curso de Reconhecimento de textos com OCR da Alura, com a instrutora Sthefanie Monica.
Sthefanie é uma jovem mulher branca, de cabelos castanhos claros e lisos na altura dos ombros e olhos castanhos. Está usando óculos de grau com armação quadrada, batom vermelho, além de um headphone preto na parte externa, acolchoado e rosa na parte interna. Veste um agasalho de moletom preto com algumas letras brancas estampadas no centro e está sentada em um ambiente que aparenta ser um estúdio, de paredes com placas acústicas. Na parede ao fundo, existem alguns objetos de decoração pendurados: quadros de filmes e bastidores com bordado.
Se você não sabe o que é OCR ou como utilizá-lo no reconhecimento de textos, está no lugar certo! Neste curso, estudaremos o que é OCR, como ele funciona e para que é usado. Também aprenderemos a fazer o reconhecimento de textos desde o princípio.
Vamos trazer as imagens do GitHub para o Google Colaboratory, faremos a análise de cada uma das imagens (preto e branca ou colorida), retirando o texto e avançaremos conforme os módulos, trabalhando com imagens cada vez maiores, com mais textos, acentuações e caracteres diferentes. Também analisaremos como o OCR se comportará e sua capacidade de leitura, que será aperfeiçoada à medida que adicionamos as imagens.
Ao final do curso, desenvolveremos um projeto, que você poderá colocar no portfolio GitHub. Então, além de aprender muito sobre OCR, você construirá um projeto e poderá aplicá-lo em um problema do seu cotidiano.
Você está super convidada e convidado a começar esse curso comigo. Vamos lá?!
Nosso mundo, atualmente, é todo digitalizado. Normalmente, as nossas contas chegam por e-mail ou aplicativos de celular, mas, algumas empresas ainda enviam faturas de papel via Correios e outras exigem que as pessoas levem documentos físicos com cópias para comprovarem que realmente são elas. Neste caso, surge uma questão: onde armazenar esses papéis?
Por exemplo, as empresas de advocacia e afins recebem contratos, faturamentos e outros documentos físicos e precisam armazená-los. O problema principal, portanto, é o armazenamento.
Além disso, em algum momento, as empresas desejarão consultar esse material, seja porque tiveram dúvida em algum ponto ou porque o cliente entrou em contato e pediu alguma informação sobre o contrato, ou por qualquer outro motivo. Então, um segundo problema seria a procura pelos dados armazenados.
Se o documento tem cinco folhas, fica fácil encontrar, mas, imagine o caso de vários documentos, cada um com cinco folhas. Seria bem mais complicado. Para esses casos, podemos aplicar o OCR, que é o Optical Character Recognition ou, em português, o Reconhecimento Ótico de Caracteres. Mas, como aplicaremos o OCR se tudo está no papel?
Primeiro, vamos entender o que é o OCR. Como já dissemos, ele é o Reconhecimento de Caracteres Ópticos e converte uma imagem de texto em um formato de texto legível para a máquina. Então, para que ele funcione, teremos que transformar todos os papéis em um formato de entrada para a máquina.
A primeira parte é a aquisição da imagem. Podemos escanear todas as imagens, tirar fotografias com o celular ou qualquer outra câmera e essa será a etapa de entrada. Depois disso, faremos o pré-processamento. Nesta etapa, trataremos a imagem, nos atentando a alguns detalhes, por exemplo, se a imagem está um pouco rotacionada ou se é necessário ajustar a iluminação, dentre outros.
Em seguida, passamos para o reconhecimento do texto em si. Este reconhecimento é composto por duas etapas distintas, isto é, o reconhecimento pode ser por padrões, quando a ferramenta já viu tantas letras e sabe, por exemplo, o que é uma letra "a" minúscula ou uma letra "A" maiúscula.
O reconhecimento também pode ser detecção de recursos. Neste caso, ele sabe, por exemplo, que quando escrevemos a letra "A" maiúscula, criamos uma intersecção de linhas. Assim, é possível prever que a letra provavelmente será a "A". Desta forma, vai encontrando pontos correlacionados nas letras para reconhecê-las.
O próximo passo é de pós-processamento, que é como entregará a informação. Existem diversas ferramentas que usam o método OCR, mas, desta vez, escolheremos a Pytesseract, uma biblioteca do Python que utiliza o Tesseract OCR, do Google.
O Tesseract OCR é um recurso open source da Google e funciona com a OCR engine. O OCR é um método que utilizamos e podemos treinar. Nós optamos pela Tesseract por ser open source. Em seu repositório do GitHub, conseguimos visualizar todas as línguas que foram treinadas e também podemos treiná-la com outro idioma.
É interessante entendermos como funciona esse processo de aprendizagem e também como funciona o OCR, mas, agora estudaremos especificamente o Tesseract OCR. Vamos lá?
Agora que já sabemos o que é o OCR, podemos começar a trabalhar com ele dentro do Colab. Nosso primeiro passo será a instalação das bibliotecas. Nós instalaremos o pytesseract e também utilizaremos o opencv para visualizarmos algumas imagens e realizarmos alguns tratamentos nelas. O Tesseract OCR também será instalado.
!pip install opencv-python==4.6.0
!sudo apt install tesseract-ocr
!pip install pytesseract==0.3.9
Dois dos comandos dessas três bibliotecas que estamos instalando são pip install
. O segundo, é um comando que vem do Linux, sudo apt
, que usamos para a instalação do tesseract
. Depois de rodar, ele enviará uma mensagem bastante grande. Ao final, um aviso, "you must restart the runtime in order to use newly installed versions", isto é, "você precisa restartar o seu runtime", assim, ele conseguirá entender o que está acontecendo.
Então, vamos apertar o botão "Restart Runtime". Fazendo isso, receberemos um warning com a mensagem "Você quer mesmo reiniciar o ambiente de execução? O estado dele e de todas as variáveis locais será perdido". Nós não temos nada rodado ainda, então, podemos apertar "sim". Após o reiniciou, verificaremos que o valor de "RAM" e "Disco rígido" voltaram ao normal.
Todos os dados que usaremos no curso serão importados via git clone, do GitHub. Dentro da pasta "text-recognize", disponível neste link, encontraremos outra pasta, de "imagens". Nela, encontraremos o Projeto e todas as imagens por aula. Na próxima célula, chamaremos ! git clone
seguido do link.
! git clone https://github.com/sthemonica/text-recognize
Na lateral superior do Colab, vamos selecionar os arquivos e a pasta "text_recognize" já estará aqui, com todas as nossas imagens. É muito mais simples do que importarmos todas as imagens de uma vez só ou adicionarmos uma a uma.
Agora, importaremos todas as bibliotecas que usaremos: numpy as np
; cv2
, que é a biblioteca openCV
; e cv2_imshow
, que mostrará as imagens no Colab.
import pytesseract
import numpy as np
import cv2 # OpenCV
from google.colab.patches import cv2_imshow # para mostrar as imagens no Google Colab
Dentro do openCV
, temos o cv2_imshow
. Esse comando não funciona no Colab para mostrarmos as imagens. Quando estamos usando o Anaconda ou o Jupyter, ele funcionará corretamente, mas dentro do Google Colab, não, então precisaremos dos patches
para evitarmos um erro.
Rodamos a célula e deu tudo certo. Agora podemos conferir se ele instalou corretamente a versão do pytesseract
.
pytesseract.__version__
0.3.9
Também vamos conferir a versão do OpenCV
.
cv2.__version__
4.6.0
A versão do OpenCV
é a 4.6.0 e a do pytesseract
é a 0.3.9, exatamente as versões que pedimos anteriormente no código. Nosso ambiente está configurado, então, podemos importar uma imagem. Para isso, utilizaremos o OpenCV
, que fará a leitura. Faremos img
igual a cv2.imread()
.
Para importarmos a primeira imagem, na lateral esquerda da tela, acessaremos a pasta "text_recognize > Imagens", que importamos do GitHub, e localizaremos o arquivo "Aula1-teste.png". Em seguida, apertaremos o botão de "três pontinhos (...)" que está à frente do arquivo e selecionaremos a opção "Copiar caminho" e colaremos na célula, entre aspas simples ou duplas.
Na linha abaixo, faremos cv2_imshow()
, que é o comando que importamos com o google patches e passaremos img
.
img = cv2.imread('/content/text-recognize/Imagens/Aula1-teste.png')
cv2_imshow(img)
Com isso, aparecerá a nossa primeira imagem dentro do Google Colab, portanto, o OpenCV
está funcionando.
A primeira parte está feita. Agora, precisamos conferir se o tesseract
está funcionando. Vamos tentar retirar o texto a partir da imagem. Vamos chamar uma variável nova, texto
e ela será igual a pytesseract.image_to_string(img)
. Abaixo, faremos print(texto)
.
texto = pytesseract.image_to_string(img)
print(texto)
TESTE INICIAL OCR
A resposta foi "TESTE INICAL OCR", portanto, ele já começou a ler a imagem, sem que fosse necessário fazer qualquer tratamento. O próximo passo é testar a reação do tesseract
com outras imagens.
O curso Visão Computacional: reconhecimento de texto com OCR e OpenCV possui 152 minutos de vídeos, em um total de 56 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.