【matlab下的双目内窥镜标定与深度测距-双目标定内容】

2024-04-13 21:04

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

【matlab下的双目内窥镜标定与深度测距-双目标定内容】

在本片中主要讲述如何通过matlab标定双目内窥镜,以及标定结果参数的含义,和使用方法

一般来说标定相机由opencv标定和matlab 标定两种方法,但是opencv由于是全部自主化进行,没有办法调整标定中的图像样本,因此普遍来说,标定精度会弱于matlab。建议在标定时使用matlab标定。

这里是目录

  • 标定过程
  • 参数分析
  • 极线矫正参数

标定过程

与标定普通内窥镜的流程相同
选择matlab工具箱中的双目标定工具箱
在这里插入图片描述
添加图像
在这里插入图片描述
选择左右目相机图像,名称一一对应,选择棋盘格间距
在这里插入图片描述
标定选项
在这里插入图片描述
角点提取效果

在这里插入图片描述
根据重投影误差,删减误差过大的样本,平均误差越小越好
在这里插入图片描述
极线对齐结果
在这里插入图片描述

然后export将参数保存到工作区域,在工作区域另存为mat数据
完成标定

参数分析

需要注意的是,在标定的结果中,不会出现双目测距中需要的参数,如果想获得

参数结果
在这里插入图片描述
其中左右相机的参数数据如下
在这里插入图片描述

RadialDistortion:径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3表示。

TangentialDistortion:切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2表示。
在使用时,需要注意参数的排放顺序,即(K1,K2,P1,P2,K3)

IntrinsicMatrix:存放的是摄像头的内参,只与摄 像机的内部结构有关,需要先转置再使用。通常表示为f,0,cx;0,fy,cy;0,0,1。其中,f和fy是焦距,cr和cy是图像中心的像素坐标。内参矩阵描述了摄像头的几何特性和成像方式,对于图像校正和三维重建等任务非常重要

FundamentalMatrix 和EssentialMatrix分别是基础矩阵和本质矩阵

极线矫正参数

[re_imgleft, re_imgright,Q,Pl,Pr,Rl,Rr] = rectifyStereoImages(leftimg,rightimg,stereoParams.stereoParams,'OutputView', 'valid');

得到极线对齐相关参数

Q:视差矩阵,用于后续的三维重建
Pl:左侧相机的投影矩阵
Pr:右侧相机的投影矩阵
Rl:左侧相机的旋转矩阵
Rr:右侧相机的旋转矩阵

都看到这了,点个赞再走吧彦祖

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



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

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3