MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

这篇具有很好参考价值的文章主要介绍了MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

matlab 做相机标定后,想将第一张(任意一张都行)标定板角点所对应的像素坐标转换到世界坐标系下,标定板角点的像素坐标真值与世界坐标真值都非常容易获得,但是我通过内外参矩阵将像素坐标转换到世界坐标有很大的误差,如下

close all;
clear all;
clc;
load ('6mm_matlab.mat')
% 相机标定基本参数
M = cameraParams.IntrinsicMatrix';
R = cameraParams.RotationMatrices(:,:,1);
T = cameraParams.TranslationVectors(1,:)';
UV = cameraParams.ReprojectedPoints(:,:,1);
% 将标定板角点像素坐标转换成齐次
for i = 1:size(UV,1)
    UV_H(i,:) = [UV(i,:),1];
end
% 将像素坐标系转换到像素坐标系,公式参考: https://blog.csdn.net/qq_43222384/article/details/101516807
leftMatrix = inv(R)*inv(M)*UV_H';
rightMatrix = inv(R)*T;
rightMatrix_H = repmat(rightMatrix(3),[1,size(UV,1)]);
temp_s = rightMatrix_H./leftMatrix(3,:);
N_rightMatrix = repmat(rightMatrix,1,size(UV,1));
CB_World = temp_s.*leftMatrix - N_rightMatrix;

像素坐标到世界坐标之间的转换可参考如下公式

已知像素坐标,世界坐标,内参矩阵 M,旋转矩阵 R,平移向量 T。

则有:MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

记,

解得

所以

Matlab 标定后的相机参数如下:

MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

内参矩阵:,旋转矩阵:,

平移向量:

世界坐标系下的点到像素坐标系下的转化关系可表示为:

标定板的间距为10mm,随意带两个世界坐标系下的点(0,0)和(0,10)

算出来得结果分别为,

计算结果和真值的误差较大,在世界坐标系下的Y轴上的角点应该接近 0 实际上Y轴上的值逐渐增大,可以观察下面的计算结果

世界坐标系下的真值为:

MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

通过上述公式计算得到的世界坐标结果:

MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换

我标定的重投影误差再0.04以内,其它各个参数也符合,为什么数据的误差会这么大呢?而且这个数据变化也有一定的规律,这是怎么回事呢?

相机标定图像

链接:百度网盘 请输入提取码

提取码:john

已解决:matlab做相机标定,内参矩阵与旋转矩阵都需要做转置后才能使用文章来源地址https://www.toymoban.com/news/detail-499641.html

到了这里,关于MATLAB 相机标定中标定板角点像素坐标系到世界坐标系的转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 双相机坐标系标定

    在工业应用中,常常会遇到双相机定位的项目,下面就介绍双相机如何标定才能做到精准定位。 1,产品  如上图所示,玻璃上对角有两个mark点,由于mark点的间距太远只能用两个相机去拍。 2,相机布局  两个相机分别拍产品的对角。 3,标定流程   1,根据n点标的规则获取

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

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

    2024年02月12日
    浏览(35)
  • 激光雷达标定(坐标系转换)

    由于激光雷达获取的点云数据的坐标是相对于激光雷达坐标系的,为了使车最终得到的点云数据坐标是在车坐标系下的,我们需要对点云中每一个点的坐标进行坐标转换。 首先是需要对坐标系进行旋转变换,先以二维平面的单位向量坐标转换为例,假设两坐标系中的旋转矩阵

    2023年04月16日
    浏览(29)
  • Nuscenes——实现世界坐标3D点投影到像素坐标系中

    首先在 mmdetection3d/tools/data_converter/nuscenes_converter.py 中, get_2d_boxes() 可以直接从nuscenes原始sample数据中获取已标注的3D box信息,因此该函数就可以实现整体投影过程。 投影原理 投影过程分为以下几步: 世界坐标系 —— Ego坐标系(自身) 这里需要世界坐标系原点变换到自身的

    2024年02月11日
    浏览(28)
  • N点标定-坐标系变换

    vector_to_hom_mat2d(Px, Py, Qx, Qy, HomMat2D) 这里参考了halcon算子块的官方文档,使用的是最小二乘法,求HomMat2D矩阵。 -常用九点标定,求两个坐标系的坐标转换。。 下面个人实现原理,结果和上面算子算出来的结果一致,知识有限,仅供学习交流。 1:先来看一张图,图中矩阵为2行

    2024年02月16日
    浏览(28)
  • 6_相机坐标系_相机4个坐标系详述

            相机系列文章是用来记录使用opencv3来完成单目相机和6轴机械臂手眼标定。本人吃饭的主职是linux下6轴机械臂相关应用开发。但对于机械臂运动学、相机应用等都非常感兴趣,所以对一些线性代数基础薄弱又想深入了解机械臂内部运算的同志比较有体会。由于是探

    2024年04月09日
    浏览(37)
  • 世界坐标系、相机坐标系和图像坐标系的转换

    之前只是停留在会用的阶段,一直没去读懂计算的原理,今天通读了大佬的文章,写的言简意赅,感谢感谢~~特此记录一下,仅用作个人笔记 贴链接,十分感谢~ https://blog.csdn.net/weixin_44278406/article/details/112986651 https://blog.csdn.net/guyuealian/article/details/104184551 将三维物体转换成照

    2023年04月15日
    浏览(45)
  • 图像坐标系如何转换到相机坐标系。

    问题描述:图像坐标系如何转换到相机坐标系。 问题解答: 图像坐标系的定义: 图像坐标系是用于描述数字图像中像素位置的坐标系。图像坐标系的原点是相机光轴与成像平面的交点。X轴沿着成像平面的水平方向正向,Y轴沿着成像平面的垂直方向正向。 相机坐标系的定义

    2024年02月04日
    浏览(32)
  • 激光雷达坐标系和相机坐标系相互变换(易懂不详细)

    码字不易,路过的朋友动动小手点点赞吧 传感器融合少不了的就是联合标定,最近大火的激光雷达和相机传感器融合算法,让很多工程师学者投入精力学习,本文简单介绍一下激光雷达和相机传感器坐标系转换的原理。         传感器安装位置不同,而且每个传感器都有

    2024年02月11日
    浏览(29)
  • 相机坐标系

    相机坐标系——像素坐标系 本文所述的相机坐标系的意思是以该相机为参考,也就是世界坐标系的原点为该相机,来观测P的坐标。 在通俗理解下的相机坐标系与像素坐标系之间只差一个cx和cy。一定要注意 一个相机A的坐标系为L1,此时一个空间的点P距离相机50m,x方向偏10

    2024年02月09日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包