Skip to content

calculaMediaVarianciaHSV

Mateus de Assis Silva edited this page Apr 13, 2020 · 25 revisions

Introdução

Até antes da existência do reconhecimento via proximidade de cor, o Zebtrack reconhecia os peixes ao localizar os blobs e associá-los com os indivíduos mais próximos. De forma a refinar essa associação, utilizava-se uma "previsão" da posição dos peixes no próximo momento. Isso é passível de falha, pois os animais podem se movimentar de forma a confundir o software.

Assim se torna necessário uma forma de diferenciar os animais. Utilizaremos um critério de cor.

Critério de cor: médias e variâncias

Ora, apesar de ser interessante utilizarmos cor pra diferenciar indivíduos (principalmente quando os animais têm cores muito distintas, como azul e vermelho), muitos fatores podem influenciar a leitura da imagem efeituada pela câmera. Isso faz com que os valores de cores lidos pelo software variem.

 % resultados perfeitos assim não existem
> peixe1.cor
        r,g,b = [255, 0, 0]

> peixe2.cor
        r,g,b = [0, 0, 255]

A solução para lidar com valores que variam aleatoriamente é utilizar um método estatístico. Ao computarmos as médias e variâncias das cores, para cada peixe, capturamos o comportamento aleatório das leituras.

Como usar

O usuário define um intervalo de tempo (através das variáveis tempo_final e tempo_inicial), no qual, de preferência, os peixes estejam bastante separados espacialmente. o código contido em calculaMediaVarianciaHSV.m processa os quadros e retorna os vetores de média e variância de cor (relativas a cada animal).

Como funciona