相机内参及其内参影响因素的几点思考

目录

理论推导之从相机坐标系到像素坐标系

机械参数对相机内参的影响

Resize与Crop对相机内参的影响

参考文献


理论推导之从相机坐标系到像素坐标系

        相机内参的意义即从相机坐标系到像素坐标系的表达,其中共涉及到三个坐标系:相机坐标系、成像坐标系、像素坐标系,其中进相机坐标系为3维坐标系,其他为平面坐标。如下图,引用了网络上常见的图例来推导其中的坐标变换。

源自网络,如侵联删

        如下图所示即为相机内参的详细推导过程。其中第四行中的负号其实是根据小孔成像的倒立原理形成的,而后面我们为了表示方便,同时也是统一两个平面坐标系的方向又取消掉了负号,最终推得了内参的表示形式。

机械参数对相机内参的影响

        参考下面我们推的内参表达式,影响内参的一共有三类参数:焦距、坐标缩放系数、坐标原点位置。其中焦距这个参数就是由机械参数决定的。

        从设计与制造的角度来讲:不同相机供应商的结构设计、工艺水平影响相机的尺寸。学机械的朋友们应该清楚,由于公差互换性的存在,即便同一型号、同一生产批次的零件尺寸也不近相同;从产品使用的角度来讲,零件由于振动、碰撞等不可控因素导致的机械部件的相对位置变化,如镜头的同轴度超差等原因,也势必引起内参的变化。

Resize与Crop对相机内参的影响

        Resize或者Crop其实是图像处理的概念,其变换方式可以等价于我们在推导过程中的坐标缩放和坐标系平移的操作,当进行图像Resize或者Crop时,其对应的内参系数变化分别如下式。

# 当进行图像Resize时,内参矩阵中
fx'=Rx*fx, fy'=Ry*fy
# 当进行图像Crop时,内参矩阵中
Cx'=Cx-△x, Cy'=Cy-△y

        当我们抛开具体的应用场景在谈Resize或者Crop对相机内参的影响时,需要注意的就是:由于图像Resize或Crop整体坐标变换的影响,可以直接等效为内参变换对整体坐标变换的影响。而现实中,图像不管是Resize还是Crop,都不会真实影响到相机的内外参,而仅仅影响了一连串的变换矩阵罢了。

参考文献

【1】#

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

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

相关文章

2018年计网408

第33题 下列 TCP/P应用层协议中, 可以使用传输层无连接服务的是()A. FTPB. DNSC. SMTPD. HTTP 本题考察TCP/IP体系结构中,应用层常用协议所使用的运输层服务。 如图所示。这是TCP/IP体系结构中常见应用层协议各自所使用的运输层端口,。在这些应用层协议中&#x…

IIC 通信协议之stm32 驱动OLED

前言 使用stm32 驱动4 Pin 的OLED, 现在网上开源的资料多的是,但是为了锻炼自己使用第一手资料的能力,今天我还是从数据手册开始,从头造一波轮子,同时也是为了加深自己对 IIC 协议的理解 ,本系列内容我会从…

Transformer ZOO

Natural Language Processing Transformer:Attention is all you need URL(46589)2017.6 提出Attention机制可以替代卷积框架。引入Position Encoding,用来为序列添加前后文关系。注意力机制中包含了全局信息自注意力机制在建模序列数据中的长期依赖关系方面表现出…

Linux调试器:gdb的使用

我们知道在Visual Studio2022中,我们可以对编好的代码进行调试来分析dug的位置,那Linux环境下如何进行程序的调试呢?那就是使用Linux调试器:gdb。 目录 1.背景 2. 开始使用 1.背景 程序的发布方式有两种,debug模式…

Java Web 实战 20 - HTTP PK HTTPS ? HTTPS 大获全胜 ?

HTTP VS HTTPS 一 . HTTPS1.1 臭名昭著的运营商劫持1.2 加密是什么 ?1.3 HTTPS 的加密过程对称加密非对称加密引入 "证书" 机制 1.4 HTTP VS HTTPS Hello , 大家好 , 好久没有更新 JavaWeb 模块的内容了 . 博主这篇文章主要给大家讲解一下 HTTPS 以及与 HTTP 的区别…

Spring IOC/DI和MVC及若依对应介绍

文章目录 一、Spring IOC、DI注解1.介绍2.使用 二、Spring MVC注解1.介绍2.使用 一、Spring IOC、DI注解 1.介绍 什么是Spring IOC/DI? IOC(Inversion of Control:控制反转)是面向对象编程中的一种设计原则。其中最常见的方式叫做依赖注入(…

Backtrader绘图cerebro.plot报错问题的处理

Backtrader绘图cerebro.plot报错问题的处理 1.问题描述 在jupyter 中使用BackTrader ,使用绘图功能时: cerebro.plot() 提示错误:ValueError: Axis limits cannot be NaN or Inf 由于backtrader 要求有7列数据,最后一列openint…

(数据结构)算法的时间复杂度

注意语句频度和时间复杂度的区别,语句频度是指语句执行的次数,不可以像时间复杂度一样近似次数和省略常数项

图书管理系统(图文详解,附源码)

前言:本文旨在用面向对象的思想编程实现图书管理系统,功能包括增删查找,完整源码放在文末,大家有需自取 目录 一.整体框架 二.书籍和书架 书籍(Book) 书架(BookRack) 三.对书籍的相关操作 操作接口(IOperation) 新增图书(A…

支付、结算、对账流程

1、支付过程概览 2、微信支付流程 以微信支付为例,用户使用北京银行,商户收款银行为工行银行,列出机构名 用户在商户处选购商品或服务,选择使用微信支付进行付款。用户打开微信支付,输入支付密码或进行指纹识别等身份验证。微信支付系统将支付请求发送给北京银行。北京银行…

校园服装定制服务预约小程序的效果如何

对校园服装定制商家而言,如今线下流量稀缺,同行多且竞争激烈,同时这一行面对的消费者非大众,因此各品牌间都在通过各种方式进行同城或多地的客户拓展,但线下方式无疑是比较低效的。线上是一个不错的选择,不…

用cmd看星球大战大电影,c++版本全集星球大战,超长多细节

用cmd看星球大战 最近发现了一个有趣的指令。 是不是感觉很insteresting呢 教程 进入控制面板,点击系统与安全 然后,进入以后,点击启用或关闭 Windows 功能 启用Telnet Client并点击确定 用快捷键winr打开我们的cmd 输入指令 telnet towe…