计算机视觉:相机模型与参数标定

计算机视觉(四) 相机模型与参数标定 文章目录一、概念及原理1.1 相机标定的作用与意义1.2 相机模型1.3 相机标定的原理 一、概念及原理 1.1 相机标定的作用与意义 畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。 相机标定的作用在于消除由于相机产生的图像畸变,从而校正图像,为处 阅读详情

一、相机投影模型

1、小孔成像

2、相机模型中的四个平面坐标系

3、像主点偏移

4、畸变现象与内参矩阵

5、外参矩阵

二、相机标定:张正友棋盘格标定法

1、张正友棋盘格标定法描述

2、计算外参和内参

2.1 计算单应性矩阵H

2.2 计算内参数矩阵

2.3 计算外参数矩阵

3、实验:MATLAB实现

3.1 实验数据

3.2 实验过程

3.3 实验结果

4、实验:OpenCV实现

4.1 实现代码

4.2 实验结果

5、实验分析与总结


一、相机投影模型

        计算机视觉都是对输入的图像(或视频)进行处理,而这写图像(或视频)都需要通过相机获得,用相机拍照(或者用相机录视频),所以是相机就是一个非常关键的工具。

        机器人在地面上行走时,需要用摄像头去扫描周围的环境,然后通过算法计算,判断出下一步应该怎么走,以确保能不摔倒并绕开障碍物。因此,了解相机(摄像头)是很有必要的。

1、小孔成像

        早在春秋战国时期,墨子在其著作《墨经》中提出了“光八条”,论述了光、物、影三者的关系。墨子设计的小孔成像实验形象地验证了光的直线传播特性以及物与影的几何投影关系,墨子的光八条概括了孔径相机的最基本的原理。

2、相机模型中的四个平面坐标系

为建立小孔成像投影模型如下约束限制:

  • 投影中心位于空间坐标原点O;
  • 光轴与空间坐标轴Z轴重合;
  • 焦平面与投影平面重合;
  • 三维空间中的点P(X,Y,Z)在投影平面上的对应像点为p(x,y)。

  • C点:表示相机的中心点,也是相机坐标系的中心点;
  • Z轴:表示相机的主轴;
  • p点:表示像主点,主轴与像平面相交的点;
  • 像平面:p点所在的平面表示相机的像平面,也就是图片坐标系所在的二维平面;
  • 焦距f:C点到p点的距离,表示相机的焦距;
平面坐标系 维度 含义
图像像素坐标系 2D, (u,v) 以像素为单位,是以图像的左上方为原点的图像坐标系。
图像物理坐标系 2D, (x,y) 以毫米为单位,用物理单位表示图像像素位置,定义坐标系OXY,原点O定义在相机与图像平面交点。
相机坐标系 3D, (X,Y,Z) 以毫米为单位,以相机的光心作为原点,Z轴与光轴重合,并垂直于成像平面,且取摄影方向为正方向,Xc、Yc轴与图像物理坐标系的x,y轴平行,且OcO为摄像机的焦距f。
世界坐标系 3D, (U,V,W) 根据具体情况而定,该坐标系描述环境中任何物体的位置,根据具体情况而定,满足右手法则。

 从上面的图中,我们利用相似三角形的原理可以知道:

\frac{y}{f}=\frac{Y}{Z},\frac{x}{f}=\frac{X}{Z}

所以可以得到:

x=\frac{fX}{Z},y=\frac{fY}{Z}

于是我们引入齐次坐标来表示上述相机、像素、世界坐标系之间的关系:

\begin{pmatrix} u\\ v\\ 1 \end{pmatrix}\sim \begin{pmatrix} fX\\ fY\\ Z \end{pmatrix}=\begin{bmatrix} f & 0 & 0 & 0\\ 0 & f & 0 & 0\\ 0& 0 & 1 & 0 \end{pmatrix}\begin{pmatrix} X\\ Y\\ Z\\ 1 \end{pmatrix}

进一步变换为:

使用齐次坐标,方便计算,具有可以看下面这篇内容。

为什么要引入齐次坐标,齐次坐标的意义 - 简书 (jianshu.com)

3、像主点偏移

    &

计算机视觉实战:从相机成像几何模型到标定参数优化(原理+代码) 本文深入解析相机成像几何模型,从世界坐标到像素坐标的完整转换链条,并详细阐述了相机标定的核心原理与实战方法。通过OpenCV代码示例,手把手指导如何通过棋盘格标定板精确求解相机内参、外参及畸变系数,并提供了关键的避坑指南与优化技巧,是提升计算机视觉项目测量精度的必备基础。 阅读详情

相关推荐

相机标定(四)-从理论到实践:深入解析相机成像模型的应用与优化

本文深入探讨了相机标定从理论到实践的工程优化路径。针对标准透视模型、鱼眼广角模型及远心模型等不同相机成像模型,详细分析了其适用场景与选择策略。文章重点分享了参数调优、数据采集技巧与结果评估方法,旨在帮助读者根据具体应用场景,选择并优化最合适的相机成像模型,以提升三维重建、视觉测量等任务的精度与稳定性。

weixin_29269441的博客 551

计算机视觉基础:图像数据采集流程与相机模型解析

图像数据是计算机视觉系统的基石,它描述了从三维物理世界到二维数字图像的完整转换过程。其核心原理基于光学成像与数字采样,通过镜头将场景光线汇聚于图像传感器,再经模数转换与信号处理,形成可供算法读取的像素矩阵。这一流程的技术价值在于为后续的特征提取、目标识别与三维重建等高级任务提供了标准化、高质量的输入。在工业检测、自动驾驶等应用场景中,精准的图像数据输入是确保分析结果可靠的前提。例如,在光伏板病害检测等工业视觉任务中,理解并优化图像采集流程与相机模型,是构建高质量光伏板病害图像数据集、实现精确测量的关键。

weixin_30985047的博客 331

相机标定避坑指南:张正友标定法常见问题与解决方案

本文针对张正友标定法在实战中的常见问题,提供了一套从物理准备到算法优化的完整避坑指南。详细解析了棋盘格制作、拍摄策略、角点检测失败原因及解决方案,并深入探讨了如何通过分析重投影误差、选择畸变模型来优化标定参数,确保获得稳定可靠的相机内参和畸变系数。

weixin_29274337的博客 163

计算机视觉——相机标定

相机标定

dasihudi的博客 1万+

Python计算机视觉———照相机标定

一、实验原理 1.1相机标定简介 1.2算法流程 1.3相机标定原理 1.4矩阵计算 1.5相机标定参数求解 二、代码及实现运行 2.1代码实现 2.2运行结果 一、实验原理 1.1相机标定简介 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图

qq_54708796的博客 5536

【计算机视觉----相机标定】

相机标定是计算机视觉中的一个重要问题,它的目的是确定相机的内部参数和外部参数,以建立从相机到图像的映射关系。相机标定的算法通常分为两个步骤:第一步是检测棋盘格角点并计算相机的内部参数,第二步是计算相机的外部参数。第一步:检测棋盘格角点并计算相机的内部参数 棋盘格标定法是一种常用的相机标定方法,它基于在棋盘格上已知的角点坐标和实际测量的角点在图像中的位置,通过最小化重投影误差来求解相机的内部参数。具体步骤如下:第二步:计算相机的外部参数 在得到相机的内部参数后,可以使用PnP算法计算相机的外部参数。PnP算法

qq_52238239的博客 5745

计算机视觉——单目相机标定

计算机视觉——单目相机标定 文章目录计算机视觉——单目相机标定前言OpenCV相机标定流程1. 数据集2. 角点提取3. 内参外参求解4. 误差评估实验分析 前言 什么是相机标定:在计算机视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。相机参数可以分为内参和外参。求解内参和外参的过程称之为相机标定。其中内参包括焦距,像主点坐标,畸变参数。外参包括旋转和平移。 为什么要相机标定: 计算机视觉的基本任务之一是从摄像机获取

Jmuyjl 4425

31、几何模型中的针孔相机:原理、参数与应用

本文深入探讨了针孔相机模型的原理、参数化方法及其在计算机视觉中的应用。文章首先介绍了图像形成与三维重建的挑战,随后详细阐述了针孔相机模型的几何原理和包含焦距、偏移、倾斜、旋转与平移在内的内外参数。通过归一化相机逐步扩展到完整投影模型,并引入径向畸变以提升精度。文中还分析了三个关键几何问题:外在参数估计(PnP问题)、内在参数学习(相机标定)和稀疏立体重建,并给出了相应的解决流程与应用场景。最后讨论了模型的局限性及改进方向,并展示了其在增强现实、机器人导航和三维建模中的实际应用,为计算机视觉任务提供了理论基础

c6d7e8f9g的博客 66

31、针孔相机模型:原理、参数与几何问题解析

本文深入解析了针孔相机模型的原理、参数构成及其在计算机视觉中的核心几何问题。从归一化相机出发,逐步构建包含焦距、偏移、倾斜、相机位姿等参数的完整投影模型,并引入径向畸变以逼近真实成像过程。文章详细阐述了三大几何问题:学习外参(PnP问题)、学习内参(相机标定)和稀疏几何模型恢复(基于特征提取与三角测量),并介绍了其在机器人导航、物体识别和三维重建等领域的应用,为视觉算法的设计与实现提供了理论基础。

b0c1d2的博客 86

相机标定精度优化:从重投影误差到畸变参数的工程实践

相机标定是计算机视觉与三维重建的基础环节,其精度直接影响测距、定位与感知系统的可靠性。在视觉SLAM、工业测量与机器人抓取等场景中,标定参数的系统性偏差往往被后续算法放大,导致实际应用效果远低于预期。畸变参数的精确估计与重投影误差的最小化,是提升标定质量的核心路径。通过合理选择畸变模型、优化标定板采集策略、执行亚像素角点提纯以及设计稳健的非线性优化流程,能够显著降低参数拟合偏差,增强模型的泛化能力。本文从标定原理出发,结合OpenCV工具链与工程实践,系统梳理从数据采集到结果验证的全流程优化方法,帮助开发者

weixin_32597009的博客 290

基于matlab的小孔成像matlab程序

基于matlab的小孔成像程序,u - u0 = fx*(xbar/zbar), v-v0 = fy*(ybar/zbar)

小孔成像实验仿真----Matlab源代码(附超详细注释!!!)

包括了圆形、方形和不规则形状滤波器,代码基本每一行都有注释,通过test文件在命令行中调用三个函数来调用不同形状的滤波器,心形滤波器函数在使用前需要在函数里面改心形图片的文件路径!!!

5分钟搞懂超分算法:从插值到深度学习的实战对比(附Python代码)

本文系统对比了从传统插值到深度学习的主流超分算法,包括最近邻、双线性、双三次插值,以及基于边缘、统计模型和SRCNN、ESPCN、SRGAN等深度学习模型。通过实战代码和决策框架,帮助开发者根据图像质量、速度、资源等需求,快速选择最合适的超分辨率算法,实现从低清到高清的有效转换。

pp12345的博客 424

水星路由器+群晖NAS+外网访问

水星路由器+群晖NAS+外网访问 有了公网IP,家里是水星路由器的 怎么设置外网访问 1.先电脑登录群晖的http://【你的群晖名】.quickconnect.to/ 2.【控制面板】进入设置 3.选择synology依次设置 ,【主机名称】就是你的名称。注意:左下角第7步,一定勾选。 4.下面进入192.168.1.1水星路由器设置。【IP与MAC绑定】点击NAS对应的【绑定】注意,点这里之前Nas一定设置了固定内网ip(后面补充 )。 5.【高级用户】-虚【拟服务器】。常用服务器不用选,其他的对应

wjxue201的博客 2588

用Omniverse Kit开发第一个USD插件:从环境配置到实战案例(Python 3.7版)

本文详细介绍了如何使用NVIDIA Omniverse Kit和Python 3.7开发第一个USD插件,涵盖从环境配置到实战案例的全过程。通过创建可实时同步材质属性的USD插件,开发者可以快速掌握Omniverse开发框架,提升3D内容创作效率。

x8y9z0的博客 582

避坑指南:Abaqus网格划分中90%用户会遇到的5个质量陷阱(附解决方案)

本文深入剖析Abaqus网格划分中90%用户会遇到的5个典型质量陷阱,包括单元扭曲、扫掠网格失败、尺寸梯度控制等,并提供工程级解决方案。通过Python脚本和虚拟拓扑等技巧,帮助用户提升网格质量,确保有限元分析结果的可靠性,适用于CAE工程师和仿真分析师。

weixin_29243279的博客 91

数据集分享 | IWR1642呼吸心跳数据集

雷达开源数据库 数据集

【调皮连续波】雷达技术领域知识博主 3195

UE5 Niagara基础知识讲解

在UE5版本中,Niagara粒子系统引入了许多可添加的模块,分别用于控制发射器的生成和更新、粒子的生成和更新以及渲染效果。本文采用虚幻5.2.1版本,以图文方式对Niagara基础知识进行讲解。

一碗清深的博客 2466

博途PLC如何建立与笔记本电脑端的连接?(新手必会)

对S7-1500PLC下载硬件组态或程序,需要建立PC与PLC的连接。 由于S7-1500CPU都具有PN端口,因此建立PC与S7-1500PLC的连接通常使用工业以太网来实现。 1.使用网线连接PC-PLC 使用网线,一端连接PC的以太网卡端口,另一端连接S7-1500CPU的PN端口。 2.设置本机IP地址 2.1 确认本机要设置的IP地址段 本机IP地址要和PLC程序组态IP地址段前三位保持一致,后一位使用组态中没有用到的IP地址段。如下图所示。 那么看了这个图片应该就知道了,地址应该设置成192.

weixin_42430971的博客 1万+

SAP_SD模块 物料科目分配/成本简介

路径:SPRO—销售与分销—基本功能—科目分配/成本—收入账户确定—收入科目确定相关性—定义并分配科目代码—定义科目代码。路径:SPRO—销售与分销—基本功能—科目分配/成本—收入账户确定—收入科目确定相关性—定义访问顺序和科目确定类型。路径:SPRO—销售与分销—基本功能—科目分配/成本—收入账户确定—收入科目确定相关性—定义并分配科目确定过程。文本主要说明销售模块中的科目分配和成本的一个对应关系。SPRO—销售与分销—基本功能—科目分配/成本—收入账户确定—检查科目分配的相关主数据。

我小时候很黑的博客 2608

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 计算机视觉:图像映射与全景拼接
下一篇: 计算机视觉:基于BOW的图像检索与识别
DreamWendy
博客等级 码龄7年 301粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamWendy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值