Reconhecer texto de uma imagem usando componente do Microsoft Office (OCR)

Postado por Paulo Brito em 26 de Junho de 2010  •  Comentários (0)  • 

Uma solução para reconhecer caracters, texto que estão em formato de imagem

Para usar esse componente você precisa ter o Microsoft Office 2007 ou 2003 instalado.
Feito isso, você deve ir em:
Painel de controle->Adicionar ou remover programas

Localize a instalação do Oficce, após selecionar click em "Alterar" e depois em "Adicionar ou Remover recursos". Agora você verá uma lista, selecione o primeiro "Ferramentas do Oficce" e instale o "Microsoft Office Document Imaging"

Pronto, a primeira parte está feita. Agora abra o Delphi e procure la em cima na barra de menus o menu "Component" -> "Import Active X Control". Uma lista irá aparecer com vários itens, procure pelo "Microsoft Office Document Imaging" e instale o compoenente.

Depois de instalado o componente vai estar dentro da aba "ActiveX" pronto para uso, o nome do componenet é MiDocView.

Utilize os seguintes users:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, ExtDlgs, MODI_TLB, ComObj, jpeg;

Agora vamos ao nosso programa. O programa vai usar a função abaixo JP_OCR para converter uma imagem em texto. O único parâmetro dessa função é o caminho da imagem.

Para usa basta por exemplo fazer:
edit1.text := JP_OCR('c:imagem.jpg');

Com esse comando a função vai tentar ler os caracteres que estão no arquivo IMAGE.JPG.

function JP_OCR(ARQUIVO: STRING): STRING;
var
midoc,miword: OleVariant;
s: string;
i: integer;
begin
midoc := CreateOleObject('MODI.Document');
midoc.create(ARQUIVO);
midoc.images[0].ocr(22,0,0);
s := '';
for i := 0 to midoc.images[0].layout.words.count-1 do
begin
miword := midoc.images[0].layout.words[i];
s := s+' '+miword.text;
end;
result := s;
end;

Tags: Delphi |

  • Download
  • Comentar
  • Comentários
blog comments powered by Disqus

Comentários ir para topo

Código fonte ir para topo