Optical Flow class in opencv (CalcOpticalFlowPyrLK) parameters

Eu tenho uma pergunta sobre dois parâmetros na class CalcOpticalFlowPyrLK (). Aqui está o link da documentação:

http://docs.opencv.org/trunk/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=calcopticalflowpyrlk#cv2.calcOpticalFlowPyrLK

O primeiro parâmetro é o ” err “. Na documentação, isso é definido como o erro de rastreamento de seu recurso, mas eles não fornecem detalhes. Erro em relação a quê?

Em segundo lugar o parâmetro “status” .Eles definem como o estado se uma característica correspondente é encontrada (1) ou não (0). Eu tenho casos em que o erro do rastreamento de um recurso específico é baixo e o status é “não encontrado = 0” para esse recurso. Também tenho o caso oposto.

Existe alguma conexão entre os dois? Eu tento detectar o piscar dos olhos.Obviamente, o recurso que eu tenho na córnea do olho (reflexos) não estão lá quando o olho está fechado.Mas, ainda para este quadro, o estado permanece 1 (encontrado), mas o erro explode. Por exemplo, eu tenho o frame t e tento rastrear o recurso no frame t + 1.No frame t todos os resources estão lá.No frame t + 1 os resources sumiram (piscar os olhos), mas o status ainda é 1.

A conexão desses dois valores é que você primeiro precisa verificar a matriz de status. A matriz de status diz se um ponto de recurso foi encontrado ou não. Esta “verificação” tem uma prioridade mais alta que o erro. A documentação diz: “se o stream não foi encontrado, o erro não está definido”. Mas a memory tem que ser alocada de qualquer maneira para manter as correspondências de índice. Em C ++ você tem que iniciar os valores, se isso não acontecer, haverá algum valor random. Então eu acho que o OpenCV não preenche o array com zeros ou algo assim antes. Então é por isso que pode acontecer que o erro seja realmente pequeno, mas não existe um bit de status!

Aqui está alguma explicação de como o método Lucas-Kanada funciona.

Quando eu estava implementando o Optical Flow no OpenCV, encontrei este link legal.

Também o livro Mastering OpenCV com Practical Computer Vision Projects tem um capítulo útil sobre isso.