Pergunta

Eu quero meu aplicativo para preenchimento em um único campo de uma forma que existe como um arquivo de imagem em preto-e-branco. A forma sempre começa como a mesma versão papel, mas pelo tempo que o meu aplicação recebe-lo de meus usuários, ele pode ter sido digitalizados ou enviados por fax mais que uma vez. Por causa disso, a I necessidade campo não está no mesmo lugar em cada arquivo.

Meus usuários não sempre obter o formulário em branco de mim, então eu não fazer têm a capacidade de imprimir uma marca ou marcador de posição que eu puder reconhecer mais tarde.

Há um texto no formulário em branco original, mas porque pode foram enviados por fax, só tenho 200 dpi de resolução. O texto é sempre grande o suficiente para um ser humano para ler, mas eu sou cético sobre OCR.

Eu tenho algum orçamento para que eu não precisa de uma solução livre ... vamos apenas dizer $ 2000.

Dito isso, eu estou considerando

  1. Obter uma solução de OCR para encontrar o texto rotular sobre a necessidade de campo eu. eu não acho que tem os recursos ou experiência para roll-meu-próprio. eu não precisam de reconhecimento perfeito, desde que eu já sabe o que o texto diz. Mas eu preciso saber X e Y coordenadas. Existe software que faz isso? Ou é a programação mais fácil do que eu acho?

  2. Construir ou comprar software para reconhecer As bordas da forma. De lá, Eu poderia obter a posição relativa de a necessidade de campo eu. Estou pensando em a linha tracejada meus puts software do scanner ao redor da imagem de um pequeno documento. É que um conhecido algorhthm ou existe uma disponível solução?

  3. Alguns outra maneira de reconhecer o campo I necessidade. As tentativas de google software enchimento forma dá-me centenas de jogos para formulários web, formulários PDF, etc., que não fazem o que eu necessidade.

Eu não sou exigente sobre a linguagem. Meu aplicativo é executado em Linux, mas se a melhor solução é a Microsoft, eu provavelmente pode fazer esse trabalho.

eu apreciaria seus pensamentos.

Foi útil?

Solução

Se bem entendi, a forma é sempre o mesmo, mas pode ser deslocado, em escala, ou ligeiramente girado devido a fotocópia / fax. Nesse caso, o problema é um dos Registro de imagem : encontrar a transformação rígida ideal que faz a forma de uma linha de usuário com seu formulário de "modelo", em que você sabe a localização do campo de interesse. Depois de saber a transformação, você pode calcular a localização do campo no formulário do usuário.

Existem muitos algoritmos de registro de imagem, normalmente desenvolvidos para aplicações como alinhamento MR-imagens do cérebro. Eles são computacionalmente caros e exigem antecedentes estatísticos. Felizmente, o seu caso é mais fácil: tudo que você precisa fazer é encaixar um retângulo ao redor do conteúdo de forma do usuário. Coordenar descida deve funcionar. Você vai precisar de alguma tolerância para ruído (lixo fora do formulário).

Outras dicas

Aqui está um pequeno resumo de algumas soluções de OCR disponíveis (código aberto e não): http://googlesystem.blogspot.com/2007/04/open-source-ocr-software-sponsored-by.html

registro rígido pode não ser suficiente. Os usuários podem modificar o layout e formatação de um formulário modelo, como alterar as fontes, alterar a localização de uma caixa de seleção ou uma caixa de entrada, quebrar um parágrafo em diferentes posições de nova linha, etc. Essas diferenças são mais complicados de lidar do que a pura deslocamento, rotação ou transformação de escala. Além disso, se sua imagem é uma imagem binária (preto e branco), eu não acho que essas imagens médicas algoritmos de registro (que trabalha em escala de cinza) vai ajudar muito. Sua função e de minimização de custo estratégias podem ser alteradas em conformidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top