UV系和相机坐标系相互转换
- 利用相机内参,将特征点由UV系转到相机坐标系:
//UV系转相机坐标系
Point2f pixel2cam ( const Point2d& p, const Mat& K )
{
return Point2f
(
( p.x - K.at<double>(0,2) ) / K.at<double>(0,0),
( p.y - K.at<double>(1,2) ) / K.at<double>(1,1)
);
}
- 同样可以利用相机内参,将特征点有相机坐标系转为UV系:
//相机坐标系转UV系
Point2f cam2pixel(const Point3d &p, const Mat &K)
{
float d = p.z;
return Point2f( K.at<double>(0, 0) * p.x / d + K.at<double>(0, 2),
K.at<double>(1, 1) * p.x / d + K.at<double>(1, 2));
}
数学手推: