[firebase-br] Problema com Imagens

Sandro Souza escovadordebits em gmail.com
Qui Dez 20 23:01:36 -03 2012


Desculpem, acabei clicando no botão de enviar por acidente antes de
terminar a última frase.

Eu só queria dizer que preferi fazer tudo "na mão" para realmente aprender
sobre esse assunto e não ter dependência de bibliotecas de terceiros.

Também pelo prazer de fazer eu mesmo.

Henrique, como esse assunto é para lá de offtopic, caso queira trocar
informações, envie-me emails para esse meu email, ou seja, em particular.

Desculpem os quilos de texto.

Espero ter ajudado mais que atrapalhado. :D
No dia 20 de Dez de 2012 21:54, "Sandro Souza" <escovadordebits em gmail.com>
escreveu:

> Bom dia/tarde/noite Henrique.
>
> Nobre amigo, estou me aventurando na área de reconhecimento facial, em
> Delphi 7 mesmo.
>
> Ainda não terminei meu protótipo, mas devo terminar nessa semana ainda.
>
> Resolvi não utilizar bibliotecas de terceiros e fazendo tudo "na mão" eu
> mesmo, ou seja, nadando contra a maré, no estilo kamikaze.
>
> Está sendo realmente prazeroso esse desafio, e posso já te adiantar
> algumas dicas.
>
> Não precisa redimensionar a imagem para 800 x 600. Eu mesmo já estou
> obtendo bons resultados com as imagens geradas pela webcam do meu notebook,
> com 640 x 480 e 24 bits de cores, ou seja, true color.
>
> Realmente facilita muito converter as imagens em escala de cinza, pois se
> a imagem for colorida, você terá que trabalhar com as 3 componentes das
> cores, ou seja, o padrão RGB ([R]ed = vermelho, [G]reen = verde e [B]lue =
> azul), enquanto que combinando essas 3 cores básicas, você terá um único
> valor para cada pixel (ponto) da imagem, o que vai facilitar muito o resto
> das operações.
>
> Tendo a imagem já convertida em escala de cinza, irá para o segundo passo
> que é melhorar a qualidade dessa imagem, que é feito através do cálculo de
> histograma de cores, ou seja, percorrer todos os pontos da imagem, contando
> quantas vezes aparecem pontos com valor/intensidade/brilho zero (preto
> absoluto), quantas vezes aparecem pontos com valor 1, ..., até chegar ao
> último nível de brilho (255 = branco absoluto).
>
> Com base nesse histograma, você saberá qual é a primeira intensidade que
> aparece e a última.
>
> Se a primeira intensidade não for zero e/ou a última não for 255,
> significa que a imagem não está utilizando TODA a escala de 256 tons de
> cinza, e nesse caso, você deve otimizar essa imagem convertendo cada um dos
> valores, utilizando uma regra de 3 simples, ou seja: Se o menor valor for
> 10 e o maior valor for 20, então um valor 10 (menor) vai se tornar zero, um
> valor 20 (maior) vai se tornar 255, e um valor 5 vai se tornar 127, por
> exemplo.
>
> No final desse passo, você vai ter uma imagem de melhor qualidade que te
> permite ver detalhes que você não via na anterior.
>
> Todas essas operações são chamadas de filtro, ou seja, cada filtro é
> apenas uma rotina que transforma uma imagem em outra.
>
> Um dos filtros que eu implementei e estou vendo que trará excelentes
> resultados é o filtro chamado "emboss".
>
> Essa rotina faz um cálculo envolvendo os 8 pontos vizinhos de cada ponto
> para detectar mudanças bruscas de brilho, e o resultado final é uma imagem
> que exibe apenas os contornos dos objetos e das áreas em alto ou baixo
> relevo.
>
> Isso aplicado em uma imagem de placa de carro mostra todo os contornos das
> letras e números, o que é simplesmente fantástico para o reconhecimento dos
> mesmos (OCR).
>
> Nos meus testes, vejo que esse filtro também facilita, e muito, o
> reconhecimento facial.
>
> Faço tudo com o próprio componente TImage do Delphi. Se a imagem for um
> bitmap de 24 bits de cores (truecolor), você conseguirá acessar diretamente
> cada pixel da imagem diretamente, sem ter que usar a propriedade Pixels do
> Canvas do bitmap. A diferença de velocidade é grande.
>
> Se você quiser usar alguma biblioteca de terceiros, eu te indico a opencv
> que tem de tudo, inclusive a parte de reconhecimento facial. Acredito que
> ela também sirva para criar OCRs sem problema, e além disso é free. :)
>
> Estou fazendo
> No dia 20 de Dez de 2012 08:20, "Henrique Angerame | Riccol Informática" <
> henrique em riccol.com.br> escreveu:
>
>> Olá Pessoal tudo bem?
>>
>> Estou tentando montar um OCR para escanear placas de veículos.
>>
>> Achei um tutorial usando o OCR do Windows, o problema que não funciona
>> muito
>> bem.
>>
>> Muitas pessoas falaram que tem que transformar a imagem em 800 x 600 e em
>> PB
>> ou tons de cinza.
>>
>> Alguém ai sabe como posso manipular uma imagem no Delphi 7 ou cs2?
>>
>>
>>
>>
>>
>> Att.
>>
>>
>>
>> Henrique Angerame
>>
>> Programador - Delphi
>>
>>
>>
>> RICCOL Soluções em T.I. -  <http://www.riccol.com.br> www.riccol.com.br
>>
>> Sistemas de Gestão e Controle Empresarial - Assistência Técnica - Redes
>>
>> (Telefone: (19) 3308-8838
>>
>> *E-mail:  <mailto:mateus.ricci em riccol.com.br> henrique em riccol.com.br
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>



Mais detalhes sobre a lista de discussão lista