2016-04-24 368 views
2

我不是想整顿对立体图像,但我从功能上得到一个奇怪的错误rectifyStereoImages抛出“没有足够的输入参数错误”

Error using rectifyStereoImages (line 106) 
Not enough input arguments. 

Error in RealTimeProcessing>captureButton_Callback (line 134) 
[I1Rect, I2Rect] = rectifyStereoImages(I1, I2,stereoParams); 

自己编写的代码行是

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

正如您所看到的,两个图像和stereoParameters都存在。我通过使用MATLAB中的立体相机校准工具获得了stereoParams。是否有一些我缺少的输入?链接到文件是here。我已经包含了两个输入图像和stereoParams。

+0

它给了我rectifyStereoImages.m文件的路径 /Applications/MATLAB_R2015b.app/toolbox/vision/vision/rectifyStereoImages.m –

+0

它的工作原理,当我使用[这](http://in.mathworks.com /help/vision/examples/uncalibrated-stereo-image-rectification.html)教程。但是我已经校准了我的相机,所以我正在使用[this](http://in.mathworks.com/help/vision/ref/rectifystereoimages.html),并且出现此错误。 –

回答

2

class(stereoParams)返回什么?

rectifyStereoImages函数有两种语法:校准和未校准。对于校准的情况下,它需要两个图像和一个stereoParameters对象。对于未校准的情况,它需要类projective2d的两个图像和两个投影变换对象。

从你写的东西看来,你的stereoParams实际上是一个投影转换对象。在这种情况下,rectifyStereoImages进入未校准模式,并期待其中两个。

+0

我运行了'class(s​​tereoParams)',并且实现了'stereoParams'对象被存储为一个1x1对象,其中包含原始'stereoParams'对象。所以我只是用'[I1Rect,I2Rect] =整流立体声图像(I1,I2,stereoParams.stereoParams)'替换了'I1Rect,I2Rect] =整流立体声图像(I1,I2,stereoParams);''现在完美。谢谢。 –

相关问题