文档

rectifyStereoImages

纠正一双立体影像

描述

例子

(j - 1,J2)= rectifyStereoImages (I1,I2,stereoParams)返回不失真和修正版本的I1I2使用立体参数存储在输入图像stereoParams对象。

立体形象整改项目图片到一个通用的图像平面的方式对应的坐标点有相同的行。这幅图像投影使图像看起来好像两个摄像头是平行的。使用disparityBMdisparitySGM函数来计算视差地图纠正图像的三维场景重建。

(j - 1,J2)= rectifyStereoImages (I1,I2,tform1,tform2)返回的修正版本I1I2输入图像通过应用射影变换tform1tform2。返回的射影变换estimateUncalibratedRectification函数。

例子

(j - 1,J2)= rectifyStereoImages (___,插值函数)另外指定了用于纠正图像插值方法。你可以指定方法“最近的”,“线性”,或“立方”

例子

(j - 1,J2)= rectifyStereoImages (___,名称,值)使用指定的一个或多个额外的选项名称,值对参数。

例子

全部折叠

指定图像包含棋盘校准。

imageDir = fullfile (toolboxdir (“愿景”),“visiondata”,“校准”,“立体”);leftImages = imageDatastore (fullfile (imageDir“左”));rightImages = imageDatastore (fullfile (imageDir“对”));

检测棋盘格。

[imagePoints, boardSize] = detectCheckerboardPoints (leftImages.Files rightImages.Files);

指定棋盘要点的世界坐标。

squareSizeInMillimeters = 108;worldPoints = generateCheckerboardPoints (boardSize squareSizeInMillimeters);

读取图像。

I1 = readimage (leftImages, 1);I2 = readimage (rightImages, 1);图象尺寸= [(I1, 1),大小(I1, 2)];

校准立体相机系统。

stereoParams = estimateCameraParameters (imagePoints worldPoints,“图象尺寸”、图象尺寸);

纠正图像使用完整的输出视图。

[J1_full, J2_full] = rectifyStereoImages (I1、I2 stereoParams,“OutputView”,“全部”);

显示结果为“全部”输出视图。

图;imshow (stereoAnaglyph (J1_full J2_full));

纠正图像使用的有效输出视图。这是最适合计算差异。

[J1_valid, J2_valid] = rectifyStereoImages (I1、I2 stereoParams,“OutputView”,“有效”);

显示结果为“有效”输出视图。

图;imshow (stereoAnaglyph (J1_valid J2_valid));

输入参数

全部折叠

输入图像对应的相机1,指定为一个——- - - - - -N3真彩图像或一个——- - - - - -N二维灰度阵列。输入的图像I1I2也必须是真实的,有限的,和nonsparse。输入图像必须是同一个班。

数据类型:uint8|uint16|int16|||逻辑

输入图像对应于相机2,指定为一个——- - - - - -N3真彩图像或一个——- - - - - -N二维灰度阵列。输入的图像I1I2必须是真实的,有限的,和nonsparse。输入图像必须是相同的类。

数据类型:uint8|uint16|int16|||逻辑

立体相机系统参数,指定为一个stereoParameters对象。

数据类型:uint8|uint16|int16||

射影变换的图像1,指定为返回的3 x3的矩阵estimateUncalibratedRectification函数或projective2d对象。

射影变换的图像2,指定为返回的3 x3的矩阵estimateUncalibratedRectification函数或projective2d对象。

插值方法,指定为“线性”,“最近的”,或“立方”

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“OutputView”,“有效”设置“OutputView”财产“有效”

纠正图像的大小,指定为逗号分隔两人组成的“OutputView”,要么“全部”“有效”。当你设定这个参数“全部”,纠正图像包含所有像素从原始图像。当你将这个值设置为“有效”,输出图像剪裁最大的大小共同矩形包含有效像素。

当没有纠正图像重叠设置OutputView“全部”

输出像素填值,指定为逗号分隔两人组成的“FillValues和一个或多个标量值的数组。当输入图像中的相应inverse-transformed位置完全在输入图像边界之外,使用填充输出像素值。如果I1I2二维灰度图像,那么必须设置”FillValues一个标量。如果I1I2真彩图像,那么你可以设置的FillValues转换一个标量或矢量的RGB值。

输出参数

全部折叠

无畸变的修正版I1,作为一个返回——- - - - - -N3真彩图像或作为——- - - - - -N二维灰度图像。

立体形象整改项目图片到一个通用的图像平面的方式对应的坐标点有相同的行。这幅图像投影使图像看起来好像两个摄像头是平行的。使用disparityBMdisparitySGM函数来计算视差地图纠正图像的三维场景重建。

无畸变的修正版I2,作为一个返回——- - - - - -N3真彩图像或作为——- - - - - -N二维灰度图像。

立体形象整改项目图片到一个通用的图像平面的方式对应的坐标点有相同的行。这幅图像投影使图像看起来好像两个摄像头是平行的。使用disparityBMdisparitySGM函数来计算视差地图纠正图像的三维场景重建。

引用

[1]Bradski和a . Kaehler学习OpenCV: OpenCV的计算机视觉库。塞瓦斯托波尔,CA: O ' reilly, 2008年。

扩展功能

介绍了R2014a