8. 基于消影点进行相机内参(主点)的标定

这篇具有很好参考价值的文章主要介绍了8. 基于消影点进行相机内参(主点)的标定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. ocam模型

可以参考我的另一篇博客ocam模型。
这里简单提一下ocam模型:
这个模型将中心折反射相机和鱼眼相机统一在一个通用模型下,也称为泰勒模型。它由Scaramuzza等人在2006年开发,其优点是折反射相机和屈光相机都可以用同一个模型来描述,即一个泰勒多项式。
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
公式:
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
从上面一系列的公式可以看出,在相机标定成功的情况下,如果我们知道了图像平面上一点的像素,我们可以反投影出一个相机光心指向世界点的方向向量。至于那个 λ \lambda λ,我们反投影后做一个归一化即可。
源码:

function M=cam2world(m, ocam_model)

n_points = size(m,2);
ss = ocam_model.ss; % 多项式系数
xc = ocam_model.xc; % 主点
yc = ocam_model.yc; % 主点
width = ocam_model.width;
height = ocam_model.height;
c = ocam_model.c;
d = ocam_model.d;
e = ocam_model.e;

A = [c,d;
     e,1];
T = [xc;yc]*ones(1,n_points);

m = A^-1*(m-T); % 图像平面到归一化平面
M = getpoint(ss,m); % 反投影过程
M = normc(M); % normalizes coordinates so that they have unit length (projection onto the unit sphere)

function w=getpoint(ss,m)

% Given an image point it returns the 3D coordinates of its correspondent optical
% ray

w = [m(1,:) ; m(2,:) ; polyval(ss(end:-1:1),sqrt(m(1,:).^2+m(2,:).^2)) ];

2. 消影点

消影点:几何上一条世界直线的消影点由平行于该直线并过相机光心,然后与成像平面的交点。消影点只依赖世界直线的方向,与其位置无关,如果这条直线与成像平面平行,则其消影点位于图像的无穷远处。
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
如何求解一条直线的消影点?一组平行线即可确定。如下图:
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
真实世界中的两条平行线在图像中会交于一点,那就是消失点,也就是说我们通过两条平行线就可以确定消失点。

3. 基于消影点进行相机主点标定

8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
上面第一幅图是棋盘格在相机图像平面上的成像。可见由于棋盘格天然由好几组平行线,比如横向和纵向两组,就可以确定两个消失点。又根据第二幅图,过相机光心和消失点的直线是与世界直线平行的,所以我们可以通过棋盘格得到两条过相机光心和两个消失点的方向向量,这两个向量垂直。利用这个关系可以进行相机内参(主点)的标定。

3.1 基于ocam模型的主点标定

原理如前面所述,通过棋盘格中天然存在的几组垂直关系的平行线可以确定多组互相垂直的(相机光心到消失点)的方向向量,然后构建误差方程(垂直关系的方向向量点积为0)。
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
8. 基于消影点进行相机内参(主点)的标定,slam中的标定问题,数码相机,相机,算法,c++
误差函数中因为包含了反投影过程,所以包含了优化变量相机主点。(这里我已经知道了ocam相机除主点外其他的参数。)文章来源地址https://www.toymoban.com/news/detail-729643.html

感谢大家的阅读。

到了这里,关于8. 基于消影点进行相机内参(主点)的标定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 相机内参标定理论篇------相机模型选择

    当拿到一款需要标定内参的相机时,第一个问题就是选择那种的相机模型来标定相机。首先对相机类型进行分类,然后针对相机类型选择相机模型。工程上相机类型的划分并不是十分严格,一般来说根据相机FOV可以把相机大概分为以下几类: 长焦相机:=  标准相机:~; 广角

    2024年02月04日
    浏览(29)
  • matlab标定相机内参

    在APP中选择Camera Calibrator,如下: 点击 Add Images,导入拍照图片。标定20张左右就够了,然后角度变一下,但不需要变太大,太大了会影响标定效果。标定板最好在视场中心,且占据较大面积。 修改棋盘格大小为27*27mm(我的A4纸测量是这样) 对于标准相机,菜单栏的option里选

    2024年02月05日
    浏览(35)
  • 2.4.1.1 相机内参标定

    更多内容,请关注: github:https://github.com/gotonote/Autopilot-Notes.git 相机内参标定主要是为了获取相机本身的性质参数,包括相机的焦距,光心以及畸变参数等。 内参的物理意义与相机模型强相关,常用的相机成像模型为小孔模型,等效焦距与光心用数学可表示为一个矩阵 [ f

    2024年02月22日
    浏览(28)
  • Opencv 相机内参标定及使用

    目录 一、功能描述 二、标定板制作 三、图像采集 四、标定内参 方法一:Matlab标定  方法二:C++程序标定 五、使用内参 1.本文用于记录通过 Opencv 进行相机内参标定和对内参的使用来进行图像畸变矫正。         1)相机矩阵:包括焦距(fx,fy),光学中心(Cx,Cy),完

    2024年01月24日
    浏览(28)
  • 【相机标定】opencv python 标定相机内参时不计算 k3 畸变参数

    畸变参数 k3 通常用于描述径向畸变的更高阶效应,即在需要高精度的应用中可以用到,一般的应用中 k1, k2 足矣。 常见的应用中, orbslam3 中是否传入 k3 是可选的,而 kalibr 标定中则只需要传入 k1, k2 。但计算 k3 时的 k1, k2 不等于不计算 k3 时的 k1, k2 ,因此需要学会两种场景下

    2024年02月09日
    浏览(29)
  • 相机标定 >> 坐标系转换@内参、外参

    为了更好的理解标定,首先应熟悉各个坐标系。(坐标系图均取自百度百科) 该坐标系是以图像左上角为原点建立以像素为单位的二维坐标系u-v。(相对坐标系) 图像坐标系是以 O1 (是图像的主点,也即光轴与像平面的交点,一般就是像素坐标系的中点)为原点的二维坐标

    2024年02月12日
    浏览(38)
  • python opencv实现相机内参标定

    使用python opencv 标定相机内参。 (1)从网络上下载一张棋盘格图片,粘贴到word文档上,设定尺寸大小为合适值,作为标定板。 (2)在不同距离,不同角度下用手机相机拍摄棋盘图片。 (3)调用 opencv findChessboardCorners 和 cornerSubPix 函数提取棋盘的角点。 (4)调用 opencv cal

    2024年02月13日
    浏览(39)
  • 【Ubuntu18.04】激光雷达与相机联合标定(Livox+HIKROBOT)(一)相机内参标定

    Livox Lidar + HIKROBOT Camera 联合标定 参考链接:相机雷达标定文档 安装ROS环境,参考笔者的博客:【ROS】Ubuntu18.04安装Ros 参考链接:海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++) 海康的相机没有ros驱动,且对linux开发不太友好(但支持windows),因此需要重写了sdk接口

    2024年02月04日
    浏览(37)
  • 计算机视觉(相机标定;内参;外参;畸变系数)

    目录 一、预备知识 1、坐标系变换过程(相机成像过程) (1)相机坐标系转换为图像坐标系(透视投影变换遵循的是针孔成像原理) (2)齐次坐标的引入原因:(为什么引入齐次坐标???) 2、内参与外参矩阵的构成 3、畸变参数 二、相机标定 1、张正友标定法(光学标

    2024年02月07日
    浏览(38)
  • zed2i相机内参标定

    参考: https://blog.csdn.net/yanpeng_love/article/details/107166922 https://blog.csdn.net/weixin_41954990/article/details/127928852 参考以上连接先安装 kalibr 。 注意: python包装不上,换成:pip install 出现pyx找不到的错误:sudo apt-get install python3-pyx 1. 生成标定板 可以自己定制特定尺寸的标定板: 其中,

    2024年02月04日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包