Ir para o conteúdo do rodapé
UTILIZANDO O IRONOCR

Tesseract OCR para vários idiomas (Tutorial para desenvolvedores)

OCR é uma tecnologia usada para transformar documentos de diferentes naturezas em dados editáveis e pesquisáveis. Ele transforma imagens escaneadas, arquivos PDF e fotos de câmeras digitais em dados que podem ser editados e pesquisados. Esta tecnologia é amplamente usada na transformação de documentos impressos em formato digital para edição, pesquisa e armazenamento, reduzindo o espaço físico ocupado pelos documentos. OCR tem um papel massivo na automação de entrada de dados, economizando assim muito tempo para empresas e organizações ao reduzir o trabalho realizado por recursos humanos.

É um processo que utiliza técnicas avançadas de aprendizado de máquina e reconhecimento de padrões para extrair texto com precisão de imagens. Os mais recentes desenvolvimentos relacionados ao OCR aumentaram sua precisão, suportando assim mais idiomas e scripts complexos, como o script em árabe. Muito necessário em finanças, saúde, legislação e educação, o OCR surgiu como uma ferramenta indispensável onde era pré-requisito o processamento rápido de vários documentos impressos. Este artigo usará o Tesseract para OCR de imagens em dados de vários idiomas.

Como Usar Tesseract OCR com Múltiplos Idiomas

  1. Primeiro, instale o pacote NuGet IronOCR/Tesseract no seu projeto .NET.
  2. Crie uma instância da classe IronTesseract, que irá inicializar o mecanismo OCR.
  3. A propriedade de idioma suporta mais de um idioma.
  4. Especifique o caminho do arquivo de imagem que você deseja processar, e então crie um objeto OcrInput.
  5. Agora, realize o OCR na imagem de entrada usando a função Read da instância IronTesseract.
  6. Pegue o resultado e exiba o texto reconhecido.

O que é Tesseract?

O Tesseract é um motor de Reconhecimento Óptico de Caracteres open-source desenvolvido pela Hewlett-Packard e posteriormente mantido pelo Google. É famoso por sua alta precisão e adaptabilidade, tornando-o um dos OCRs mais proeminentes. O Tesseract suporta detecção de script, reconhece texto em muitos idiomas e pode lidar com vários idiomas; portanto, é geralmente usado para projetos que exigem documentos multilíngues e suporte.

O mecanismo OCR do Tesseract funciona com informações contidas em qualquer pixel individual da imagem, seguindo padrões que representam caracteres, palavras e frases que eventualmente são convertidos em texto legível por máquina. Os muitos tipos de arquivos de imagem que suporta, como TIFF, JPEG e PNG, permitem que o Tesseract produza texto em formatos como texto simples, HTML e PDF pesquisável.

Uma das grandes vantagens do Tesseract é que ele pode ser treinado para ser sensível a fontes específicas ou novos idiomas adicionados. Também é frequentemente usado em várias aplicações, desde extração simples de texto até tarefas complexas na digitalização de documentos históricos, processamento de faturas ou até mesmo software de acessibilidade que permite a leitura para deficientes visuais.

Criando um novo projeto no Visual Studio

Abra o programa Visual Studio. Ao abrir o programa, acesse o 'menu de arquivo'. No 'menu de arquivo', há a opção 'novo projeto'. Em 'novo projeto', clique em 'Aplicação de Console'. Neste post, criaremos documentos PDF usando um programa de console.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 1 - Crie um novo projeto

Insira o nome do seu projeto e a localização do arquivo nas caixas de texto fornecidas. Em seguida, como mostrado na imagem abaixo, clique no botão Criar e selecione qual .NET Framework você precisa.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 2 - Selecione o .NET Framework, fornecendo também um projeto e local de salvamento.

Agora que a versão do aplicativo foi selecionada, o projeto do Visual Studio criará sua estrutura. Se você escolheu as versões console, Windows ou web, ele abrirá o arquivo program.cs para adicionar código e construir/executar o aplicativo.

Instalar Tesseract OCR Para .NET

O primeiro passo é baixar e instalar o software Tesseract OCR em seu computador. Aqui está o repositório oficial do Tesseract no GitHub com o instalador do Tesseract: https://github.com/tesseract-ocr/tesseract.

Seria melhor instalar o Tesseract OCR no seu computador seguindo as instruções de configuração específicas para o seu sistema operacional—seja Windows, macOS ou Linux. Uma vez instalado, adicione o pacote Tesseract.NET ao seu projeto C# usando o Gerenciador de Pacotes NuGet do Visual Studio.

Abra o Gerenciador de Pacotes NuGet no seu projeto do Visual Studio em Ferramentas -> Gerenciador de Pacotes NuGet -> Gerenciar Pacotes NuGet para Solução. Depois, procure por 'Tesseract' no Gerenciador de Pacotes NuGet para obter o pacote 'Tesseract' ou 'Tesseract.NET'. Selecione este pacote e clique no botão Instalar para instalá-lo no seu projeto.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 3 - Pesquise por Tesseract na aba de navegação

Tesseract OCR using C#

Você deve configurar o Tesseract no seu projeto C# para especificar a localização do executável do Tesseract OCR e dos arquivos de dados de idioma após instalar o wrapper Tesseract.NET. Eis um exemplo:

using System;
using System.Drawing;
using Tesseract;

class Program
{
    static void Main()
    {
        // Set the path to the Tesseract data files (traineddata files)
        string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files

        // Load the image
        string imagePath = @"path_to_your_image.png";
        using (var img = Pix.LoadFromFile(imagePath))
        {
            // Add languages to the Tesseract engine
            using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
            {
                using (var page = engine.Process(img))
                {
                    // Extract the text
                    string text = page.GetText();
                    Console.WriteLine("Recognized Text:");
                    Console.WriteLine(text);
                }
            }
        }
    }
}
using System;
using System.Drawing;
using Tesseract;

class Program
{
    static void Main()
    {
        // Set the path to the Tesseract data files (traineddata files)
        string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files

        // Load the image
        string imagePath = @"path_to_your_image.png";
        using (var img = Pix.LoadFromFile(imagePath))
        {
            // Add languages to the Tesseract engine
            using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
            {
                using (var page = engine.Process(img))
                {
                    // Extract the text
                    string text = page.GetText();
                    Console.WriteLine("Recognized Text:");
                    Console.WriteLine(text);
                }
            }
        }
    }
}
$vbLabelText   $csharpLabel

O código acima explica como o Tesseract OCR pode detectar e extrair texto de imagens contendo múltiplos idiomas. Inicialmente, define-se o caminho para os arquivos de dados de idioma do Tesseract. Os arquivos .traineddata necessários para cada idioma correspondente, como inglês, espanhol e francês, devem estar presentes no caminho.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 4 - Exemplo de entrada

Ele carrega uma imagem especificada por imagePath usando o método Pix.LoadFromFile. Mais especificamente, esperava-se uma imagem com texto em inglês, espanhol e francês. Então, uma instância de TesseractEngine será inicializada com caminhos para arquivos de dados de idioma e idiomas de interesse, 'eng+spa+fra', para reconhecer o texto. O motor funcionará no modo padrão.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 5 - Exemplo de saída do console

A imagem será então processada usando o método Process da classe do motor, onde é analisada, o conteúdo do texto extraído e armazenado na variável text. O texto extraído é então impresso no console, criando uma visualização de como o OCR funciona.

O que é IronOCR?

O IronOCR é uma biblioteca OCR proprietária focada em .NET. Ele adiciona capacidades de OCR a aplicativos .NET e permite a extração de texto de imagens, documentos digitalizados, PDFs e todos outros meios visuais. Com a tecnologia de reconhecimento de texto de ponta extremamente bem-sucedida do Tesseract, o IronOCR também inclui várias funcionalidades adicionais que o tornam adequado para uso em aplicações empresariais.

O IronOCR oferece suporte a uma quantidade impressionante de idiomas—mais de 120 idiomas com suporte para detecção automática de idioma e processamento de documentos que contém múltiplos idiomas simultaneamente. Isso torna o IronOCR muito versátil e implantável globalmente, onde o processamento de documentos multilíngues é altamente crítico.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 6 - IronOCR: A Biblioteca OCR C#

Por outro lado, o IronOCR enfatiza a simplicidade de uso e integração. Sua API extremamente fácil de usar é complementada por documentação detalhada e um conjunto de projetos de exemplo que ajudarão qualquer desenvolvedor a começar rapidamente. Ele suporta uma ampla gama de formatos de imagem e documentos PDF. Recursos avançados de pré-processamento de imagem, redução de ruído e correção de erros embutidos melhoram a precisão e o desempenho do OCR.

Instalar IronOCR

Você pode instalar os pacotes diretamente na sua solução usando a ferramenta de gerenciamento de pacotes NuGet do Visual Studio. A captura de tela a seguir mostra como abrir o Gerenciador de Pacotes NuGet.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 7 - Como chegar ao gerenciador de pacotes NuGet através do Visual Studio

Ele possui uma caixa de pesquisa embutida, que exibe uma lista de pacotes do site da NuGet. Como visto na captura de tela abaixo, vamos procurar no gerenciador de pacotes a frase IronOCR:

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 8 - Pesquisar por IronOCR no explorador de soluções

Os resultados da pesquisa podem oferecer uma lista de soluções potenciais. Você precisará selecionar o pacote de solução necessário para instalar.

Além disso, instale os pacotes de idiomas Tesseract necessários um por um, como o abaixo para este exemplo.

Neste exemplo, usaremos códigos de idiomas em espanhol, francês e inglês. Inglês é o pacote de idioma padrão e não requer instalação.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 9 - Instalar pacote de idioma francês

Instale o espanhol do pacote NuGet.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 10 - Instalar pacote de idioma espanhol

Ler Múltiplos Idiomas com IronOCR com o Motor Tesseract

O exemplo a seguir demonstra como reconhecer texto em múltiplos idiomas de uma imagem usando C# e o motor IronOCR e Tesseract.

using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronTesseract engine
        var Ocr = new IronTesseract();

        // Add multiple languages
        Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;

        // Path to the image
        var inputFile = @"path\to\your\image.png";

        // Read the image and perform OCR
        using (var input = new OcrInput(inputFile))
        {
            // Perform OCR
            var result = Ocr.Read(input);

            // Display the result
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronTesseract engine
        var Ocr = new IronTesseract();

        // Add multiple languages
        Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;

        // Path to the image
        var inputFile = @"path\to\your\image.png";

        // Read the image and perform OCR
        using (var input = new OcrInput(inputFile))
        {
            // Perform OCR
            var result = Ocr.Read(input);

            // Display the result
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(result.Text);
        }
    }
}
$vbLabelText   $csharpLabel

O programa C# acima usa a biblioteca IronOCR para realizar o Reconhecimento Óptico de Caracteres em uma imagem contendo caracteres em inglês, espanhol e francês. O programa começa importando o namespace necessário para IronOCR e declarando uma classe chamada Program com um método Main, que é o ponto de entrada do aplicativo.

No método Main, uma instância da classe IronTesseract é instanciada e atribuída à variável Ocr. A propriedade Language é configurada para incluir inglês, espanhol e francês combinando OcrLanguage.English, OcrLanguage.Spanish, e OcrLanguage.French. Isso garante que o motor OCR possa reconhecer e processar texto em qualquer um desses três idiomas.

O caminho para o arquivo de imagem de entrada é configurado usando a variável inputFile. A imagem é então carregada dentro de uma declaração using com uma instância da classe OcrInput para gerenciamento e descarte adequados de recursos. Finalmente, o método Read da instância IronTesseract é chamado com o objeto de entrada para realizar o OCR na imagem.

O texto reconhecido é então impresso no console usando o método Console.WriteLine. Este programa ilustra um método eficaz para usar a capacidade multilíngue do IronOCR para extrair texto de imagens que contêm palavras em diferentes idiomas.

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 11 - Saída de texto reconhecido

Por que IronOCR é Melhor do que Tesseract?

IronOCR é mais fácil de usar em comparação com Tesseract e oferece algumas vantagens. Primeiro, o IronOCR oferece excelente suporte a idiomas com 125 idiomas prontos para uso, enquanto o Tesseract pode exigir configurações complexas e treinamento adicional para desempenho ideal com alguns de seus 100 idiomas suportados. Além disso, o IronOCR integra-se facilmente em aplicações .NET e vem com documentação abrangente.

IronOCR tem uma curva de aprendizado menos íngreme e requer menos configuração técnica do que Tesseract. Ele também possui pré-processamento de imagem avançado e atualizações regulares para melhor precisão e confiabilidade com tipos de documento complexos. IronOCR é uma excelente escolha para desenvolvedores que buscam uma solução OCR sólida, versátil e de fácil aplicação.

Conclusão

Tesseract OCR para Múltiplos Idiomas (Tutorial do Desenvolvedor): Figura 12 - Página de licenciamento do IronOCR

Embora ambos Tesseract e IronOCR sejam tecnologias OCR robustas, cada um tem capacidades e pontos fortes únicos. Tesseract, sendo de código aberto, é confiável para quem busca uma solução gratuita e possui comunidades ativas e melhoria contínua.

Em contraste, o IronOCR é uma biblioteca proprietária para o .NET Framework, oferecendo uma melhor experiência do usuário com integração mais fácil e suporte para a maioria dos tipos de arquivos de imagem. Ele também tem um bom desempenho no reconhecimento de texto, particularmente com conteúdo de imagem de baixa qualidade. IronOCR oferece suporte total a muitos idiomas e possui recursos extras que o tornam mais amigável ao usuário.

IronOCR oferece uma edição de desenvolvimento econômica e, quando comprado, fornece uma licença vitalícia. O pacote IronOCR começa a partir de $liteLicense como um custo único para múltiplos sistemas, oferecendo excelente custo-benefício e suporte de engenheiro online 24/7 para usuários licenciados. Para mais informações, consulte o site IronOCR.

Perguntas frequentes

Como posso usar o Tesseract OCR com vários idiomas em um projeto .NET?

Você pode usar a biblioteca IronOCR, que simplifica a integração do OCR Tesseract para processar imagens com texto em vários idiomas. Adicione o pacote NuGet IronOCR/Tesseract ao seu projeto .NET e configure os idiomas usando a propriedade Language da classe IronTesseract .

Quais as vantagens que o IronOCR oferece em relação ao Tesseract padrão?

O IronOCR oferece uma API mais amigável para aplicações .NET, suporta mais de 120 idiomas nativamente e oferece pré-processamento de imagem avançado para melhorar a precisão. Ele se integra perfeitamente a projetos .NET, oferecendo ampla documentação e suporte para desenvolvedores.

O IronOCR consegue processar documentos em vários idiomas simultaneamente?

Sim, o IronOCR pode processar documentos multilíngues definindo vários idiomas na propriedade Language . Esse recurso é particularmente útil para aplicações globais, onde os documentos podem conter texto em diferentes idiomas.

Qual é o processo para configurar o IronOCR em um projeto C#?

Para configurar o IronOCR em um projeto C#, primeiro instale o pacote NuGet IronOCR/Tesseract através do Gerenciador de Pacotes NuGet do Visual Studio. Em seguida, crie uma instância da classe IronTesseract em seu código e utilize seus métodos para processar imagens que contenham texto.

Como o IronOCR melhora a precisão dos resultados de OCR?

O IronOCR aprimora a precisão por meio de técnicas avançadas de pré-processamento de imagem, que melhoram a qualidade da imagem antes da extração do texto. Esse recurso ajuda a reconhecer com precisão o texto em imagens de qualidade variável.

Que tipos de documentos o IronOCR pode processar?

O IronOCR consegue processar diversos tipos de documentos, incluindo imagens digitalizadas, PDFs e fotos tiradas com câmeras digitais. Ele converte esses documentos em formatos de dados editáveis e pesquisáveis.

O IronOCR é adequado para automatizar tarefas de entrada de dados?

Sim, o IronOCR é altamente eficaz para automatizar a entrada de dados, convertendo documentos impressos em texto digital, reduzindo o trabalho manual e economizando tempo. É amplamente utilizado em setores como finanças, saúde e educação.

Como o IronOCR auxilia os desenvolvedores na implementação da tecnologia OCR?

O IronOCR oferece documentação completa, uma API fácil de usar e suporte técnico online 24 horas por dia, 7 dias por semana, facilitando a implementação da tecnologia OCR em aplicações .NET por desenvolvedores.

Quais são os principais casos de uso do IronOCR?

O IronOCR é usado para digitalizar documentos impressos, automatizar a entrada de dados, processar faturas e desenvolver software de acessibilidade para usuários com deficiência visual. É aplicável em diversos setores, incluindo finanças, saúde e educação.

Kannaopat Udonpant
Engenheiro de Software
Antes de se tornar Engenheiro de Software, Kannapat concluiu um doutorado em Recursos Ambientais pela Universidade de Hokkaido, no Japão. Durante o doutorado, Kannapat também integrou o Laboratório de Robótica Veicular, que faz parte do Departamento de Engenharia de Bioprodução. Em 2022, ele utilizou suas habilidades ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me