[Cascavel-pm] [Spam] OCR

Rafael Magalhães rafaelmagalhaes em gmail.com
Quarta Junho 20 21:05:02 PDT 2007


André,

Noiteeee (festa junina é bom mesmo, quem não gosta? heheh),

Fiz as modificações que você me passou e vou postar aqui as diferenças:

Da maneira que tinha feito antes:

____________
Código:

#!/usr/bin/perl -w

use OCR::PerfectCR;
use GD;

my $recognizer = OCR::PerfectCR->new;
$recognizer->load_charmap_file("charmap");
my $image = GD::Image->new("placa.jpg") or die "Can't open example.png: $!";
my $string = $recognizer->recognize($image);
$recognizer->save_charmap_file("charmap");
Retorno:

Background color at index 21 [240 239 221]
Finding bounds starting at 0
Character at (0, 0)-(144, 45)
Finding bounds starting at 144
____________


Da maneira que você sugeriu:

____________
Código:


#! /usr/bin/perl -w

use strict;
use OCR::PerfectCR;
use GD;
use Data::Dumper;

my $recognizer = OCR::PerfectCR->new;
$recognizer->load_charmap_file("charmap");
my $image = GD::Image->new("viewImageMagic.jfif") or die "Can't open
example.png: $!";
my $string = $recognizer->recognize($image);
print Dumper $string;

$recognizer->save_charmap_file("charmap");

Retorno:

Background color at index 21 [240 239 221]
Finding bounds starting at 0
Character at (0, 0)-(144, 45)
Finding bounds starting at 144
$VAR1 = "\x{fffd}";
____________


O que pode estar dando errado?

Obrigado pela atenção e tenha otimas festas juninas, julhinhas, agostinas e
todos os meses inas!!!! hehehe

Em 20/06/07, André Garcia Carneiro <andre.garcia.carneir em terra.com.br>
escreveu:
>
>
>
> Eu dei um
>
> > Boa tarde,
>
> Taarde!(desculpe, estou no modo de festas juninas, adoro essas coisas) :D
>
> > Sou novo na lista, e depois de alguns anos estudando outras linguagens
> (ASP,
> > PHP, Java e .NET), encontrei um problema e por incentivo de um amigo que
> é
> > membro aqui da lista, resolvi voltar a estudar Perl.
>
> Sábia decisão
>
> > Estou fazendo um trabalho na faculdade e o nosso objeto de estudo é uma
> rede
> > de estacionamentos que pretende modernizar a entrada e saída de seus
> > clientes que pagam mensalmente. Basicamente teriamos uma camera
> posicionada,
> > de forma que foque na placa do veículo e quando chegar até a cancela,
> > registre uma foto e o sistema irá ler o numero da placa e verificar no
> banco
> > de dados se o cliente está em dias com as mensalidades, caso ele esteja,
> > libera a entrada / saída, caso contrário emite um aviso ao sistema para
> > lembrar ao cliente sobre o pagamento.
> >
> > Pensei em desenvolver com Java, existe umas bibliotecas pra isso, mas só
> > conheço bibliotecas pagas e como é um projeto acadêmico, preciso de algo
> > free e que funcione de verdade.
>
> É o que costuma acontecer quando se desenvolve com ASP e .NET...JAVA de
> vez em quando...
>
> > Bem, voltei a estudar Perl e instalei o modulo "OCR::PerfectCR",
> encontrei
> > no CPAN. Infelizmente não encontrei muita documentação sobre ele e o
> máximo
> > que consegui foi executar o unico exemplo, que pegou a foto da placa que
> > testei no exemplo, extraiu todos os caracteres e salvou uma imagem com
> cada
> > um dos caracteres.
> >
> > O que quero é conseguir pegar esse texto e armazenar em uma variável
> para
> > que eu possa passar como parametro e checar em meu banco de dados, a
> > situação daquele veículo.
>
> Hum... não cheguei a testar o código de exemplo que você testou, mas li a
> documentação disponível, e o que mais
> me chamou a atenção foi isso:
>
> Takes the image (a GD::Image object), and tries to convert it into text.
> In list context, returns a list of
> hashrefs, each having a str key, whose value is the string in the charmap
> for that image.
>
> Logo, penso que de alguma forma deve ter um texto em alguma referência
> para hash que tem a informação que você
> quer. Sugiro que você use Data::Dumper nessas variáveis para verificar
> seus valores. Como não tive tempo de
> testar o seu código, e mesmo que tivesse, não posso testar isso no meu
> trabalho, é o que eu posso fazer por
> você por enquanto, peço que me desculpe.
>
> O teste seria algo do tipo
>
> <code>
> #! /usr/bin/perl -w
>
> use strict; #Não se esqueça disso. Salvará a sua vida, pode acreditar!
> use OCR::PerfectCR;
> use GD;
> use Data::Dumper;
>
> my $recognizer = OCR::PerfectCR->new;
> $recognizer->load_charmap_file("charmap");
> my $image = GD::Image->new("placa.jpg") or die "Can't open example.png:
> $!";
> my $string = $recognizer->recognize($image);
>
> print Dumper $string; # Não sei se é aqui que ele vai jogar o texto, pelo
> exemplo é o que parece... É bem
> provável que você ache sua string aqui. Pela documentação, ele vai criar
> uma lista de hashrefs, no contexto de
> lista, pelo que eu entendi...
>
> $recognizer->save_charmap_file("charmap");
>
> </code>
>
> Se alguém testar esse código, por favor poste na lista o resultado, por
> gentileza. Fiquei curioso se funciona...
>
>
>
> Cheers!
>
> > O código abaixo é o que eu usei do exemplo do CPAN:
> >
> > ___________________________________________________
> > #!/usr/bin/perl -w
> >
> > use OCR::PerfectCR;
> > use GD;
> >
> > my $recognizer = OCR::PerfectCR->new;
> > $recognizer->load_charmap_file("charmap");
> > my $image = GD::Image->new("placa.jpg") or die "Can't open example.png:
> $!";
> > my $string = $recognizer->recognize($image);
> > $recognizer->save_charmap_file("charmap");
> > ___________________________________________________
> >
> > Será que alguem pode me ajudar a resolver este problema? Um exemplo que
> eu
> > consiga capturar os caracteres na minha variável?
> >
> > Fico grato pela atenção de todos,
> >
> >
> > Atenciosamente,
> > Rafael Magalhães
> >
> > E-mail classificado pelo Identificador de Spam Inteligente Terra.
> > Para alterar a categoria classificada, visite
> >
>
> http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=andre.garcia.carneir&_l=1,1182365641.515645.15733.tacamaca.hst.terra.com.br,8874,20031127114101,20031127114101
> >
> > Esta mensagem foi verificada pelo E-mail Protegido Terra.
> > Scan engine: McAfee VirusScan / Atualizado em 20/06/2007 / Versão:
> 5.1.00/5057
> > Proteja o seu e-mail Terra: http://mail.terra.com.br/
> >
> >
>
> --
> André Garcia Carneiro
> Developer(Perl/PHP)
> Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070621/9d827dec/attachment.html 


Mais detalhes sobre a lista de discussão Cascavel-pm