Ir para o conteúdo do rodapé
COMPARAR COM OUTROS COMPONENTES
IronOcR como alternativa ao Tesseract.NET da Patagames

Uma comparação entre IronOCR e Tesseract.NET

O reconhecimento óptico de caracteres identifica o texto que pode ser lido em uma imagem. Existem muitas maneiras pelas quais o reconhecimento óptico de caracteres é utilizado. Por exemplo, pode digitalizar e converter documentos de papel antigos em documentos eletrônicos pesquisáveis. Também é útil para a aplicação da lei identificar evidências criminais examinando fotos e vídeos. Para que uma máquina ou computador possa determinar os caracteres em qualquer documento, ele deve entender a fonte utilizada e o sistema de escrita em que esses caracteres foram escritos. Muitas vezes, esse entendimento vêm de um software de inteligência artificial chamado algoritmos de reconhecimento de imagem, que são treinados e ajustados em grandes conjuntos de dados de imagens de texto.

OCR é uma tecnologia importante que possui uma variedade de usos. Freqüentemente, é usado para ler documentos de papel digitalizados, convertendo-os em arquivos digitais que podem ser editados e pesquisados através de computadores. No entanto, o OCR também pode ser aplicado a vários outros tipos de informações, incluindo texto impresso em sinais ou etiquetas, texto de cheques, formulários e outros registros comerciais, e até mesmo registros médicos transcritos de gravações de áudio.

Neste artigo, vamos comparar duas bibliotecas OCR for .NET.

  • IronOCR
  • O Tesseract.NET SDK

Características do IronOCR

IronOCR é a mais recente e avançada biblioteca OCR (Reconhecimento Óptico de Caracteres) for .NET C# e VB. O IronOCR pode digitalizar códigos de barras e códigos QR de todos os formatos de imagem, e lê texto e executa digitalização PDF usando o mais recente motor Tesseract 5. O IronOCR pode adicionar função de OCR em todos os modelos de projeto .NET, como aplicativos de desktop, console e web com apenas algumas linhas e sem adicionar uma biblioteca. IronOCR é um dos motores OCR mais precisos para projetos .NET.

Vamos discutir algumas das características exclusivas do IronOCR:

  • O IronOCR é feito puramente para aplicações .NET.
  • O IronOCR suporta até 125 idiomas.
  • IronOCR pode corrigir a posição de uma imagem inclinada e remover ruído de uma imagem para um resultado preciso.
  • IronOCR tem um desempenho excepcional em imagens de baixa resolução com DPI baixo.
  • IronOCR pode ler múltiplos tipos de códigos QR e códigos de barras.
  • IronOCR também suporta os formatos Gif e Tiff.
  • IronOCR suporta multithreading. É um recurso fantástico que não está presente em outras bibliotecas OCR. Isso torna os processos mais suaves.
  • IronOCR pode facilmente realizar OCR em arquivos PDF e exportar documentos PDF pesquisáveis usando OCR.

Todos os principais idiomas são suportados pelo IronOCR, incluindo Árabe, Chinês, Inglês, Finlandês, Francês, Alemão, Japonês e muitos outros. IronOCR fornece a funcionalidade para mostrar saída em diferentes formatos, como Dados de Código de Barras, Texto Simples ou a classe de resultado de OCR que contém linhas, palavras, parágrafos e caracteres. IronOCR usa tecnologia da biblioteca Tesseract.

IronOCR é compatível com máquinas Mac, Windows e Linux. Também suporta Azure e Docker para Soluções em Nuvem. A última atualização do IronOCR inclui .NET core 3.1 e .NET 6 na lista de suporte, e também fornece suporte para Xamarin para MacOS.

Recursos da Biblioteca OCR Tesseract

O Tesseract.net SDK é um produto da Patagames, uma biblioteca de reconhecimento de caracteres ópticos (OCR) para projetos .NET, que fornece um método para adicionar capacidades de OCR, como reconhecimento de texto em aplicativos .NET. O Tesseract.NET SDK é um motor OCR que pode ler vários formatos de imagem e converter imagens em texto. Suporta até 60 idiomas. Também suporta a leitura e digitalização de documentos PDF e convertê-los em arquivos PDF pesquisáveis. Basicamente, o Tesseract.NET SDK é uma biblioteca de classes baseada no projeto Tesseract OCR. Possui um motor Tesseract para realizar OCR. O Patagames.Ocr.xml contém a documentação XML da API.

O Tesseract.NET SDK suporta .NET Framework 2.0 a 4.5 em sistemas operacionais de 32 bits e 64 bits. Este SDK pode ser usado com Windows XP e outras versões do Windows, como Windows 7, Vista, 8, 10 e 11. É compatível com sistemas operacionais de 32 bits e 64 bits, tornando mais fácil seu uso em qualquer CPU.

Infelizmente, o SDK .NET não está disponível para macOS ou Linux.

Usando IronOCR e o Tesseract.NET SDK

Vamos dar uma olhada em como podemos usar o IronOCR e o Tesseract.NET SDK em nosso projeto.

Criando um Projeto C# no Visual Studio

Estamos usando a versão 2022 do Visual Studio para criar este projeto. A última versão do Visual Studio é recomendada para um progresso suave. Em seguida, abra o Visual Studio e clique em 'Criar Novo Projeto'. Depois disso, clique na 'Aplicação de Console' nos templates e configure seu projeto.

Tesseract Net Core Alternatives 1 related to Criando um Projeto C# no Visual Studio

Agora insira o nome do projeto. Vou atribuir o nome 'IronOCR vs Tesseract.NET SDK'. Depois disso, selecione o caminho onde você deseja criar o projeto e pressione Enter.

Tesseract Net Core Alternatives 2 related to Criando um Projeto C# no Visual Studio

Depois disso, selecione a versão do .NET. Usamos a versão mais recente do .NET, que é .NET 6, e o IronOCR dá suporte. Você pode usar a que melhor se adequa às suas necessidades para o projeto.

Tesseract Net Core Alternatives 3 related to Criando um Projeto C# no Visual Studio

Após clicar no botão Criar, o Template de projeto criará o projeto e agora está pronto para instalar bibliotecas. Vamos instalar as bibliotecas diretamente.

Instalar IronOCR e o Tesseract.NET SDK

Agora é hora de instalar as bibliotecas e verificar as funcionalidades. Primeiro, vamos instalar a biblioteca IronOCR.

Instalar IronOCR

IronOCR suporta instalação usando vários métodos. Podemos escolher qualquer abordagem. Todos os métodos são seguros.

  • Usando o Gerenciador de Pacotes NuGet do Visual Studio
  • Usando o Comando da Linha de Comando do Gerenciador de Pacotes NuGet.
  • Direct download from the NuGet website.
  • Direct download from the IronOcr website.

Usando o Gerenciador de Pacotes NuGet do Visual Studio

Podemos instalar a biblioteca IronOCR usando a GUI do Gerenciador de Pacotes NuGet no Visual Studio. Podemos acessá-lo clicando em Ferramentas > Gerenciador de Pacotes NuGet > Gerenciar Pacotes NuGet para solução.

Tesseract Net Core Alternatives 4 related to Usando o Gerenciador de Pacotes NuGet do Visual Studio

Vá para a guia Procurar e pesquise por IronOCR. Selecione IronOCR nos resultados da pesquisa e instale-o em nosso projeto.

Tesseract Net Core Alternatives 5 related to Usando o Gerenciador de Pacotes NuGet do Visual Studio

Agora, instalamos a biblioteca IronOCR em nosso projeto. Está pronto para uso em nosso projeto .NET.

Usando a Linha de Comando do Gerenciador de Pacotes NuGet

Podemos usar o Console do Gerenciador de Pacotes NuGet para instalar a biblioteca IronOCR. Vá para a linha de comando, que geralmente está localizada abaixo do arquivo de código, e então escreva a seguinte linha na linha de comando e aperte Enter.

Install-Package IronOcr

Isso começará a instalar a biblioteca IronOCR. Após a instalação, estará pronta para usar em nosso projeto.

Instalar o Tesseract.NET SDK

Podemos instalar o Tesseract.NET SDK usando o Gerenciador de Pacotes NuGet. Para instalar o Tesseract.NET SDK, vá para Ferramentas > Gerenciador de Pacotes NuGet > Gerenciar Pacotes NuGet para Solução. Vá para a guia Procurar e pesquise pelo Tesseract.NET SDK. Selecione o Tesseract.NET SDK nos resultados da pesquisa e instale-o. Após a instalação, podemos usar o Tesseract.NET SDK em nosso programa.

Tesseract Net Core Alternatives 6 related to Instalar o Tesseract.NET SDK

Após a instalação, você pode ver essas três pastas no explorador de soluções.

Tesseract Net Core Alternatives 7 related to Instalar o Tesseract.NET SDK

Essas pastas contêm dados essenciais necessários para o Tesseract realizar OCR. Agora estamos prontos para incorporar a capacidade de OCR em nosso projeto.

Imagem de OCR

É hora de testar as capacidades do IronOCR e do Tesseract.NET SDK. Ambas as bibliotecas podem realizar OCR em imagens. Nós as testaremos usando uma imagem inclinada e ruidosa com texto.

Imagem de teste

Esta é a imagem que usaremos para teste.

Tesseract Net Core Alternatives 8 related to Imagem de teste

Usando o Tesseract.NET SDK

Primeiramente, olharemos a saída gerada pelo Tesseract.NET SDK para a imagem de teste. Vamos dar uma olhada no código:

using Patagames.Ocr;

// Use the OcrApi class to create an API instance for OCR
using (var api = OcrApi.Create())
{
    // Initialize the OCR API with the English language
    api.Init(Patagames.Ocr.Enums.Languages.English);
    // Extract text from the image at the specified path
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Print the extracted text to the console
    Console.WriteLine(plainText);
}
using Patagames.Ocr;

// Use the OcrApi class to create an API instance for OCR
using (var api = OcrApi.Create())
{
    // Initialize the OCR API with the English language
    api.Init(Patagames.Ocr.Enums.Languages.English);
    // Extract text from the image at the specified path
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Print the extracted text to the console
    Console.WriteLine(plainText);
}
$vbLabelText   $csharpLabel

Antes de tudo, importaremos a biblioteca Patagames.OCR para usar o Tesseract.NET SDK. Após isso, criaremos um OcrApi usando a função Create. Em seguida, definiremos o idioma padrão para Inglês usando a função Init. Depois, extraímos o texto simples da imagem usando o método GetTextFromImage, e no parâmetro, fornecemos o caminho dos arquivos de imagem. Depois, escrevemos o texto extraído no console.

A seguir, dê uma olhada na saída gerada pelo Tesseract.NET SDK:

Tesseract Net Core Alternatives 9 related to Usando o Tesseract.NET SDK

Então, esta é a saída que obtemos do Tesseract.NET SDK. No início, fornece erros com base na resolução, mostrando que funciona bem apenas para imagens de alta resolução. Após os erros, podemos ver o texto extraído da imagem. Se compararmos este texto com a imagem, veremos que é completamente diferente. O texto extraído possui muito texto irrelevante que não faz sentido. No geral, o Tesseract.NET SDK falha neste teste.

Usando IronOCR

A seguir, veremos os resultados do IronOCR. Antes de pular para os resultados, primeiro olharemos o código para IronOCR:

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;

// Use OcrInput to prepare the image for processing
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Correct the skew and noise in the image
    Input.Deskew();
    Input.DeNoise();
    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;

// Use OcrInput to prepare the image for processing
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Correct the skew and noise in the image
    Input.Deskew();
    Input.DeNoise();
    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
$vbLabelText   $csharpLabel

No código acima, importamos a biblioteca IronOCR para nosso programa e então criamos um objeto de IronTesseract, que ajuda a iniciar o processo. Depois disso, definimos o idioma do processo para inglês. Agora o trabalho real pode começar. Criamos o objeto de OcrInput. Atribua o caminho da imagem à variável Input usando a função AddImage. Usamos a função Deskew para rotacionar a imagem para sua posição real, e depois usamos a função DeNoise para remover o ruído da imagem. Isso proporcionará um resultado melhor. Depois disso, usamos a função Read para reconhecer o texto e extraí-lo da imagem de teste. Em seguida, mostramos o resultado no console. Você também pode salvar a saída como um arquivo PDF no arquivo do Projeto.

Aqui está a saída gerada pelo IronOCR:

Tesseract Net Core Alternatives 10 related to Usando IronOCR

Se compararmos a saída, é o mesmo texto que está presente na imagem. IronOCR extrai texto perfeitamente sem nenhum erro. IronOCR pode extrair texto de imagens distorcidas e rotacionadas. Funciona até com imagens de baixa resolução.

IronOCR também suporta a adição de imagens com múltiplos quadros. Podemos usar o método "AddMultiFrameTiff" para fazer esta operação. IronOCR lê cada quadro na imagem, e cada quadro é tratado como uma página separada. Apenas imagens Tiff são suportadas usando este método.

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF image for OCR processing
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF image for OCR processing
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
$vbLabelText   $csharpLabel

Vamos dar uma olhada no código para fazer um PDF pesquisável:

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    // Add multiple images for processing
    Input.AddImage(@"images\page1.png");
    Input.AddImage(@"images\page2.bmp");
    Input.AddMultiFrameTiff(@"images\page3.tiff");

    // Deskew the images to correct orientation
    Input.Deskew();

    // Perform OCR and save the result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    // Add multiple images for processing
    Input.AddImage(@"images\page1.png");
    Input.AddImage(@"images\page2.bmp");
    Input.AddMultiFrameTiff(@"images\page3.tiff");

    // Deskew the images to correct orientation
    Input.Deskew();

    // Perform OCR and save the result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
$vbLabelText   $csharpLabel

A função SaveAsSearchablePdf ajuda a salvar os arquivos como pesquisáveis.

Outras Funcionalidades

  • Contraste: Este filtro de imagem transforma cada pixel em preto ou branco, sem graduações.
  • DeepCleanBackgroundNoise: Use este filtro quando for conhecido um ruído extremo de fundo no documento.
  • Inverter: Inverte todas as cores. Por exemplo, o branco se torna preto: o preto se torna branco.
  • ReplaceColor: Substitui uma cor por outra para reduzir o ruído.
  • ToGrayScale: Este filtro de imagem transforma cada pixel em uma tonalidade de escala de cinza.
  • E muitas outras funções e características.

Características do IronOCR

IronOCR suporta 125 idiomas. IronOCR também suporta códigos QR e códigos de barras de mais de 20 tipos de leitura. IronOCR pode converter imagens para escala de cinza para um melhor resultado. IronOCR pode melhorar a resolução da imagem manualmente e automaticamente. Também suporta a funcionalidade de auto-contraste para os melhores resultados. IronOCR pode exportar o documento em múltiplos idiomas e formatos como PDF pesquisável, Exportação HTML e imagens de qualquer página. IronOCR suporta muitos formatos de entrada, como os seguintes:

  • Imagens (JPG, PNG, GIF, Tiff, BMP)
  • Gif & Tiff com várias páginas
  • Objetos System.Drawing
  • Streams
  • PDFs

Licenciamento

IronOCR

O IronOCR é gratuito para desenvolvimento. Também oferece uma versão de teste gratuita para desenvolvimento. IronOCR tem uma variedade de planos de preços para produção. Você pode comprar o plano que melhor se adequa às suas necessidades. Existem planos de preços em nível individual, de equipe de desenvolvedores e organizacional. Os preços começam a partir de $799 para um plano Lite para um desenvolvedor e um projeto. Todos os planos são pagamentos únicos. Os usuários recebem atualizações gratuitas por um ano. Também suporta cobertura SaaS e OEM. Planos profissionais estão disponíveis em $999, enquanto o plano ilimitado é precificado em $2,999. O plano ilimitado inclui desenvolvedores, projetos e locais ilimitados.

Tesseract Net Core Alternatives 11 related to IronOCR

You can learn more about the pricing plans by following this link. Além disso, a Iron Software atualmente tem uma oferta especial onde você pode comprar um conjunto de cinco pacotes de software pelo preço de apenas dois. Esses cinco pacotes de software são todos excelentes: IronPDF, IronXL, IronOCR, IronBarcode e IronWebscraper.

O Tesseract.NET SDK

O Tesseract.NET SDK também tem um plano de preços. O plano Tesseract.NET SDK começa a partir de $220 para um desenvolvedor e um projeto. Uma coisa importante a saber aqui é que o plano de preços inclui um plano de renovação. Portanto, você deve pagar anualmente ou mensalmente para garantir que o Tesseract.NET SDK esteja operando em seu projeto. You can learn more about the pricing plan for the Tesseract.NET SDK at this link.

Tesseract Net Core Alternatives 12 related to O Tesseract.NET SDK

Conclusão

IronOCR é a biblioteca perfeita para as tarefas em questão. IronOCR também suporta 125 idiomas, o que significa que é aceito globalmente. Suporta vários formatos de imagem e PDFs para o processamento de entrada. Também realiza o pré-processamento de imagens para garantir os melhores resultados. IronOCR é uma biblioteca .NET atraente. Ele pode reconhecer texto de uma área específica de uma imagem. IronOCR foca na precisão, e os resultados são realmente surpreendentes a esse respeito. Os desenvolvedores não precisam de arquivos ou bibliotecas adicionais para realizar OCR. No geral, é a biblioteca perfeita.

O Tesseract.NET SDK também é uma biblioteca sólida para projetos .NET. Oferece serviços de OCR em 60 idiomas. É baseado no projeto Tesseract OCR. Ele pode converter imagens digitalizadas em PDFs pesquisáveis com seu conjunto de funções. O Tesseract.NET SDK aceita uma ampla gama de formatos de imagem para o processamento de entrada. Ele fornece serviços de alto nível para suportar suas capacidades de OCR em projetos .NET.

IronOCR e o Tesseract.NET SDK têm planos de preços. Mas, IronOCR tem um pouco mais de variedade em seu plano de preços, e também é mais barato que o Tesseract.NET SDK. Isso ocorre porque o IronOCR só aceita pagamentos únicos, enquanto o Tesseract.NET SDK possui renovações mensais ou anuais. Portanto, a longo prazo, você deve necessariamente pagar mais pelo Tesseract.NET SDK, mesmo que seu preço inicial seja menor que o do IronOCR.

Analisando todo o cenário e testando as capacidades de ambas as bibliotecas, podemos concluir que o IronOCR é uma opção melhor que o Tesseract.NET SDK em termos de desempenho para documentos desfocados e rotacionados que estão inclinados e um pouco ruidosos. A capacidade de OCR de ambas as bibliotecas é boa, mas o IronOCR é uma biblioteca avançada com funções melhores, como pré-processamento de imagens, remoção de ruído e rotação de imagens para sua posição original. O Tesseract.NET SDK suporta até 60 idiomas e o IronOCR suporta até 125 idiomas. O Tesseract.NET SDK requer arquivos extras para diferentes idiomas, adicionando volume extra ao programa. Além disso, o Tesseract.NET SDK foi atualizado pela última vez há muito tempo.

IronOCR offers a free trial for production tests. Atualmente, também oferece uma excelente oferta especial onde você pode comprar a suíte completa de cinco pacotes Iron Software pelo preço de apenas dois. You can get more information about the offer at this link.

ObserveTesseract OCR SDK é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo Tesseract OCR SDK. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Como o IronOCR aprimora o SDK Tesseract.NET para tarefas de OCR?

O IronOCR oferece melhor desempenho com imagens de baixa resolução, inclinadas ou com ruído, devido aos seus recursos avançados de pré-processamento de imagem e suporte a multithreading, tornando-o uma solução mais robusta em comparação com o SDK Tesseract.NET.

Quais são os idiomas suportados para OCR com o IronOCR?

O IronOCR suporta 125 idiomas, oferecendo suporte abrangente a diversos projetos de OCR, ao contrário do SDK Tesseract.NET, que suporta apenas 60 idiomas.

O IronOCR pode ser usado em ambientes multiplataforma?

Sim, o IronOCR é compatível com sistemas Windows, Mac e Linux, e pode ser integrado a soluções em nuvem como Azure e Docker, tornando-o versátil para desenvolvimento multiplataforma.

Quais são os métodos de instalação disponíveis para o IronOCR?

O IronOCR pode ser instalado através do Gerenciador de Pacotes NuGet do Visual Studio, usando o Console do Gerenciador de Pacotes NuGet ou por download direto dos sites do NuGet ou da Iron Software.

Como o IronOCR realiza o pré-processamento de imagens?

O IronOCR inclui recursos avançados de pré-processamento de imagem, como correção de distorção e redução de ruído, que melhoram a precisão do OCR preparando as imagens antes da extração do texto.

Quais são as opções de licenciamento para o IronOCR?

O IronOCR oferece diversas opções de licenciamento, como licenças individuais e para equipes de desenvolvedores, com um pagamento único para o plano Lite e atualizações gratuitas por um ano. Também estão disponíveis planos profissionais e ilimitados.

Quais formatos o IronOCR consegue processar?

O IronOCR pode processar vários formatos de entrada, incluindo imagens e PDFs, permitindo a conversão desses formatos em texto ou arquivos PDF pesquisáveis.

Como o IronOCR suporta multithreading?

O IronOCR suporta multithreading, o que permite processar várias tarefas de OCR simultaneamente, melhorando a eficiência e o desempenho em projetos de grande escala.

Quais características fazem do IronOCR a escolha ideal para cenários de imagens complexas?

O IronOCR se destaca no processamento de cenários de imagem complexos com recursos como pré-processamento avançado de imagens, suporte a multithreading e ampla compatibilidade com idiomas, tornando-o a escolha preferida em relação a bibliotecas OCR mais simples.

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