Триангуляция с opencv
Я пытаюсь триангулировать некоторые точки с помощью opencv, и я нашел это cv::triangulatePoints()
функция, но нет большой информации об этом. Я прочитал, мне нужны матрицы камеры, но я не знаю, как я могу получить это. Мне нужна триангуляция для выбора правильной матрицы поворота и перемещения, поэтому я не могу рассчитать матрицу камеры как C=K*[R|t]
потому что я не знаю какой R
а также t
Матрицы хорошие.
Разница между моим вопросом и этим заключается в том, что они знают свои матрицы камер и R
а также t
матрицы, купи я не знаю мин.
esencial=Kt*fundamental*K;
SVD descomp = SVD(esencial);
Mat U=descomp.u;
Mat Vt=descomp.vt;
Mat D=(Mat_<int>(3,3) << 1,0,0,0,1,0,0,0,0);
Mat nueva_E = U*D*Vt ;
descomp = SVD(nueva_E);
U=descomp.u;
Vt=descomp.vt;
Mat R1; //dos posibles rotaciones
Mat R2;
Mat t1; //dos posibles traslaciones
Mat t2;
Mat W = (Mat_<int>(3,3) << 0,-1,0,1,0,0, 0,0,1);
Mat Z= (Mat_<int>(3,3)<<0,1,0,-1,0,0, 0,0,1);
R1 = U * Mat(W) * Vt;
R2 = U * Mat(Z) * Vt;
t1 = U.col(2); //u3
t2 = -U.col(2); //-u3
Теперь мне нужна триангуляция, чтобы выбрать одну R
и один t
матрица