Use a matriz fundamental para calcular a tradução de coordenadas usando o OpenCV

Eu estou tentando calcular a correspondência de coordenadas de vários pontos entre duas imagens. Eu tenho um grupo de pontos cujas correspondências são conhecidas, eu as uso com o OpenCVfindFundamentalMatrix() a fim de encontrar a matriz fundamental. Eu verifiquei quex^T * F * x' = (0) para cada ponto, e o resultado é sempre certo ou muito próximo.

A coisa é, agora eu gostaria de usar as coordenadas de um ponto na primeira imagem (y) e a matriz fundamental (F) para encontrar as coordenadas do ponto na segunda imagem (y'). Eu pensei primeiro em simplesmente usar a equação acima, mas dando apenasz doy' ponto, pode haveruma infinidade de soluções.

De que outra forma posso usar a matriz fundamental para calcular as traduções?

Para ser mais claro: conhecendo a matriz fundamental "ligando" duas projeções, como posso usá-la para traduzir as coordenadas de qualquer ponto conhecido?(a, b, 1) da primeira projeção para a segunda projeção?

Considerando que sabemosa, b eF nesta equação: (a ', b ", 1)T * F * (a, b, 1) = (0)

Eu fiz um desenho simples como exemplo:http://i.imgur.com/drNr2.jpg . A ideia é encontrar as coordenadas do ponto vermelho(xq, yq) na projeção 2, considerando que sabemos suas coordenadas na projeção 1 e as de todos os outros pontos em ambas as projeções (e algumas outras, como o algoritmo para encontrar a matriz fundamental realmente requer pelo menos 8 pontos)

Outra precisão: no meu exemplo, os pontos conhecidos são coplanares, mas o ponto pesquisado não será necessariamente.

Espero que isso tenha deixado meu problema mais claro :)

questionAnswers(2)

yourAnswerToTheQuestion