Tesseract OCR no Windows (Tutorial com Exemplo de Código)
O que é Tesseract OCR?
Tesseract é um mecanismo de reconhecimento óptico de caracteres que pode ser usado em uma variedade de sistemas operacionais. É um software livre, lançado sob a Licença Apache. Neste guia, mostrarei os passos que segui para instalar o Tesseract em minha máquina com Windows 10. A versão principal 5 é a versão estável atual e começou com o lançamento 5.0.0 em 30 de novembro de 2021.
Como usar o Tesseract OCR no Windows
- Instale o Tesseract OCR em um Windows 10 usando o arquivo .exe
- Configure a instalação do Tesseract
- Adicione o caminho de instalação às variáveis de ambiente
- Execute o Tesseract OCR para Windows em uma imagem de teste
- Use a biblioteca C# para APIs mais intuitivas e métodos avançados no Windows
Passo 1: Instale o Tesseract OCR no Windows 10 usando Arquivo .exe:
Para instalar os dados de idioma: sudo port install tesseract -<langcode>
Uma lista de códigos de idioma pode ser encontrada na página do MacPorts Tesseract Homebrew. O primeiro passo para instalar o Tesseract OCR para Windows é baixar o instalador .exe que corresponde ao sistema operacional de sua máquina.
Passo 2: Configurar Instalação
Em seguida, precisaremos configurar a instalação do Tesseract. Se você se sentir confiante e só quiser executar o Tesseract OCR para Windows com o idioma padrão configurado para inglês, passar pelas telas de instalação com todas as opções padrão selecionadas deve funcionar.
Idioma do Instalador
Este é apenas o idioma para as caixas de diálogo e informações de ajuda. Se quisermos, podemos executar o Tesseract OCR para Windows em vários idiomas:
Idioma do instalador para o Tesseract OCR para Windows
Configuração do Tesseract OCR
A tela de configuração recomenda que todos os outros aplicativos sejam fechados antes de continuar com a instalação.
A tela de instalação do Tesseract OCR para Windows.
Escolher Local de Instalação
Em seguida, escolheremos o local de instalação. Antes de prosseguir para a próxima etapa, certifique-se de copiar o local de instalação para um arquivo .txt. Precisaremos adicionar o local de instalação às variáveis de ambiente de nossa máquina uma vez que a instalação estiver completa.
Escolha o local de instalação.
Escolher Componentes
Por padrão, ScrollView, Ferramentas de Treinamento, Criação de Atalhos e Dados de Idioma são todos selecionados. A menos que você tenha um motivo específico para não instalar estes, manteremos todos estes selecionados.
Componentes de instalação padrão do Tesseract OCR para Windows.
Se rolarmos para baixo e expandirmos os 'Dados de script adicionais', veremos que temos a opção de baixar e instalar dados de script adicionais. Isso pode ser útil para melhorar a precisão da extração de texto de certos idiomas scriptados. Depende de você se deseja instalar esses dados.
Componentes opcionais de instalação de script.
Escolher a Pasta do Menu Iniciar
Na última etapa da instalação, seremos solicitados a escolher a pasta do menu iniciar para os atalhos do Tesseract OCR para Windows. Deixei o meu configurado com o nome padrão: 'Tesseract-OCR'.
Escolha a pasta do menu iniciar para os atalhos do Tesseract OCR para Windows.
Após clicarmos em instalar, o Tesseract OCR para Windows começará a instalação. Nosso próximo passo é adicionar o caminho de instalação às variáveis de ambiente de nossa máquina.
Passo 3: Adicionar Caminho de Instalação às Variáveis de Ambiente
Painel de Controle
Para adicionar o local de instalação às nossas variáveis de ambiente, vá ao menu Iniciar e procure por 'variáveis de ambiente'. Você deve ver um resultado para editar as variáveis de ambiente do sistema. Se não aparecer, você sempre pode usar as etapas a seguir: Menu Iniciar > Painel de Controle > Editar as variáveis de ambiente do sistema.
Procurando por 'variáveis de ambiente'
Propriedades do Sistema
Ao se deparar com a caixa de diálogo 'Propriedades do Sistema', certifique-se de que a guia Avançado esteja selecionada e clique no botão Variáveis de Ambiente no canto inferior direito da tela.
Variáveis de ambiente
Em variáveis do sistema, clique no botão Editar.
Quando se deparar com a tela "Editar variável de ambiente", clique no botão Novo e cole o caminho de instalação do Tesseract OCR que copiamos anteriormente na Etapa 2. Depois de fazer isso, clique no botão 'OK'.
Adicionar Diretório de Instalação do Tesseract OCR para Windows às Variáveis de Ambiente
É isso! Agora que executamos o instalador .exe e adicionamos a localização de instalação do Tesseract OCR para Windows às nossas variáveis de ambiente, podemos testar se nossa instalação está funcionando executando o Tesseract em uma imagem de teste.
Etapa 4: Execute o Tesseract OCR para Windows em uma Imagem de Teste
Para testar se o Tesseract OCR para Windows foi instalado com sucesso, abra o prompt de comando na sua máquina e execute o comando Tesseract. Você deve ver uma saída com uma breve explicação das opções de uso do Tesseract.
Verificando a instalação bem-sucedida do Tesseract OCR para Windows
Parabéns! Você instalou com sucesso o Tesseract OCR para Windows na sua máquina.
Vantagens de usar o IronOCR para fazer OCR:
IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:
- .NET Framework 4.0 +
- .NET Standard 2.0 +
- .NET Core 2.0 +
- .NET 5
- Mono para macOS e Linux
- Xamarin para macOS
IronOCR lê texto, códigos de barras e códigos QR de todos os principais formatos de imagem e PDF usando o mais recente motor Tesseract 5. Esta biblioteca adiciona funcionalidade OCR a aplicativos Desktop, Console e Web em minutos. Ele suporta mais de 125 idiomas internacionais. Licenses start from $799.
Etapa 1: Instale a versão mais recente do IronOCR
Instalar DLL
Download the IronOcr DLL directly to your machine.
Instalar NuGet
Alternativamente, você pode instalá-lo através do NuGet com o seguinte comando:
Install-Package IronOcr
Passo 2: Aplique sua chave de licença
Defina sua chave de licença do IronOCR usando o código
Adicione este código ao início do seu aplicativo antes de usar o IronOCR.
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
Etapa 3: Teste sua Chave
Teste se sua chave foi instalada corretamente.
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
Comece com o projeto
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
Como Usar o Tesseract OCR em C# for .NET?
- Instale Google Tesseract e IronOCR for .NET no Visual Studio
- Verifique as compilações mais recentes em C#
- Revise a precisão e a compatibilidade de imagem
- Teste o desempenho e a função da API
- Considere o Suporte a Múltiplos Idiomas
Code Example for .NET OCR Usage — Extract Text from Images in C
Utilize o Gerenciador de Pacotes NuGet para instalar o pacote NuGet IronOCR em sua solução do Visual Studio.
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
IronOCR Tesseract for C
Com o IronOCR, toda a instalação do Tesseract acontece inteiramente usando o Gerenciador de Pacotes NuGet.
Install-Package IronOcr
API Tesseract 5 no IronOCR Tesseract
Até o momento, IronTesseract é a única implementação conhecida do Tesseract 5 for .NET Framework ou Core.
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
API Tesseract 4 no IronOCR Tesseract
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract()
' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
Por que o IronOCR é Melhor que o Tesseract:
PRECISÃO
TESSERACT:
Se o Tesseract encontrar uma imagem que esteja rotacionada, inclinada, com baixa DPI, digitalizada ou com ruído de fundo, torna-se quase impossível para o Tesseract obter dados dessa imagem. Além disso, o Tesseract também levará muito tempo para processar esse documento antes de fornecer informações sem sentido.
IRONOCR:
IronOCR tira essa dor de cabeça. Os usuários frequentemente alcançam 99,8-100% de precisão com configuração mínima.
COMPATIBILIDADE DE IMAGEM
TESSERACT:
Aceita apenas o formato de imagem Leptonica PIX, que é um objeto IntPtr C++ em C#. Os objetos PIX não são gerenciados pela memória — e o não manuseio cuidadoso deles em C# resulta em vazamentos de memória.
IRONOCR:
As imagens são gerenciadas pela memória. PDF & Tiff suportados. System.Drawing, Stream, e Byte Array são incluídos para cada formato de arquivo.
Suporte amplo a imagens:
- Documentos PDF
- Páginas PDF
- Arquivos TIFF multi-quadro
- JPEG & JPEG2000
- GIF
- PNG
- System.Drawing.Image
- Dados de imagem binários (byte [])
- E muitos mais...
DESEMPENHO
TESSERACT:
O Google Tesseract pode oferecer resultados rápidos e precisos se devidamente ajustado e as imagens de entrada forem pré-processadas usando Photoshop ou ImageMagick.
IRONOCR:
O IronOcr .NET Tesseract DLL funciona com precisão e rapidez para a maioria das imagens diretamente. Implementamos multithreading para utilizar os processadores multicore que a maioria das máquinas agora utiliza. Mesmo imagens de baixa resolução geralmente funcionam com um alto grau de precisão no seu programa. Photoshop não é necessário.
API
TESSERACT:
Temos duas escolhas gratuitas:
- Trabalhar com camadas de Interop — muitas encontradas no GitHub estão desatualizadas, possuem tickets não resolvidos, vazamentos de memória, e avisos de Console. Pode não suportar .NET Core ou Standard.
- Trabalhar com a linha de comando EXE — difícil de implantar e constantemente interrompido por scanners de vírus e políticas de segurança.
IRONOCR:
Uma biblioteca .NET gerenciada e testada para Tesseract chamada IronTesseract.
Totalmente documentada com suporte ao IntelliSense.
IDIOMA
TESSERACT:
Suporta apenas 100 idiomas.
IRONOCR:
Suporta mais de 125 idiomas.
Conclusão
O Tesseract é um excelente recurso para desenvolvedores C++, mas não é uma biblioteca OCR completa for .NET. Imagens escaneadas ou fotografadas precisam ser processadas para estarem ortogonais, padronizadas, em alta resolução, e livres de ruído digital antes que o Tesseract possa trabalhar precisamente com elas.
Em contraste, o IronOCR consegue fazer isso e muito mais, com apenas uma única linha de código. It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.




