Extraindo quebra de parágrafo do texto OCR?

9

Estou tentando recriar os parágrafos e recuos a partir da saída do texto da imagem com OCR, assim:

Entrada (imagine que esta é uma imagem, não digitada):

Resultado(comalgunserros):

Como você pode ver, nenhuma quebra de parágrafos ou recuos são preservados.

Usando o Python, tentei uma abordagem como essa, mas não funciona (falha com muita frequência):

Código :

def smart_format(text):
  textList = text.split('\n')
  temp = ''

  averageLL = sum([len(line) for line in textList]) / len(textList)

  for line in textList:
    if (line.strip().endswith('!') or line.strip().endswith('.') or line.strip().endswith('?')) and not line.strip().endswith('-'):
      if averageLL - len(line) > 7:
        temp += '{{ paragraph }}' + line + '\n'
      else:
        temp += line + '\n'
    else:
      temp += line + '\n'

  return temp.replace(' -\n', '').replace('-\n', '').replace(' \n', '').replace('\n', ' ').replace('{{ paragraph }}', '\n\n      ')

Alguém tem alguma sugestão de como eu poderia recriar esse layout? Eu estou trabalhando com livros antigos, então eu esperava redetilizá-los com o LaTeX, já que é bem simples criar um script Python para fazer isso.

Obrigado!

    
por Blender 08.05.2011 в 06:20
fonte

2 respostas

3

Você pode dividir a imagem em vários parágrafos observando a entropia de cada fatia horizontal de 5-10 pixels.

Isso significa que você divide a imagem em várias faixas horizontais, cada uma com 5 a 10 pixels de altura. Se uma faixa não estiver "ocupada", você pode presumir que não há texto nela. Você pode usar isso para isolar parágrafos. Agora, você pega cada parágrafo individualmente e insere no seu OCR.

    
por Nick ODell 08.05.2011 / 06:31
fonte
0

Você poderia tentar dizer se a primeira palavra em uma linha poderia se encaixar facilmente na linha anterior, indicando uma nova linha intencional, em vez de simplesmente procurar por linhas curtas. Além disso (e prestando muita atenção à pontuação como você está fazendo no seu exemplo), eu acho que a única outra opção é voltar para as imagens originais.

    
por Mu Mind 08.05.2011 / 07:00
fonte