罗德里格斯(Rodrigues)变换

opencv C++实现 #include #include #include int main(){double r_vec[3] = { -2.10

opencv C++实现

#include 
#include 
#include int main()
{double r_vec[3] = { -2.100418,-2.167796,0.273330 };cv::Mat pr_vec(1, 3, CV_64FC1, r_vec);std::cout << "pr_vec = " << pr_vec << std::endl;cv::Mat pR_matrix;cv::Rodrigues(pr_vec, pR_matrix);std::cout << "pR_matrix = " << pR_matrix << std::endl;system("pause");return 0;
}

罗德里格斯公式(Rodriguez formula)是计算机视觉中的一大经典公式,在描述相机位姿的过程中很常用。公式:

                                                            \boldsymbol{R = I + sin(\theta )K +(1-cos(\theta ))K^2}

在三维空间中,旋转矩阵\boldsymbol{R}可以对坐标系(基向量组)进行刚性的旋转变换。