MATLAB中的错误纠正

时间:2016-04-26 09:58:33

标签: matlab image-processing matlab-cvst 3d-reconstruction

Matlab中的整改功能似乎是错误的。如果我得到正确的输出,谁能告诉我?

左图 正确的形象 未经整理的图像的浮雕 整形图像的立体图

这是我的代码:

leftImageSnapshot = getsnapshot(handles.vidL);
imshow(leftImageSnapshot);

rightImageSnapshot = getsnapshot(handles.vidR);
imshow(rightImageSnapshot);



[I1Rect,I2Rect]=rectifyStereoImages(I1,I2,stereoParams,'OutputView','valid');
    imshowpair(I1Rect,I2Rect,'falsecolor','ColorChannels','red-cyan');

我正在关注this链接进行图像修正。整改后,图像应该看起来像摄像机是平行的。但就我而言,垂直差异仍然存在于图像中。

我正在尝试获取应删除垂直差异的视差图。

1 个答案:

答案 0 :(得分:1)

我最好的猜测是你的相机在校准后被移动了。校准后,相机相对于彼此的位置和方向不会改变。如果是,则stereoParams不再有效。

要查看哪里出了问题,请使用立体相机校准器应用程序再次进行校准,然后单击"显示已校正"主图像窗格左下角的按钮。我将向您展示一对经过校正的校准图像。如果这些看起来没问题,那么您的相机已经移动,您必须再次拍摄校准图像并重新校准。如果校正的校准图像看起来很糟糕,那么校准就会出现问题。

顺便说一下,有一个stereoAnaglyph功能,你可以用它来创建一个红蓝色的立体浮雕。