【问题标题】:Wrong rectification in MATLABMATLAB中的错误纠正
【发布时间】:2016-08-20 01:57:27
【问题描述】:

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

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

【问题讨论】:

  • 你的问题是,如果只看两张图片,我们可以说它们是对还是错?不,我们不能。您需要告诉我们:您使用了哪些代码、您认为错误的原因、正确图像的外观。
  • 引用帮助“寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题中重现它所需的最短代码本身。没有明确问题陈述的问题对其他读者没有用处。见:minimal reproducible example"
  • 我已经更新了这个问题,提供了更多信息和一个链接,其中显示了修正后的图像应该是什么样子
  • 显然,参数 100% 依赖于 stereoparams。但是,这篇文章中没有关于 stereoParams 的信息。
  • Here 是我的 stereoParams 文件。我使用内置的 Stereo Camera Calibration Tool 来校准相机并获得了该 stereoParams 文件。

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


【解决方案1】:

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

要查看问题所在,请使用 Stereo Camera Calibrator 应用再次进行校准,然后单击主图像窗格左下角的“显示校正”按钮。我将向您展示一对校正后的校准图像。如果这些看起来没问题,那么您的相机已经移动,您必须再次拍摄校准图像并重新校准。如果校正后的校准图像看起来很糟糕,那么您的校准有问题。

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

【讨论】:

  • 我会再次校准并检查一下。如果两个摄像头一起移动就不会有问题吧?我打算将此设置安装在 RC 车辆上
  • 如果它们相对于彼此是固定的,你应该没问题。但从你的形象来看,我猜它们会上下反弹。一定要先尝试校正校准图像。
  • 谢谢。重新校准后肯定会更好。我会尝试更好地修复它,以阻止它彼此相对移动。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
相关资源
最近更新 更多