MATLAB中的错误整改

Wrong rectification in MATLAB

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 link进行图像整改。校正后,图像应该看起来像相机是平行的。但就我而言,图像中仍然存在垂直差异。

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

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

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

顺便说一下,有一个 stereoAnaglyph 函数,您可以使用它来创建红青色立体图。