第六章 相机及其应用 6.2相机标定-四坐标转换

一、基本坐标系

世界坐标系(Xw,Yw,Zw):自行定义,包括坐标原点,坐标系方向,坐标系单位

相机坐标系(Xc,Yc,Zc):相机坐标系(观察坐标系)相机坐标系的原点为相机的光心,x轴与y轴与图像的X,Y轴平行,z轴为相机光轴,它与图形平面垂直。光轴与图像平面的交点,即为图像坐标系的原点,构成的直角坐标系为相机坐标系

图像坐标系(X,Y):以主光轴和图像平面交点为坐标原点,单位为实际度量单位,如mm

像素坐标系(U,V):以图像的顶点为坐标原点,u和v方向平行于x和y方向,单位是像素

二、坐标转换关系

1.图像坐标系和像素坐标系的关系

在这里插入图片描述
在这里插入图片描述
其中dx和dy分别是像素代表的实际单位长度,它的单位可以是,mm/pixel

2.相机坐标系与世界坐标系之间的关系

R表示旋转矩阵,T表示平移向量,其中R是一个3*3的矩阵,世界坐标系和相机坐标系可以通过旋转和平移得到

在这里插入图片描述

3.相机坐标系与图像物理坐标系之间的关系

在这里插入图片描述
在这里插入图片描述

4.从世界坐标到图像像素坐标

在这里插入图片描述
其中的γ是扭曲因子,一般是0

三、opencv中的solvepnp函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

				corners.push_back(selectpoint1[a]);
                corners.push_back(selectpoint2[a]);
                corners.push_back(selectpoint2[nsign[a]]);
                corners.push_back(selectpoint1[nsign[a]]);

                objectPoints.push_back((Point3f(-5.5, 2, 0)));//单位:cm
                objectPoints.push_back((Point3f(-5.5, -2, 0)));
                objectPoints.push_back((Point3f(5.5, -2, 0)));
                objectPoints.push_back((Point3f(5.5, 2, 0)));

                Mat cameraMatrix =(Mat_<double>(3,3)<<7.2122031590688607e+02, 0., 3.2821016647944805e+02, 0.,
                                                    7.2122031590688607e+02, 2.3588815689844478e+02, 0., 0., 1.);
                Mat distCoeffs=(Mat_<double>(5,1) <<  -5.2223157893836514e-01, 3.6837912381470533e-01,
                                                    2.6732020462317304e-04, 9.4227382234429410e-04,
                                                    -1.9046620109170462e-01 );
                Mat rvec, tvec;//rvec:旋转向量,tvec:平移向量
                solvePnP(objectPoints, corners, cameraMatrix, distCoeffs, rvec, tvec);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值