## VietOCR

### DESCRIÇÃO

VietOCR é um rosto Javapara o motor de OCR Tesseract, fornecendo suporte a reconhecimento de caracteres para formatos comuns de imagem e imagens multi-página. O programa tem pós-processamento, o que ajuda a corrigir erros vulgares encontrados no processo de OCR, aumentando a precisão do resultado. O programa também pode funcionar como aplicação de consola, executado da linha de comandos.

Agora suportado o processamento em lote. O programa observa uma pasta com novas imagens, processando-as automaticamente e imprimindo o resultado do reconhecimento numa pasta de saída.

### REQUISITOS DO SISTEMA

Java Runtime Environment 8 ou posterior. Em Windows, também é requerido o Microsoft Visual C++ v14 Redistributable Package.

### INSTALAÇÃO

O executável Tesseract Windows é fornecido com o programa. pacotes de idioma adicionais do Tesseract, cujos nomes comecem por códigos ISO639-3, devem ser postos na sub-pasta `tessdata`.

Para Linux, o Tesseract e os seus pacotes de idioma estão no repositório Graphics (universe). Podem ser instalados com o Synaptic ou com o comando seguinte:

> `sudo apt-get install tesseract-ocr tesseract-ocr-eng tesseract-ocr-vie`

Os ficheiros serão colocados em `/usr/bin` e `/usr/share/tesseract-ocr/tessdata`, respectivamente. Por outro lado, se o Tesseract for compilado e instalado da fonte, serão colocados em `/usr/local/bin` e `/usr/local/share/tessdata`. Também pode passar a localização ao VietOCR de `tessdata` via variável de ambiente `TESSDATA_PREFIX`:

> `export TESSDATA_PREFIX=/usr/local/share/`

Para outras plataformas, por favor consulte a página da Wiki do Tesseract.

O VietOCR também oferece pacotes de idioma para transferir e instalar via menu Transferir dados de idioma. Dependendo da localização da pasta `tessdata`, poderá ter de executar o programa como administrador ou root para poder instalar as transferências numa pasta do sistema, tal como `/usr` em Linux ou `C:\Program Files` no Windows.

Suporte a digitalização no Windows é fornecido via Windows Image Acquisition Library v2.0.

Em Linux, a digitalização requer a instalação de pacotes SANE:

> `sudo apt-get install libsane sane sane-utils libsane-extras xsane`

Suporte a PDF via POFBox

A verificação ortográfica está disponível via Hunspell, cujos dicionários (`.aff`, `.dic`) devem estar na pasta `dict` do VietOCR. `user.dic` é um ficheiro com codificação UTF-8 que contém uma lista personalizada de palavras, uma palavra por linha.

Em Linux, o Hunspell e seus dicionários podem ser instalados via Synaptic ou `apt`, como segue:

> `sudo apt-get install hunspell hunspell-pt-pt`

### INSTRUÇÕES

Para iniciar o programa:

> `java -jar VietOCR.jar`

Nota: se encontrar uma excepção de falta de memória, execute o script `ocr` em vez do comando java.

Os dados do idioma Vietnamita foram gerados para Times New Roman, Arial, Verdana, e Courier New. Assim, o reconhecimento terá uma melhor taxa de sucesso com imagens com letras semelhantes. O OCR de imagens com imagens das letras parece diferente e as letras suportadas requerem treino do Tesseract para criar outro pacote de idioma específico para essas letras. Os dados de idioma para algumas letras VNI e TCVN3 (ABC) também foram empacotadas nas últimas versões.

Imagens a analisar devem ser digitalizadas pelo menos de 200 DPI (dot per inch) a 400 DPI monocromáticas (preto e branco) ou escala de cinzentos. Digitalizar a resoluções superiores não resulta necessariamente em mais precisão, que pode ser actualmente superior a 97% para Vietnamita. E a próxima versão do Tesseract pode ser ainda melhor. Ainda assim, as taxas reais ainda dependem grandemente da qualidade de imagem digitalizada. As definições típicas de digitalização são de 300 DPI e 1 bpp (bit por pixel) preto e branco ou 8 bpp escala de cinzentos não comprimido em formato TIFF ou PNG.

O modo Capturar ecrã oferece melhores taxas de reconhecimento em imagens de baixa resolução, tais como impressões de ecrã, redefinindo a escala para 300 DPI.

Em complemento ao algoritmo interno de pós-processamento, pode adicionar o seu próprio esquema de substituição de texto via ficheiro de texto delimitado por tabulações e com codificação UTF-8 chamado `x.DangAmbigs.txt`, onde x é o código ISO639-3 do idioma. São suportadas substituições simples e por expressão regular.

Pode pôr parâmetros de controlo init-only e non-init em `tessdata/configs/tess_configs` e `tess_configvars`, respectivamente, para modificar o comportamento do Tesseract.

São fornecidas algumas ferramentas internas para unir várias imagens ou ficheiros PDF, para convenientes operações OCR, ou para dividir um ficheiro TIFF ou PDF em vários mais pequenos, se forem muito grandes, o que poderia causar excepções de falta de memória.

### PÓS-PROCESSAMENTO

Os erros de reconhecimento podem ser geralmente classificados em três categorias. Muitos deles estão relacionados com as maiúsculas — por exemplo: hOa, nhắC — o que pode ser facilmente corrigido com um banal editor Unicode. Muitos outros são resultado do processo OCR, tais como acentos em falta, letras erradas com forma semelhante, etc. — huu – hưu, mang – marg, h0a – hoa, la – 1a, uhìu - nhìn. Estes podem também ser corrigidos com programas de verificação ortográfica. A função interna de pós-processamento ajuda a corrigir muitos dos erros acima mencionados.

A última categoria de erros é a mais difícil de detectar, porque são erros semânticos, o que significa que as palavras são válidas no dicionário, mas estão no contexto errado — e.g., tinh – tình, vân – vấn. Estes erros requerem uma leitura atenta e correcção manual de acordo com a imagem original.

Seguem-se instruções para corrigir os dois primeiros tipos de erro OCR com a funcionalidade interna:

1. Agrupar linhas: as linhas devem estar agrupadas em parágrafos a que pertençam, uma vez que o OCR transforma cada linha num parágrafo. Use Remover quebras de linha sob o menu Formatar. Note que esta operação pode não ser necessária para poemas.
2. Seleccione Alterar maiúsculas, também sob o menu Formatar e escolha Maiúsculas na frase para corrigira a maioria dos erros. Localize e repare os restantes manualmente.
3. Corrija os erros ortográficos com o verificador ortográfico interno.

Durante o processo, conseguem-se eliminar a maioria dos erros comuns. Os restantes, erros semânticos, são poucos, mas requerem edição humana para tornar o documento digitalizado igual ao original.

Se tiver questões, por favor coloque-as no fórum do VietOCR.