【matlab下的双目内窥镜标定与深度测距-双目成像原理】

2024-04-13 19:12

本文主要是介绍【matlab下的双目内窥镜标定与深度测距-双目成像原理】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【matlab下的双目内窥镜标定与深度测距-双目成像原理】

这里是目录

  • 介绍
  • 坐标系关系
  • 相互关系推导
  • 三角测量

介绍

双目成像是一种利用两个摄像头或摄像头组成的系统同时捕捉场景信息的技术。它模拟了人类双眼视觉系统,通过两个视角获取的图像来计算深度信息,从而实现三维感知和场景重建。

坐标系关系

在双目成像方法中共存在四个坐标系:

世界坐标系:是一个三维空间中的坐标系,用来描述物体在真实世界中的位置和姿态。在计算机视觉和机器人领域中,世界坐标系通常被定义为一个固定的参考系,例如地面上的坐标系或者某个物体表面的坐标系。

相机坐标系:是以相机为中心的坐标系,用来描述物体相对于相机的位置和姿态。相机坐标系是一个相对坐标系,其原点通常位于相机的光学中心,坐标轴与相机的视觉轴(光轴)对齐。相机坐标系提供了连接世界坐标系和图像坐标系之间的桥梁。

图像坐标系:描述真实物体在相机焦距处成像的坐标系。图像坐标系的原点通常位于图像的左上角,x轴向右延伸,y轴向下延伸。图像坐标系中的点表示物体在图像上的投影位置,是实际成像过程中的数字表示。

像素坐标系:是图像坐标系的数字化版本,用来描述物体在照片上数字图像的位置。像素坐标系中的点是由图像中的像素点组成,每个像素点都有唯一的坐标位置,通常以整数表示。像素坐标系的单位是像素,是数字图像处理和计算机视觉中常用的坐标系统。

双目成像的目的即是,将建立像素坐标系中某一点到世界坐标系中的关系,通过像素坐标系的一点,得到与其对应世界坐标系相对于相机的深度距离。,显然像素坐标系是二维,世界坐标系是三维,需要向更高维度进行映射。

相互关系推导

世界坐标系到相机坐标系的转换:
旋转矩阵
R:描述世界坐标系到相机坐标系的旋转关系。
平移向量
t:描述世界坐标系到相机坐标系的平移关系
在这里插入图片描述

相机坐标系到图像坐标系的转换:
内参矩阵
K:包括焦距、主点坐标和畸变参数,描述相机坐标系到图像坐标系的投影关系。
坐标归一化矩阵
N:将相机坐标系中的三维坐标转换为图像坐标系中的二维坐标。

在这里插入图片描述

其中,f x​ 和 f y​ 是相机的水平和垂直焦距,c x​ 和 c y​ 是主点的水平和垂直坐标,z 是相机坐标系中的深度。

图像坐标系到像素坐标系的转换:
分辨率矩阵 M:描述图像坐标系中的单位长度与像素坐标系中的单位长度之间的关系。
在这里插入图片描述
其中,m x​ 和 m y​ 是图像的水平和垂直分辨率

相机中感光器件的每个像素物理尺寸为dx*dy,则图像坐标系中的坐标(x,y)与像素坐标系中的坐标(u,v)之间的关系可以表示为:
在这里插入图片描述

这个关系可以用矩阵形式表示为:
在这里插入图片描述

则像素坐标系到世界坐标系的映射关系:

在这里插入图片描述
如果加上在世界坐标系中的旋转矩阵R和平移向量T有:

在这里插入图片描述
完成转换

三角测量

利用已知的基线长度(两个摄像头之间的距离)和视差角度,可以使用三角测量法计算物体的距离
在这里插入图片描述

视差(Disparity):视差表示在两个摄像头之间看到同一物体时,该物体在图像中的位置差异。视差d与物体距离Z之间有以下关系:
在这里插入图片描述
其中,B是基线长度(两个摄像头之间的距离),f是焦距。

通过视差d和基线长度B可以计算出物体的深度Z:
在这里插入图片描述

这篇关于【matlab下的双目内窥镜标定与深度测距-双目成像原理】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑