
其中,XYZ为相机坐标系下坐标.
uv为图像坐标
根据公式将相机坐标系下坐标转换成图像坐标
这里图像是无畸变的.
已知相机内参K:
// 相机矩阵K
cv::Mat K = (cv::Mat_<double>(3,3)
<< 554.3009033203125, 0, 959.4999881143158,
0, 554.3009033203125, 539.5000009612413,
0, 0, 1);
已知相机坐标系下坐标
cv::Mat XYZ = (cv::Mat_<double>(3,1)
<< xxx, xxx, xxx);
计算图像坐标uv
double Zc = XYZ.at<double>(2,0);
cv::Mat uv_t = K*XYZ;
cv::Point2f uv;
uv.x = uv_t.at<double>(0,0)/Zc;
uv.y = uv_t.at<double>(1,0)/Zc;
网友评论