双目视觉实战--相机几何

news2025/7/7 17:32:34

目录

一、针孔摄像机和透镜

1. 针孔摄像机的原理

2. 近轴折射模型

3. 镜头畸变问题

二、摄像机几何

1. 数学基础

2. 相机坐标系(空间点)→像素坐标系的映射关系:

3. 规范化投影变换

4. 投影变换的性质

三、其他摄像机模型

1. 弱透视投影摄像机

2. 正交投影摄像机

3. 透视投影摄像机和正交投影摄像机的比较

4. 各种摄像机模型的应用场合


一、针孔摄像机和透镜

1. 针孔摄像机的原理

        如果将胶片直接放置在物体前方,物体的每一个点都会发散出很多束光线,胶片上的每一个点都会叠加物体不同位置发出的光线,这样没有办法在胶片上清晰地成像。

                                                 

如果在物体和胶片中间加一块隔板,隔板中间有一个小针孔,这样隔板会滤除大部分对成像产生干扰的光束,最后在胶片上呈现出一个倒立的像。这就是“小孔成像”原理的直观解释。                                                                           

针孔摄像机就利用了“小孔成像”原理,示意图如下:

                                       

其中,f=焦距,o=光圈=针孔=摄像机中心。虚拟相平面与真实像平面对称,内容一样,x, y方向与真实相平面相反。实际处理中默认分析的是虚拟像平面。

        随着光圈减小,成像效果越来越清晰,但是图像越来越暗。为了解决这一问题,可以增加透镜,将多条光线聚焦到胶片上,增加照片的亮度。

                                                          

2. 近轴折射模型

在凸透镜成像中,我们只关心透镜和胶片之间的距离,其中。

                                                         

由上图可以看出,凸透镜成像与小孔成像满足同样的相似关系。因此,凸透镜成像满足以下关系:

3. 镜头畸变问题

         由于镜头制造工艺不完美,镜头形状存在缺陷,因此相机成像会发生畸变。畸变主要分为径向畸变和切向畸变,这里主要考虑径向畸变。

        径向畸变可以分为枕形畸变和桶形畸变。通常情况下,广角镜头容易产生桶形畸变,而长焦镜头则更容易出现枕形畸变。

                                                        

二、摄像机几何

1. 数学基础


         图像点(欧式坐标→齐次坐标):
        空间点(欧式坐标→齐次坐标):
        图像点(齐次坐标→欧式坐标):
        空间点(齐次坐标→欧式坐标):
        注意:如果两个齐次坐标成比例,如,则和对应的欧式坐标是相等的。

2. 相机坐标系(空间点)→像素坐标系的映射关系:


        其中,和单位:像素/米。通常令,单位:像素。

                                    

注意:

        实际标定中,相机坐系,轴的方向是与像素坐标系,轴的方向(注意:此处成像平面为虚拟像平面)相同的,而像素坐标系,轴的方向是人为规定的,一般是左上角第一个像素为坐标原点,向右为轴正方向,向下为轴正方向。

        实际处理时都是使用虚拟像平面。虚拟像平面与像平面坐标系相比,, 轴反向。

        在上图中,假设相机与物体之间存在一个虚拟像平面,则像素坐标原点一般为从左向右观察到的虚拟相平面的左上角。

        设为像素点的齐次坐标,为像素点的欧式坐标,为空间点相对于相机坐标系的齐次坐标,可以写出:
        当摄像机不存在偏斜时,摄像机的投影矩阵如上。但是实际中摄像机可能偏斜,如下图所示:

                                                          

3. 规范化投影变换

规范化投影变换(Normalization Projection Transform)是一种图像处理技术,用于将图像从原始的任意尺寸和形状变换为标准化的尺寸和形状。

规范化投影变换通常包括以下步骤:

  1. 提取关键点:根据特定任务需求,在原始图像中选择一些关键点,例如人脸识别中的眼睛、嘴巴等特征点。

  2. 计算变换矩阵:根据选定的关键点,利用几何变换方法(如仿射变换或透视变换),计算出一个变换矩阵。这个矩阵描述了如何将原始图像中的关键点映射到目标标准化尺寸和形状的位置。

  3. 应用变换:使用计算得到的变换矩阵,对原始图像进行变换。通过应用变换,原始图像中的关键点将被重新定位到标准化图像中的相应位置,从而实现图像的规范化。

4. 投影变换的性质

  1. 点投影为点
  2. 线投影为线
  3. 近大远小
  4. 角度不再保持
  5. 平行线相交(3D世界中的平行线在图像中相交于“影消点”)

三、其他摄像机模型

1. 弱透视投影摄像机

                                    

注意:

        弱透视投影摄像机的透视投影矩阵的最后一行一定是0 0 0 1。

2. 正交投影摄像机

 当摄像机中心到像平面的距离无限远时,空间点和像平面点的坐标呈1:1的比例关系。

                                           

3. 透视投影摄像机和正交投影摄像机的比较

                                  

4. 各种摄像机模型的应用场合

  • 正交投影:更多应用在建筑设计(AutoCAD)或者工业设计行业。
  • 弱透视投影:在数学方面更简单。当物体较小且较远时准确,常用于图像识别任务。
  • 透视投影:对于3D到2D映射的建模更为准确。用于运动恢复结构或SLAM。

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

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

相关文章

使用vscode + vite + vue3+ element3 搭建vue3脚手架

技术栈 开发工具:VSCode 代码管理:Git 前端框架:Vue3 构建工具:Vite 路由:vue-router 状态管理:vuex AJAX:axios UI库:element-ui 3 数据模拟:mockjs css预处理&#xf…

ORACLE 特殊日期时间转换,计算

一:特殊日期处理 如该字段存储日期形式为:2023/4/23 9:00,2023-3-1 12:23。将这样的数据转换成正确的格式(yyyy-mm-dd HH24:mi:ss),即为:2023-04-23 09:00:00。这里举例的字段为:JS…

PCB电路板废水铜回收工艺有哪些?哪个处理效果好?

印制电路板(PrintedCircuitBoard,简称PCB)作为电子元器件电气相互连接的载体,是电子工业的重要部件之一,半导体、现代高新科技产品都离不开印制电路板。 近年来随着电子行业的快速发展,PCB生产制造量也逐年增加,然而PC…

GPT4 Advanced data analysis Code Interpreter 做行业数据分析、可视化处理图像、视频、音频等

1. 跨境电商如何用ChatGPT选品 ChatGPT Jungle scout 案例:跨境电商如何用ChatGFT选品 ChatGPTJungle scout 素材和资料来自: Jungle ScoutEM, Michael Soltis 和 文韬武韬AIGC 1.1 从Jungle scout上下载数据 Date Range > Last 90 days Downlo…

vscode提示扩展主机在过去5分钟内意外终止了3次,解决方法

参考链接: https://code.visualstudio.com/blogs/2021/02/16/extension-bisect https://code.visualstudio.com/docs/setup/uninstall#_clean-uninstall 使用vscode打开jupyter notebook记事本时,窗口右下角提示扩展主机在过去5分钟内意外终止了3次 而…

力扣每日一题46:全排列

题目描述: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: …

类加载的过程总结以及双亲委派模型[JVM]

类加载过程 类一共有七个生命周期:加载->验证->准备->解析->初始化->使用->卸载 加载(加载字节码文件,生成.class对象) 加载是类加载的第一个阶段。 加载阶段的任务是在类文件从磁盘加载到内存中,通常是从cl…

【学习笔记】RabbitMQ04:延迟队列的原理以及实现代码

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 七、延迟队列7.1 什么是延迟队列7.2 延迟队列的解决方案7.2.1 定时任务7.2.2 **被动取消**7.2.3 JDK的延迟队列7.2.3 采用消息中间件(rabbitMQ7.2.3.1 适用专门优化后的死信队列实现延迟队…

防火墙规则顺序解决方案

防火墙是保护网络免受攻击的第一道防线,防火墙对互联网和公司IT网络之间的流量拥有绝对控制权,防火墙规则的配置处理调节流量的关键任务。 这些规则会仔细检查传入和传出流量,并根据规则中提到的条件允许或阻止它,防火墙规则越严…

leetCode 5. 最长回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针

5. 最长回文子串 - 力扣(LeetC5. 最长回文子串 - 力扣(LeetCode)5. 最长回文子串 - 力扣(LeetC 给你一个字符串 s,找到 s 中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。…

制造企业如何做好MES管理系统需求分析

随着制造业的不断发展,制造企业对于生产过程的管理需求日益增长。为了提高生产效率和质量,越来越多的制造企业开始关注MES生产管理系统的需求分析。本文将从以下几个方面探讨制造企业如何做好MES管理系统需求分析。 一、明确需求 在进行MES管理系统需求…

利用PHP快速抓取音频数据的方法与技巧

目录 使用cURL库抓取音频数据 优点 潜在问题及解决方案 使用file_get_contents函数抓取音频数据 优点 潜在问题及解决方案 总结 随着互联网的发展,音频内容在网络上的应用越来越广泛,如音乐播放、语音通信等。有时,我们需要从特定的音…

电脑缺失dll文件有什么办法快速解决,dll文件是什么

玩游戏时经常会出现dll文件缺失,那么dll文件是什么?都有哪些办法可以解决dll文件缺失?今天就带大家了解dll文件以及解决dll文件缺失的办法,看完这篇文章相信你会有很大收获,接下来往下看。 一.Dll文件 Dll文件是VC运…

互联网Java工程师面试题·Java 总结篇·第二弹

目录 12、用最有效率的方法计算 2 乘以 8? 13、数组有没有 length()方法?String 有没有 length()方法? 14、在 Java 中,如何跳出当前的多重嵌套循环? 15、构造器(constructor)是否可被重写&…

汽车安全的未来:毫米波雷达在碰撞避免系统中的角色

随着科技的飞速发展,汽车安全系统变得愈加智能化,而毫米波雷达技术正是这一领域的亮点之一。本文将深入探讨毫米波雷达在汽车碰撞避免系统中的关键角色,以及其对未来汽车安全的影响。 随着城市交通的拥堵和驾驶环境的变化,汽车安全…

腾讯云入选挑战者象限,2023 Gartner容器管理魔力象限发布

10月17日,记者获悉,腾讯云入围在Gartner刚刚发布的2023《容器管理魔力象限》报告(Magic Quadrant™ for Container Management)中,并位列挑战者象限,执行力维度排名国内第二。 Gartner的魔力象限报告是业界…

Spring: 通过注解获取Bean对象

目录 一, 属性注入 属性注入的优点: 属性注入的缺点 二. Setter注入 Setter注入的优点: Setter注入的缺点: 三, 构造方法注入 (主流方式) 构造方法注入的优点 构造方法注入的缺点 四, Autowired与Resource区别 获取Bean对象也叫对象注入(对象装配), 指把对象取出来放…

阿里云starrocks监控告发至钉钉群

背景:新入职一家公司,现场没有对sr的进行监控,根据开发的需求编写了一个python脚本。 脚本逻辑:抓取sr的be/fe/routine load状态信息,判读是否触发告警,若满足告警条件,则发送告警信息到钉钉群…

C# GFPGAN 图像(人脸面部)修复

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {pu…

小程序首页搭建

小程序首页搭建 1. Flex布局是什么?2. 容器的属性2.1 flex-direction属性2.2 flex-wrap属性2.3 flex-flow属性2.4 justify-content属性2.5 align-items属性2.6 align-content属性 二.首页布局搭建二.1moke模拟数据实现轮播图4.信息搭建 Flex弹性布局 1. Flex布局是…