【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

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

韦季李输入法_输入法和鼠标的深度融合

在数字化输入的新纪元,传统键盘输入方式正悄然进化。以往,面对实体键盘,我们常需目光游离于屏幕与键盘之间,以确认指尖下的精准位置。而屏幕键盘虽直观可见,却常因占据屏幕空间,迫使我们在操作与视野间做出妥协,频繁调整布局以兼顾输入与界面浏览。 幸而,韦季李输入法的横空出世,彻底颠覆了这一现状。它不仅对输入界面进行了革命性的重构,更巧妙地将鼠标这一传统外设融入其中,开创了一种前所未有的交互体验。 想象

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

深度优先(DFS)和广度优先(BFS)——算法

深度优先 深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支,当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };