主要内容

estimateUncalibratedRectification

未校准立体整流

描述

例子

T1T2= estimateuncalibratedcorrection (FinlierPoints1inlierPoints2图象尺寸返回校正立体图像的射影变换。这个函数不需要任何内在或外在的相机参数。

例子

全部折叠

这个例子展示了如何从一对立体图像中的对应点计算基本矩阵。

加载已匹配的立体图像和特征点。

I1 = imread(“yellowstone_left.png”);I2 = imread(“yellowstone_right.png”);负载yellowstone_inlier_points

显示点对应关系。请注意,匹配点在不同的行中,这表明立体对没有校正。

showMatchedFeatures (I1、I2 inlier_points1 inlier_points2,“蒙太奇”);标题(“原始图像和匹配特征点”);

图中包含一个轴对象。标题为原始图像和匹配特征点的坐标轴对象包含图像、直线等类型的4个对象。

从相应的点计算基本矩阵。

f = estimatementalmatrix (inlier_points1,inlier_points2,...“方法”“Norm8Point”);

计算整流变换。

[t1, t2] = estimateuncalibratedrectifier (f,inlier_points1,...inlier_points2、大小(I2));

使用投影变换t1和t2校正立体图像。

[I1Rect,I2Rect] = rectifyStereoImages(I1,I2,t1,t2);

显示立体浮雕,也可以用3-D眼镜观看。

图;imshow (stereoAnaglyph (I1Rect I2Rect));

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

立体图像的基本矩阵,指定为3 × 3的基本矩阵。基本矩阵满足以下条件:

如果P1,图像中的一个点1,对应于P2,图像中的一个点2,那么:
P21) *F* (P1,1]' = 0

F必须是双人间或单人间。

图像1中对应点的坐标,指定为的-by-2矩阵[x y]坐标的个数,或作为aORBPointsBRISKPointsSIFTPointsSURFPointsMSERRegions,或cornerPoints对象。

图二中对应点的坐标,用an表示的-by-2矩阵[x y]坐标的个数,或作为aORBPointsBRISKPointsSIFTPointsSURFPointsMSERRegions,或cornerPoints对象。

方法返回的格式,指定为双精度、单精度或整数值的第二个输入图像大小大小函数。输入图像的大小2对应于inlierPoints2

输出参数

全部折叠

射影变换,返回为一个3 × 3矩阵,描述输入图像的射影变换T1

射影变换,返回为一个3 × 3矩阵,描述输入图像的射影变换T2

提示

  • 偶极可以位于所述第一象或所述第二象中。应用输出未校准整流T1(或T2)到图像1(或图像2)可能会导致不希望看到的失真。属性可以在图像内检查偶极isEpipoleInImage函数。

参考文献

哈特利,R.和A.齐瑟曼。计算机视觉中的多视图几何.剑桥大学出版社,2003。

[2]波勒菲斯,M.科赫,R.凡古尔,L.一种简单有效的一般运动整流方法.第七届IEEE计算机视觉国际会议论文集。第一卷,496-501页。1999.DOI: 10.1109 / ICCV.1999.791262。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2012b中引入