OpenCV——相机标定

1、四个坐标系
世界坐标系,相机坐标系,图像物理坐标系,像素坐标系
2、坐标系之间的转换
2.1、世界坐标系——相机坐标系
这里写图片描述
假设世界坐标系中点坐标为[x1,y1,z1],对应的相机坐标系中的点坐标为[x,y,z],世界坐标系转换至相机坐标系遵循如下推导:
这里写图片描述
上图中为旋转矩阵变换(旋转矩阵还有一个特性为旋转矩阵的转置矩阵等于其逆矩阵),除此之外,还有平移矩阵变换,设矩阵为T。则世界坐标系和相机坐标系的变换为:
这里写图片描述
2.2、相机坐标系——图像坐标系
相机坐标系和图像坐标系的变换类似于针孔成像模型,整个变换推导为两个相似三角形的变换,属于透视投影关系,从3D转换到2D,如下所示:
这里写图片描述
注:
仿射变换——将矩形进行矩阵变换转换成平行四边形;
透视变换——将矩形进行矩阵变换转换成任意四边形。

2.3、图像坐标系——像素坐标系
图像坐标系和像素坐标系的变换为伸缩和平移变换。
这里写图片描述
其中u0,v0为图像坐标系原点。
2.4、四个坐标系之间的整体变换
这里写图片描述
3、畸变和畸变系数
由于相机制造和透镜与图像不平行,会造成图像畸变,常见的有径向畸变和切向畸变。其中,径向畸变是由于相机制造的缺陷造成的,而切向畸变是因为成像过程中透镜和图像不平行造成的,这都是不可避免的缺陷。所以求取相机的畸变系数对成像进行畸变调整。
径向畸变:
这里写图片描述
注:畸变符合泰勒展开模型,故通过泰勒展开求取畸变,OpenCV中取6次方为止。
切向畸变:
这里写图片描述
4、标定:相机标定就是求取相机内参、畸变系数和外参的过程,是为了获取世界坐标和像素坐标之间的联系,目的并不是获得内参和外参。

参考链接:(https://blog.csdn.net/lyl771857509/article/details/79633412)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。在Python中使用OpenCV进行相机标定时,可以使用圆形标定板来获取相机的内参和畸变参数。 相机标定是指确定相机的内参(如焦距、主点坐标)和畸变参数(如径向畸变、切向畸变)的过程。圆形标定板是一种常用的标定板,它由一系列等距离排列的圆形格点组成。 在进行相机标定时,需要采集一组包含圆形标定板的图像。通过检测图像中的圆心和圆周,可以计算出每个圆的像素坐标。然后,利用这些像素坐标和已知的实际世界坐标,可以使用OpenCV提供的函数进行相机标定。 以下是使用OpenCV进行相机标定的步骤: 1. 准备圆形标定板:选择合适大小的圆形标定板,并确保每个圆的直径和间距都已知。 2. 采集图像:使用相机拍摄包含圆形标定板的多张图像。 3. 检测圆心和圆周:对每张图像进行处理,使用OpenCV的函数检测圆心和圆周,并获取每个圆的像素坐标。 4. 设置实际世界坐标:为每个圆设置对应的实际世界坐标,可以使用标定板的尺寸和间距来计算。 5. 进行相机标定:使用OpenCV的函数,将像素坐标和实际世界坐标传入,进行相机标定。 6. 获取相机参数:标定完成后,可以获取相机的内参和畸变参数,用于后续的图像处理和计算机视觉任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值