Pular para o conteúdo

Extracttext - como extrair texto de uma área selecionada da tela

Este artigo descreve como extrair texto de uma área selecionada da tela usando shell script, tesseract-ocr e ImageMagick. É uma excelente ferramenta para extrair texto de imagens, permitindo que os usuários acessem o conteúdo de qualquer área selecionada da tela. Além disso, oferece uma variada gama de opções de personalização para ajustar a extração de texto às suas necessidades.
Fábio Berbert de Paula fabio
Hits: 5.047 Categoria: Shell Script Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

A ideia para a criação do script apresentado neste artigo surgiu a partir de uma sugestão do Bruno Gonçalves, criador e mantenedor da distribuição BigLinux. Sim, o BigLinux possui um script parecido já integrado em sua interface gráfica.

O script surgiu da necessidade de extrair texto de uma área da tela, seja um texto de uma imagem ou de um site que bloqueia o copiar. Eu estava fazendo uns testes de skills em programação online e queria copiar o enunciado das questões e colar no ChatGPT, para testar se a IA conseguiria responder as questões com precisão.

Para sua implementação utilizaremos shell script, tesseract-ocr, xsel e ImageMagick, onde:
  • tesseract-ocr é um software de reconhecimento óptico de caracteres (OCR) que permite extrair texto de imagens;
  • xsel é um utilitário de linha de comando que permite copiar e colar texto na área de transferência;
  • ImageMagick é um conjunto de ferramentas de manipulação de imagens. Neste caso, utilizaremos o comando "import" para capturar a área selecionada da tela.

Dependências

Em distribuições baseadas em Debian, instale os pacotes necessários com o comando:

sudo apt install tesseract-ocr imagemagick xsel

Download do script

Para baixar o script, execute o comando:

wget https://github.com/fberbert/extracttext/releases/download/Latest/extracttext

Dê permissão de execução ao script:

chmod +x extracttext

E mova o script para o diretório /usr/local/bin ou qualquer outro diretório que esteja no seu $PATH:

sudo mv extracttext /usr/local/bin

Como usar

Para usar o script, basta executar o comando:

extracttext

O cursor do mouse irá se transformar em uma cruz, e você poderá selecionar a área da tela que deseja extrair o texto. Após selecionar a área, o texto será copiado para a área de transferência e você poderá colar em qualquer lugar.

DICA: eu uso o KDE Plasma como interface gráfica, criei uma tecla de atalho que executa o script, desta forma, toda vez que desejo extrair algum texto da tecla, eu teclo "Alt + t" e pronto, não preciso abrir o terminal para executar o script.

Para criar uma tecla de atalho no KDE Plasma, basta ir em "Configurações do Sistema" > "Atalhos de Teclado" > "Atalhos Personalizados" e criar um novo atalho.

Referência

O código-fonte do script pode ser encontrado no meu repositório do GitHub:
Até a próxima!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução

SQL Dicas & Truques (parte 2)

Convertendo Texto em Fala com Python e pyttsx3

Entrevista com um hacker, via Internet

O que é e como funciona um ataque de força bruta

EAuthenticator - Clone do Google Authenticator para Linux

Shell Script nosso de cada dia - Episódio 3

getopts: criando scripts Bash com parâmetros e argumentos personalizáveis

Shell script com PHP

Aviso de queda de Internet via Sendxmpp

Relatório de conexão Wi-Fi com dados de usuários conectados nos POPs

#1 Comentário enviado por nandosilva em 24/02/2023 - 20:43h

Excelente script :-)
#2 Comentário enviado por maurixnovatrento em 12/03/2023 - 15:02h

Já vou favoritar a ferramenta.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10
#3 Comentário enviado por CContato em 07/11/2025 - 08:28h
Fábio, faz sentido adicionar "-l por" nessa linha do script:
$TESSERACT_CMD $IMG_TEMP stdout -l por 2>/dev/null | sed '/^$/N;/^\n$/D' | $XSEL_CMD -b

para que o tesseract reconheça textos em português melhor?

Contribuir com comentário

Entre na sua conta para comentar.