OCR para números com fundo cinza ruidoso

7

Eu tentei executar o OCR em várias planilhas digitalizadas com números como esta imagem (todos com o mesmo plano de fundo, apenas dígitos):

Mas todas as tentativas falharam! Eu tentei offline OCRs: gocr, tesseract e alguns on-line OCRs; mas tudo TOTALMENTE falhou!

O que devo fazer?

    
por ItsMe 19.06.2014 / 21:39

3 respostas

8

Primeiro você deve ajustar essas imagens. Eu recomendo uma ferramenta em lote como XnViewMP que é grátis e multiplataforma.

Tem um explorador de arquivos. Selecione todas as suas imagens e vá para Ferramentas - Conversão em lote . Adicione ações como eu fiz:

Aqui estão minhas ações:

  1. HLS - crie tons de cinza:
    • Matiz: 0
    • Leveza: 0
    • Saturação: -127
  2. Níveis - abaixe um pouco o nível de preto para que o ruído cinza desapareça
    • Ponto preto: 0
    • Ponto branco: 212 - pode variar dependendo da imagem
  3. Filtro Reduzir ruído
  4. Ajustar para aumentar o contraste
    • Brilho: 0
    • Contraste: 127 - este importa
    • Gama: 1,06
  5. Mínimo para tornar o preto mais grosso
    • Tamanho do filtro: 5x5 - pode variar dependendo da imagem

Não se esqueça de salvar como tiff (consulte a guia Saída ). Depois disso eu corro tesseract :

tesseract test.tif text -psm 7

Note que selecionei o modo PSM 7: trate a imagem como uma única linha de texto. Se você tiver várias linhas, provavelmente precisará usar o modo 6 ou 3.

E aqui está o conteúdo do arquivo de saída text.txt :

570 394 666 638 043
    
por 19.06.2014 / 22:30
2

Eu tentei reconhecer sua imagem com a tecnologia de OCR da ABBYY :

MaisinformaçõessobreosprodutosdaABBYYvocêpodeencontrarem abbyy.com .
Eu trabalho para a ABBYY e pronto para ajudar, se você tiver dúvidas.

    
por 15.07.2014 / 15:10
0
  import cv2
  import numpy as np
  import pytesseract

  im= cv2.imread('noisyNumbers.png',cv2.IMREAD_GRAYSCALE)

  cv2.imshow('Gray', im)
  cv2.imwrite('noisyNumbers.jpg', im)

  print(pytesseract.image_to_string(Image.open('noisyNumbers.jpg')))
    
por 30.10.2018 / 13:33