【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:右侧相机的旋转矩阵
都看到这了,点个赞再走吧彦祖