二维平面内的旋转和平移
记坐标系Xa-Oa-Ya为A,记坐标系Xb-Ob-Yb为B。 原本B与A完全重合,现在将B偏移一定的距离,B的原点在A中的坐标为(delta_x,delta_y)。再将B的X轴逆时针旋转a度( 弧度制表示,便于直接代码进行三角函数运算 )。
那么,坐标系B相对于坐标系A的变换矩阵为:
//坐标系B相对于坐标系A的变换关系。
cv::Mat RT_B2A = (cv::Mat_(3, 3) <<
cosa, -sina, delta_x,
sina, cosa, delta_y,
0, 0, 1
);
//坐标系A相对于坐标系B的变换关系。
cv::Mat RT_A2B 为RT_B2A 的逆矩阵。
cv::invert(RT_B2A , RT_A2B );//求逆矩阵
若已知某点在A中的坐标为Pa,那么这个点在B中的坐标为: Pb = RT_A2B *Pa;(写成齐次矩阵形式)