双目标定

双目标定

这篇帖子讲得是使用opencv的双目标定(含代码)
https://blog.csdn.net/lolo199611015513/article/details/109486838?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-6&spm=1001.2101.3001.4242

这篇帖子是讲如何使用matlab的工具箱进行标定
https://blog.csdn.net/u013011415/article/details/44907479

另一篇matlab双目标定的帖子
https://blog.csdn.net/leonardohaig/article/details/81254179

这篇帖子是英文的,很详细,但是可能要花点时间来看。
http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#examples

双目立体标定的帖子
https://blog.csdn.net/bestrivern/article/details/88397555

介绍函数StereoRectify函数的使用和参数
https://blog.csdn.net/qq_41685265/article/details/105777229

立体校正函数 stereoRectify()

stereoRectify() 的作用是为每个摄像头计算立体校正的映射矩阵。所以其运行结果并不是直接将图片进行立体矫正,而是得出进行立体矫正所需要的映射矩阵。
调用方法,

void stereoRectify(InputArray cameraMatrix1, InputArray distCoeffs1, 
           InputArray cameraMatrix2,InputArray distCoeffs2, Size imageSize, 
           InputArray R, InputArray T,OutputArray R1, OutputArray R2, OutputArray P1, 
           OutputArray P2, OutputArray Q, int flags=CALIB_ZERO_DISPARITY, double alpha=-1, 
           Size newImageSize=Size(), Rect* validPixROI1=0, Rect* validPixROI2=0 ) 
  

cameraMatrix1-第一个摄像机的摄像机矩阵
distCoeffs1-第一个摄像机的畸变向量
cameraMatrix2-第二个摄像机的摄像机矩阵
distCoeffs1-第二个摄像机的畸变向量
imageSize-图像大小
R- 旋转矩阵
T- 平移矩阵
R1-输出矩阵,第一个摄像机的校正变换矩阵(旋转变换)
R2-输出矩阵,第二个摄像机的校正变换矩阵(旋转矩阵)
P1-输出矩阵,第一个摄像机在新坐标系下的投影矩阵
P2-输出矩阵,第二个摄像机在想坐标系下的投影矩阵
Q-4*4的深度差异映射矩阵flags-可选的标志有两种零或者 CV_CALIB_ZERO_DISPARITY ,如果设置 CV_CALIB_ZERO_DISPARITY 的话,该函数会让两幅校正后的图像的主点有相同的像素坐标。否则该函数会水平或垂直的移动图像,以使得其有用的范围最大alpha-拉伸参数。如果设置为负或忽略,将不进行拉伸。如果设置为0,那么校正后图像只有有效的部分会被显示(没有黑色的部分),如果设置为1,那么就会显示整个图像。设置为0~1之间的某个值,其效果也居于两者之间。
newImageSize-校正后的图像分辨率,默认为原分辨率大小。validPixROI1-可选的输出参数,Rect型数据。其内部的所有像素都有效validPixROI2-可选的输出参数,Rect型数据。其内部的所有像素都有效

映射变换计算函数 initUndistortRectifyMap()

该函数功能是计算畸变矫正和立体校正的映射变换。
调用方法,

void initUndistortRectifyMap(InputArray cameraMatrix, InputArray 
                 distCoeffs, InputArray R,InputArray newCameraMatrix, Size size, int 
                 m1type, OutputArray map1, OutputArray map2) 
 

cameraMatrix-摄像机参数矩阵
distCoeffs-畸变参数矩阵
R- stereoCalibrate() 求得的R矩阵
newCameraMatrix-矫正后的摄像机矩阵(可省略)
Size-没有矫正图像的分辨率
m1type-第一个输出映射的数据类型,可以为 CV_32FC1 或 CV_16SC2 map1-输出的第一个映射变换map2-输出的第二个映射变换

几何变换函数 remap()

调用方法,

void remap(InputArray src, OutputArray dst, InputArray map1, InputArray 
      map2, int interpolation,int borderMode=BORDER_CONSTANT, const Scalar& 
      borderValue=Scalar()) 
 

src-原图像

Q矩阵的解释
https://zhuanlan.zhihu.com/p/31990359

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值