Como usar corretamente cv :: triangulatePoints ()
Estou tentando triangular alguns pontos com o OpenCV e encontrei estecv::triangulatePoints()
função. O problema é que quase não há documentação ou exemplos dela.
Eu tenho algumas dúvidas sobre isso.
Qual método ele usa? Eu fiz uma pequena pesquisa sobre triangulações e existem vários métodos (Linear, Linear LS, eigen, LS iterativo, iterativo eigen, ...) mas não consigo encontrar qual deles está usando no OpenCV.
Como devo usá-lo? Parece que, como entrada, precisa de uma matriz de projeção e3xN homogêneo2D pontos. Eu tenho eles definidos comostd::vector<cv::Point3d> pnts
, mas como uma saída que precisa4xN matrizes e, obviamente, eu não posso criar umstd::vector<cv::Point4d>
porque não existe, então como devo definir o vetor de saída?
Para a segunda pergunta, tentei:cv::Mat pnts3D(4,N,CV_64F);
ecv::Mat pnts3d;
, nem parece funcionar (lança uma exceção).