-
Notifications
You must be signed in to change notification settings - Fork 2
calculaMediaVarianciaHSV
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.
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.
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).