![]() |
![]() |
|||||
1. Representação de Prof. Aldo von Wangenheim |
no Espaço de Valor
|
![]() |
![]() |
Alguns Exemplos
Com técnicas simples
de segmentação como a Limiarização ( Thresholding)
seguida de algumas operações matemáticas simples,
você já pode fazer muitas coisas.
Vamos aqui abaixo exemplificar
uma seqüência de operações onde o objetivo é
o de identificar onde estão os carros em um semáforo. Suponha
que isto sej aparte de uma aplicação hipotética onde
um sistema automatizado identifica as placas dos veículos que cruzam
o sinal fechado.
Poderíamos postular um algoritmo hipotético de altíssimo nível da seguinte forma:
As outras etapas, identificar onde está a placa no carro e ler os números da placa já são mais complexas, mas ficam bem mais simples se o espaço de busca é somente o carro e não a imagem como um todo. Mais adiante neste curso vamos ver também como se resolve estes problemas.
A Imagem: Suponha que os
carros que você está vendo nesta imagem estão "furando"
o sinal e foram fotografados por uma câmara postada na beira da rua.
Como fazemos para identificar os carros na imagem?
Podemos partir do princípio
que a câmera está funcionado o tempo todo e tem a capacidade
de tirar fotos da rua quando está vazia:
Se partirmos dessa premissa: Vamos sempre ter uma foto tirada em condições de luminosidade, sujeira na rua e tempo muito semelhantes ao "flagrante" que nos interesse, podemos dizer o seguinte: "carro é tudo aquilo na imagem que não estava lá antes".
Se partimos dessa afirmativa um tanto filosófica e tentamos implementá-la na prática, podemos afirmar que a diferença entre as duas imagens representa os carros.
Isto pode ser facilmente
calculado através da diferença absoluta entre as duas
imagens. Para facilitar a nossa vida, vamos converter as imagesn acima
para P&B antes de iniciar.
Veja agora o cálculo
da diferença absoluta:
Esta diferença absoluta,
que nada mais é que a subtração das duas imagens
convertida para valores absolutos, como pode ser visto, não
representa bem o que queremos ver, mas sim os valores de pixel resultantes
de calcularmos o quanto cada pixel variou de uma foto para a outra. As
imagens parecem fantasmas porque seus valores refletem tanto o que estava
representado em uma imagem como o que estava na outra. À esquerda
por exemplo, vemos um "fantasma" do carro que estava estacionado na calçada.
Como fazemos para retirar este efeito ?
É aqui que a limiarização
entra em jogo: Vamos usar esta imagem de diferenças acima
como uma máscara para obter os pixels originais da imagem que contém
os carros. Para isso vamos aplicar uma limiarizacão sobre a imagem
de diferenças para gerar a máscara:
Neste caso acima utilizamos
um valor bastante sensível: 20. Isto significa que todos os píxeis
com valor acima de 20, significando que diferença resultante entre
as duas imagens originais naquele ponto era maior ou igual a 20, foram
transformados para branco. Assim criamos uma máscara binária,
com comente dois valores de pixel: 1 para branco e 0 para preto. Observe
que este valor sensível trouxe um monte de lixo para a máscara.
Mesmo assim, ela representa bem a área onde "há carros".
Esta máscara possui
propriedades matemáticas interessantes. Podemos utilizá-la
para multiplicar a imagem original contendo os carros e gerar uma nova
imagem:
Nesta imagem resultante,
todo pixel multiplicado por 1 (um pixel membro da máscara) produziu
um pixel resultante de igual valor. Todo pixel multiplicado por 0 foi substituído
por 0 na imagem resultante. Assim obtemos uma imagem com os pixeis originais
onde a diferença foi maior do que o limiar estabelecido por nós
e preto onde essa diferença esteve abaixo. A imagem acima foi filtrada
para eliminar os resíduos de pequeno tamanho. Como fazer isto você
vai aprender mais tarde.
Testando você mesmo
No link abaixo você vai encontrar um Workspace com a seqüência de operadores utilizada.
Contato:
Tel.: +55-48-331 7552/9498 |