坐标系转换之欧拉⾓转旋转矩阵[opencvEigen]版本对⽐
veritas
Eigen::Matrix3d rotation;
cv::Vec3d theta(1, 2, 3);
cv::Mat R_x = (cv::Mat_<double>(3,3) << 1, 0, 0, 0, cos(theta[0]), -sin(theta[0]), 0, sin(theta[0]), cos(theta[0]) );
cv::Mat R_y = (cv::Mat_<double>(3,3) << cos(theta[1]), 0, sin(theta[1]), 0, 1, 0, -sin(theta[1]), 0, cos(theta[1]) );
毒药英文>nomenclaturecv::Mat R_z = (cv::Mat_<double>(3,3) << cos(theta[2]), -sin(theta[2]), 0, sin(theta[2]), cos(theta[2]), 0, 0, 0, 1);
cv::Mat R = R_z * R_y * R_x;
再见了母校cv2eigen(R, rotation);
cout << rotation << endl;
神探夏洛克2
cnki在线翻译
考验的意思Eigen::Vector3d eular_angle(1, 2, 3);
rotation = Eigen::AngleAxisd(eular_angle[2], Eigen::Vector3d::UnitZ())
* Eigen::AngleAxisd(eular_angle[1], Eigen::Vector3d::UnitY())考研政治资料
* Eigen::AngleAxisd(eular_angle[0], Eigen::Vector3d::UnitX());笔记本电脑维修培训
皮肤衰老的原因
cout << rotation << endl;
以上分别使⽤了cv::Mat 和 Eigen实现了欧拉⾓转旋转矩阵
两个最后输出是完全相同的