3_相机模型

    相机标定对于联系相机测量和真实三维世界测量也很重要。它的重要性在于场景不仅仅是三维的,也是物理单位度量的空间。因此,确定相机的自然单位(像素)与物理单位(如mm)的关系是三维场景重构的重要部分。相机标定的过程既给出相机的几何模型又给出透镜的畸变模型,这两个模型定义了相机的内参。

单应性变换(homography transform):它是一种能反应相机基本行为、各种失真和矫正特性的数学工具。

所述知识是为了建立足够的理论以便让读者可以真正理解cv::calibrateCamera(),并知道其内涵。

1、相机模型

e5ec8b6da46e072020d6a403e1c3f676.png

72c7ec207245410736af0859d5cdc485.png    

重新把针孔相机模型整理为另一种等价形式,使其数学形式更简单一些。如图,交换针孔和图像平面,主要差别是现在物体出现在等式右边。针孔中的点被理解为投影中心。这样,每一条光线,从远处物体的某个点出发,到达投影平面的中心。光轴与图像平面的交点被称为主点。在这个与旧的投影平面等价的新前端图像平面上,远处物体的图像与图11-1中的图像大小完全一致。光束与图像平面的相交生成图像,而平面到投影中心的距离是f。这样形成更容易理解的三角形相似关系 x/f=X/Z.负号被去掉了。因为目标图像不再是倒立的。

42c1a6c184502b8a42d49f39f35fd86d.png

你也许认为主点即等于成像仪的中心,但这意味着某些人拿着镊子和胶水要把摄像机里面的成像仪以微米级别的精度安装。实际上,芯片的中心通常不在光轴上。因此,引入Cx和Cy对可能得偏移(对光轴而言)进行建模。则:    

aecb7d444baf18bf19d9af671d9c25ab.png

2、基本投影几何

将坐标(X,Y,Z)的物理点Q映射到投影平面上坐标为(x,y)的点的过程叫投影变换。采用这种变换,可以方便地使用我们所熟知的齐次变换。齐次坐标把维数为n投影空间上的点用(n+1)维向量表示,其额外限制是任何两点的交比不变。这样允许我们将定义摄像机的参数(fx,fy,cx,cy)重新排列为一个3×3矩阵,该矩阵称为相机的内参矩阵。

Opencv中,相机的内参矩阵(opencv求解相机内参矩阵使用的方法源自Heikkila和Silven).    

b231ddf7beb4058f79c3682b1618049e.png

讨论齐次坐标时,opencv库中有一个函数cvConvertPointHomogenious(),使用该函数可以很方便地对齐次坐标进行转换。

ae80f9b7c6a597692b499e86bf381e4f.png    

欢迎关注:

c683a02a60ef0c1115bd16b66f0614c9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电感器在电路中的作用

同学们大家好,今天我们继续学习杨欣的《电子设计从零开始》,这本书从基本原理出发,知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例,可以说是全面系统地介绍了电子设计所需的知识…

pause、alarm、kill——进程——day13

今天主要讲线程中信号的三个函数 1.pause 1.pauseint pause(void); 功能:让进程睡眠,直到接收到信号(捕捉)才能继续向下执行eg: #include "head.h"void handler(int signo) {return; }int main(void) {signal(SIGINT,handler);printf("pause up!\…

学习大语言模型(LLM),从这里开始

在见识了ChatGPT的各种强大能力后,不少 NLP一线从业人员很自然地想到,以后开发者只要借助 ChatGPT,就可以做到现在大部分NLP工程师在做的事,比如文本分类、实体抽取、文本推理等。甚至随着大语言模型(largelanguagemod…

Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识 Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性,及时隔离并替 换为新的服务器,当故…

Container killed on request. Exit code is 143

Bug信息 WARN YarnAllocator: Container marked as failed: container_e33_1480922439133_0845_02_000002 on host: hdp4. Exit status: 143. Diagnostics: Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 Killed by externa…

day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)

文章目录 1. 前端接入登录1.1 修改前端代码1.2 跨域请求1.2.1 跨域请求简介1.2.2 COSR概述CORS简介CORS原理 1.2.3 CORS解决跨域 2. 异常处理2.1 提示空消息分析2.2 系统异常分类2.3 异常处理2.2.1 方案一2.2.2 方案二 3. 图片验证码3.1 图片验证码意义3.2 实现思路3.3 后端接口…

java找工作之JavaWeb(一)

JavaWeb 一个web应用有多部份组成(静态web,动态web) html,css,jsjsp,servletjava程序jar包配置文件(Properties) web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一…

【IC验证】数据类型

一、思维导图 二、代码 (1)字符串 字符串的结尾不带空标识符null,\0。是动态存储方式,因此不用担心存储空间被用完。 编辑.SV文件使用 gvim 文件名 运行仿真使用 vcs -sverilog -full64 string_type.sv 和./simv命令如果是字…

【微服务】微服务架构包含哪些组件、各个组件又承担什么职责呢?

前面的文章里我们介绍了微服务架构的一些基础知识以及特点,也提到了国产的微服务架构标准实现SpringCloud Alibaba,聊了这么多,还是没有开始阐述各组件在Java技术体系中的具体实现。那从这里开始,我们开始全面认识微服务架构在Jav…

上拉电阻与下拉电阻、电容的作用

上拉电阻与下拉电阻 在单片机电路中,上拉电阻和下拉电阻都是常见的电路元件,它们在数字电路设计中扮演着重要的角色。它们的作用如下: 1. **上拉电阻**: - **作用**:当一个引脚没有外部信号时,上拉电阻…

微调(Fine-tuning)技术概念

——微调,像化妆,一种“精细化、风格性调整”的人工美颜技能。 微调(Fine-tuning)是指在深度学习领域中,特别是针对预训练模型的一种训练策略。预先训练好的模型通常是在大规模无标注数据上通过自监督学习得到的&#…

【Micropython】I2C层次结构、I2C协议

文章目录 前言一、I2C的结构层次1.1 怎样在两个设备之间传输数据1.2 I2C如何传输数据1.3 硬件框图1.4 软件层次 二、IIC协议2.1 硬件连接2.2 I2C 总线的概念2.3 传输数据类比2.3 I2C信号2.4 I2C数据的含义 总结 前言 I2C(Inter-Integrated Circuit)是一…

【Redis】redis事务和发布订阅

Redis 事务 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的特性: 批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程&#xff…

C++设计模式——抽象工厂模式

文章目录 抽象工厂模式的主要组成部分抽象工厂模式的一个典型例子抽象工厂模式用于其他场景抽象工厂模式与其他设计模式结合使用 C 中的抽象工厂模式是一种创建型设计模式,它主要用于处理对象家族的创建,这些对象之间可能存在一定的关联关系或属于相同的…

国产航顺HK32F030M: HK32F030MJ4M6_SOP8资料

最小系统 参考资料 [1] 航顺MCU HK32F030MJ4M6-SOP8 各个文件夹简介: Boards:HK32F030xMF4P6开发板的BSP驱动代码。 Documents:HK32F030xMxx数据手册、用户手册、API手册以及HK32F030xMxx开发板原理图。 Package:HK32F030xMxx Ke…

任务系统之API子任务

日常运维工作中有许多的任务要执行,例如项目发布/数据备份/定时巡检/证书更新/漏洞修复等等,大部分的任务都会有多个步骤共同完成,例如一个发布任务会有拉代码、编译、分发、通知等等步骤,而不同的任务可能还包含相同或相似的步骤…

PRL算法调控

伴随汽车电子技术发展,传统轮式车辆制动系统的气体或液体传输管路长,阀类原件多原有的真空助力系统无法兼顾车辆的再生制动功能,而再生制动功能是混合动力车辆是混动车辆最主要的市场优势之一,真空助力器逐渐被eBooster 所取代。针…

微信小程序 - 渲染和逻辑

通信模型 渲染层的界面使用了WebView 进行渲染;逻辑层采用JsCore线程运行JS脚本。 数据驱动 WXML会解析对应model值,并生成js对象,最后生成最终的dom树。 当model发生变更时候,会判断解析wxml后的js对象是否改动,若改动…

[重磅更新] Mac玩游戏必备!Crossover24版现已上线!附免费升级攻略 Crossover软件使用方法安装程序 免费版

好久不见啦,最近一直在忙着研究Mac玩游戏,什么幻兽帕鲁、女神异闻录之类的,有些沉迷了,实在对不住大家… 不过今天还是给大家带来了好消息!那就是让Mac玩游戏不再是笑话的神器,Crossover正式发布了2024版&a…

使用CANoe进行27服务安全认证解密算法

方法:通过cdd文件dll文件进行27服务通过安全认证解密 步骤1:菜单栏选中Diagnostics&XCP这一栏, 步骤2:鼠标左击CANdelaStudio 步骤3:弹出如下弹窗,选择 I accept 步骤4:选择新建 步骤5&…