Treinamento de Fontes Personalizadas para Melhorar a Leitura de Texto com IronOCR no Windows
O treinamento de fontes personalizadas no Tesseract 5 melhora a precisão ao converter imagem em texto para fontes específicas. O processo cria dados de treinamento que ensinam ao mecanismo as características da fonte. O arquivo .traineddata resultante funciona com IronOCR para reconhecimento óptico de caracteres em fontes decorativas ou especiais com precisão.
Início rápido: Use seu arquivo de fonte .traineddata em C#
Utilize seu arquivo de fonte Tesseract personalizado no IronOCR com apenas algumas linhas de código. Ideal para OCR preciso em fontes especiais ou decorativas.
-
Instale IronOCR com o Gerenciador de Pacotes NuGet
PM > Install-Package IronOcr -
Copie e execute este trecho de código.
var ocr = new IronOcr.IronTesseract(); ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata"); string text = ocr.Read(new IronOcr.OcrInput("image-with-special-font.png")).Text; -
Implante para testar em seu ambiente de produção.
Comece a usar IronOCR em seu projeto hoje com uma avaliação gratuita
- Baixe uma biblioteca C# para treinar fontes personalizadas.
- Prepare o arquivo de fonte de destino para treinamento.
- Siga os passos descritos neste artigo.
- Aplique soluções para erros comuns.
- Exporte o arquivo de dados treinados.
Como faço para baixar a versão mais recente do IronOCR?
Qual método de instalação devo usar?
Baixe o arquivo DLL do IronOcr diretamente para o seu computador.
Por que usar o NuGet em vez disso?
Alternativamente, instale através do NuGet com este comando:
Install-Package IronOcr
O IronOCR oferece suporte abrangente aos recursos do Tesseract 5 e implementações de idiomas personalizados , tornando-o ideal para requisitos de OCR especializados.
Como faço para instalar e configurar o WSL2 e o Ubuntu?
Consulte o tutorial sobre como configurar o WSL2 e o Ubuntu .
O treinamento requer Linux, mas os arquivos .traineddata resultantes funcionam perfeitamente em todas as plataformas. Para obter instruções detalhadas de configuração do Linux, consulte nosso guia de implantação do Linux .
Como faço para instalar o Tesseract 5 no Ubuntu?
Utilize estes comandos para instalar o Tesseract 5:
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
Esses pacotes fornecem o mecanismo principal de OCR Tesseract e as bibliotecas de desenvolvimento necessárias para o treinamento. Para opções avançadas de configuração do Tesseract, consulte nosso guia de configuração detalhado .
Qual fonte devo baixar para treinamento?
Este tutorial utiliza a fonte AMGDT. O arquivo de fonte pode ser .ttf ou .otf. 
Ao selecionar fontes para treinamento:
- Escolha fontes que sejam significativamente diferentes dos modelos padrão do Tesseract.
- Garantir o licenciamento adequado da fonte
- Considere fontes decorativas, manuscritas ou especializadas para o setor.
- Teste com as fontes que seu aplicativo encontra em produção.
Como faço para montar a unidade de disco para treinamento de fontes personalizadas?
Use estes comandos para montar o Drive D: como seu espaço de trabalho:
cd /
cd /mnt/d
cd /
cd /mnt/d
Isso permite que você trabalhe com arquivos armazenados em unidades Windows diretamente do ambiente Ubuntu WSL2.
Como faço para copiar o arquivo de fonte para a pasta de fontes do Ubuntu?
Copie o arquivo de fonte para estes diretórios do Ubuntu: /usr/share/fonts e /usr/local/share/fonts.
Acesse arquivos no Ubuntu digitando \\wsl$ na barra de endereços do explorador de arquivos.

E se eu receber a mensagem "Acesso à pasta de destino negado"?
Se você encontrar erros de acesso negado, use a linha de comando para copiar os arquivos:
cd /
su root
cd /c/Users/Admin/Downloads/'AMGDT Regular'
cp 'AMGDT Regular.ttf' /usr/share/fonts
cp 'AMGDT Regular.ttf' /usr/local/share/fonts
exit
cd /
su root
cd /c/Users/Admin/Downloads/'AMGDT Regular'
cp 'AMGDT Regular.ttf' /usr/share/fonts
cp 'AMGDT Regular.ttf' /usr/local/share/fonts
exit
A instalação de fontes é crucial para o processo de treinamento. O sistema precisa de acesso para renderizar a fonte ao gerar imagens de treinamento.
Como faço para clonar tesseract_tutorial do GitHub?
Clone o repositório tesseract_tutorial usando este comando:
git clone https://github.com/astutejoe/tesseract_tutorial.git
git clone https://github.com/astutejoe/tesseract_tutorial.git
Este repositório contém scripts Python essenciais e arquivos de configuração para o processo de treinamento. Os scripts automatizam muitas etapas manuais no treinamento de fontes.
Como faço para clonar tesstrain e tesseract do GitHub?
Navegue até o diretório tesseract_tutorial, então clone os repositórios tesstrain e tesseract:
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
git clone https://github.com/tesseract-ocr/tesstrain
git clone https://github.com/tesseract-ocr/tesseract
tesstraincontém o Makefile usado para criar o arquivo.traineddatatesseractcontém a pasta tessdata com arquivos originais.traineddatausados como referências durante o treinamento de fontes personalizadas
Para obter mais informações sobre como trabalhar com vários pacotes de idiomas e dados de treinamento personalizados, consulte nosso guia de idiomas internacionais .
Como faço para criar uma pasta "dados" para armazenar os resultados?
Crie uma pasta de dados dentro de tesseract_tutorial/tesstrain:
mkdir tesseract_tutorial/tesstrain/data
mkdir tesseract_tutorial/tesstrain/data
Esta pasta armazena todos os arquivos de treinamento gerados, incluindo arquivos .box, .tif e artefatos de treinamento intermediários.
Como eu executo split_training_text.py?
Retorne à pasta tesseract_tutorial e execute este comando:
python split_training_text.py
python split_training_text.py
Após executar split_training_text.py, ele cria arquivos .box e .tif na pasta de dados.
Como faço para corrigir o aviso do Fontconfig?
Se você vir o aviso Fontconfig warning: "/tmp/fonts.conf, line 4: empty font directory name ignored", isso indica diretórios de fontes ausentes. Corrija isso editando o arquivo tesseract_tutorial/fonts.conf e adicionando:
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>~/.fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>~/.fonts</dir>
Copie-o para /etc/fonts com:
cp fonts.conf /etc/fonts
cp fonts.conf /etc/fonts
Além disso, atualize split_training_text.py:
fontconf_dir = '/etc/fonts'
fontconf_dir = '/etc/fonts'
Quantos arquivos de treinamento devo gerar?
A configuração atual gera 100 arquivos de treinamento. Você pode modificar isso em split_training_text.py.

Para treinamento com qualidade de produção: Comece com 100 a 500 amostras para teste.
- Utilize de 1000 a 5000 amostras para obter maior precisão.
- Inclua diversos exemplos de texto que abranjam todos os caracteres necessários.
- Equilibrar o tempo de treinamento com os requisitos de precisão
Onde eu baixo eng.traineddata?
Baixe eng.traineddata deste repositório e coloque-o em tesseract_tutorial/tesseract/tessdata.
O modelo base fornece contexto linguístico que melhora a precisão do reconhecimento. Escolha um modelo base que corresponda ao seu idioma de destino. Para solucionar problemas com pacotes de idiomas personalizados, consulte nosso guia de pacotes de idiomas OCR personalizados .
Como eu crio minha fonte personalizada .traineddata?
Navegue até a pasta tesstrain e use este comando no WSL2:
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100
MODEL_NAMEé o nome da sua fonte personalizadaSTART_MODELé a referência original.traineddataMAX_ITERATIONSdefine o número de iterações (mais iterações melhoram a precisão)
O que acontece se eu receber a mensagem "Falha ao ler os dados" no Makefile?
Para resolver problemas de "Falha ao ler dados", modifique o Makefile:
WORDLIST_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-word-dawg
NUMBERS_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-number-dawg
PUNC_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-punc-dawg
Essa modificação garante que o Makefile procure arquivos na estrutura de diretórios de saída correta.
Como faço para corrigir o erro "Falha ao carregar o script Unicharset"?
Insira Latin.unicharset na pasta tesstrain/data/langdata. Encontre Latin.unicharset aqui.
O arquivo unicharset define o conjunto de caracteres para seu idioma ou alfabeto. Certifique-se de que corresponda à cobertura de caracteres da sua fonte.
Como eu verifico a precisão do .traineddata criado?
Com 1000 .box e .tif arquivos e 3000 iterações de treinamento, a saída AMGDT.traineddata atinge uma taxa de erro de treinamento mínima (BCER) de cerca de 5,77%.

Para testar seu modelo treinado com o IronOCR:
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize IronOCR with custom trained data
var ocr = new IronTesseract();
// Load your custom trained font
ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata");
// Configure for optimal results
ocr.Configuration.BlackListCharacters = "";
ocr.Configuration.WhiteListCharacters = "";
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Process an image with your custom font
using var input = new OcrInput();
input.LoadImage("test-image-with-amgdt-font.png");
// Optional: Apply filters if needed
input.EnhanceResolution(300);
input.DeNoise();
// Perform OCR
var result = ocr.Read(input);
Console.WriteLine($"Recognized Text: {result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
Imports IronOcr
' Initialize IronOCR with custom trained data
Dim ocr As New IronTesseract()
' Load your custom trained font
ocr.UseCustomTesseractLanguageFile("path\to\AMGDT.traineddata")
' Configure for optimal results
ocr.Configuration.BlackListCharacters = ""
ocr.Configuration.WhiteListCharacters = ""
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Process an image with your custom font
Using input As New OcrInput()
input.LoadImage("test-image-with-amgdt-font.png")
' Optional: Apply filters if needed
input.EnhanceResolution(300)
input.DeNoise()
' Perform OCR
Dim result = ocr.Read(input)
Console.WriteLine($"Recognized Text: {result.Text}")
Console.WriteLine($"Confidence: {result.Confidence}%")
End Using
Para implementar fontes personalizadas em aplicações de produção, consulte nosso guia sobre como usar arquivos de idioma personalizados .
Para mais informações e consulta, veja o tutorial: Vídeo do YouTube
Perguntas frequentes
Como faço para usar um arquivo de fonte personalizado em C#?
Você pode usar seu arquivo de fonte Tesseract personalizado no IronOCR com apenas algumas linhas de código. Basta criar uma instância do IronTesseract, chamar o método UseCustomTesseractLanguageFile() com o caminho para o seu arquivo .traineddata e, em seguida, usar o método Read() para realizar o OCR em imagens que contenham sua fonte personalizada.
Quais são os requisitos para o treinamento de fontes personalizadas para OCR?
O treinamento de fontes personalizadas requer um ambiente Linux (WSL2 com Ubuntu é recomendado para usuários do Windows), o Tesseract 5 instalado com as bibliotecas de desenvolvimento e o arquivo da fonte que você deseja treinar (no formato .ttf ou .otf). Os arquivos .traineddata resultantes, criados no Linux, funcionam perfeitamente com o IronOCR em todas as plataformas.
Por que devo treinar fontes personalizadas em vez de usar o OCR padrão?
O treinamento de fontes personalizadas melhora a precisão do OCR para fontes específicas, especialmente fontes decorativas ou especiais que diferem significativamente dos modelos padrão do Tesseract. O IronOCR pode então usar esses arquivos de fontes treinados para reconhecer com precisão o texto em imagens que contêm essas fontes exclusivas, que seriam difíceis de ler com modelos de OCR padrão.
Posso usar fontes personalizadas em diferentes plataformas?
Sim, embora o processo de treinamento exija Linux, os arquivos .traineddata resultantes funcionam perfeitamente em todas as plataformas com o IronOCR. Isso significa que você pode treinar uma vez no Linux e usar o arquivo de dados treinado em implantações do Windows, macOS ou Linux.
Qual método de instalação é recomendado para começar?
Para uma configuração rápida, você pode baixar a DLL do IronOCR diretamente ou instalá-la através do Gerenciador de Pacotes NuGet. O NuGet é recomendado, pois gerencia as dependências automaticamente e facilita as atualizações. O IronOCR oferece suporte completo aos recursos do Tesseract 5 e implementações de idiomas personalizados.

