相机内参标定和畸变校正以及张氏标定法

2024-01-20 08:20

本文主要是介绍相机内参标定和畸变校正以及张氏标定法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一些坐标系

       世界坐标系:是一个假想的坐标系,用作一般参考,可根据需要自由定义。
       在我们的双目相对位姿测量系统中,世界坐标系一般定义与左相机的摄像机坐标系重合,这样的话左相机的R为单位矩阵,T为零向量。双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。

相机标定

       对于N张无畸变的图像来说,共有4个内参+6N个外参来标定,每张棋盘图上有4个有效的角点,可以提供8个约束,则需要8N>=4+6N8N>=4+6N8N>=4+6N,则至少需要2张无畸变的图像可以求出相机的内参和外参,实际上一般可以取10张,从而利用最小二乘得到更精确的解。在求出了内参和外参后,即可根据剩余的点坐标求出畸变相关参数。
图像坐标和像素坐标
       主要是定义的原点不同,图像坐标u,v原点在图像中心即光心,像素坐标x,y 原点一般在左上角;图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel。
相机标定参数例子
       200万pixels工业摄像机为例:已知摄像头的焦距为4mm,像片的尺寸大小为640x480,传感器尺寸为5856 μm x 3276 μm,像素大小为3μm x 3μm。由上面已知条件可求得内参矩阵 f x , f y fx,fy fxfy为焦距,一般情况下,二者相等,u0、v0为主点坐标(相对于成像平面),beta为坐标轴倾斜参数,理想情况下为0。
在这里插入图片描述
       将内参矩阵分解为切变(shear,类似于将长方形压成平行四边形的变形方式)、缩放,平移变换,分别对应轴倾斜、焦距、主点偏移, 右边三个矩阵依次是:2D平移、2D缩放、2D切变。缩放和切变可改变顺序

透镜畸变及校正模型

径向畸变

       最常见的畸变,沿着成像镜头半径方向凹凸的坍缩和膨胀,即枕形或桶形。产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲。
在这里插入图片描述
       成像仪光轴中心的畸变为0,沿着镜头半径方向向边缘移动,畸变越来越严重。畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,如鱼眼镜头,可以增加使用第三项k3来进行描述,成像仪上某点根据其在径向方向上的分布位置,调节公式为:

切向畸变
       切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。
在这里插入图片描述

       综上,我们一共需要5个畸变参数(k1、k2、k3、p1和p2 )来描述透镜畸变。

张氏标定法

       只关注了影响最大的径向畸变(k1,k2),并忽略3阶以上的畸变量。(阶数,即求导次数,不同于数的几次幂数)
在这里插入图片描述

注意事项

  • Corners中的角点坐标顺序排列规律不一定是以行从左上到右下。
  • 如果一部相机的分辨率变为原来的n倍而其他地方不变,那么它的内参也将变为原来的n倍

这篇关于相机内参标定和畸变校正以及张氏标定法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625349

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在海鸥相机存储卡格式化后,‌如何高效地恢复丢失的数据,‌帮助您重新找回那些宝贵的记忆。‌ 图片来源于网络,如有侵权请告知 一、‌回忆备份情况 ‌海鸥相机存储卡格式化如何恢复数据?在意

解析apollo纵向控制标定表程序

百度apollo采用标定表描述车辆速度、加速度与油门/刹车之间的关系。该表可使无人车根据当前车速与期望加速度得到合适的油门/刹车开合度。除了文献《Baidu Apollo Auto-Calibration System - An Industry-Level Data-Driven and Learning based Vehicle Longitude Dynamic Calibrating

机器视觉硬件选型根据某项目相机镜头

一 项目总需求 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; ③工作距离:880mm;检测精度:500μm; 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; 工作距离:

005:VTK世界坐标系中的相机和物体

VTK医学图像处理---世界坐标系中的相机和物体 左侧是成像结果                                                    右侧是世界坐标系中的相机与被观察物体 目录 VTK医学图像处理---世界坐标系中的相机和物体 简介 1 在三维空间中添加坐标系 2 世界坐标系中的相机 3 世界坐标系中vtkImageData的参数 总结:

独立双端App《瓦格相机》的开发过程分享

前言 Hello大家好,我是灯灯,独立开发者灯灯,也是天天学藏语的灯灯,哈哈哈... 好了屁话少说,今天和大家分享一下最近自己独立制作一款应用的经验历程,希望能对刚刚起步的新手们、还有独立开发者们有所帮助。 什么样的应用 我想做的是一款能够将照片转换成文字拼成的图片应用,也就是,图片中的每一个像素点都将会被文字取代,同时对应色彩、密集程度等。 之所以想做这样的应用是因为早在我高中的时候,

相机检查内参 外参

目录 检查内参 外参 像素点投影到世界坐标系,再投回到2d坐标系: 检查内参 外参 import cv2import numpy as np# 假设我们有以下相机内参K = np.array([[418.96369417, 0.0, 489.16315478],[0.0, 419.04813353, 267.88796254],[0.0, 0.0, 1.0]], dtype=n

相机拍摄时最重要的三个参数——光圈、快门、ISO

如果你对相机只有很少了解,那么看这篇文章再好不过啦,我结合很多资料,力图用最通俗易懂的方式进行讲解。 相机拍摄时最重要的3个参数就是——光圈、快门、ISO 次重要的参数有——焦距、景深、曝光   在介绍光圈、快门、ISO之前,必须先介绍曝光。曝光准确的照片:   过曝的照片:   欠曝的照片:   我们把一张完美曝光的照片理解成一桶刚刚装满的水,不

halcon 的图像坐标转到实际的机械坐标的标定

所谓手眼系统,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。 相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 在实际控制中,相机检测到目标在图像中的像

猫猫学iOS之二维码学习,快速打开相机读取二维码

猫猫分享,必须精品 原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 上一篇文章写了怎么生成二维码,这儿就说说怎么读取吧,反正也很简单,iOS封装的太强大了 步骤呢就是这样: 读取二维码需要导入AVFoundation框架#import <AVFoundation/AVFoundation.h> 1:利用摄像头识别二维码