2015-09-22 47 views
0

我正在MATLAB中使用計算機視覺工具箱2014b 有一個函數用於半全局匹配(SGM) 我試圖生成立體圖像的視差圖。但是,對於一些實驗,視差範圍需要相當大。vision.internal.disparityParser在MATLAB中

下面是函數調用:

Dmap = disparity(I1 I2, 'BlockSize', 15, 'DisparityRange', [-2466, 2466]); 

問題是DisparityRange被限定在[-2464,2464]的範圍內。因此,我收到如下所示的錯誤消息。


Error using disparity 
The value of 'DisparityRange' is invalid. Expected DisparityRange to be an array with all of the values > 
-2466. 

Error in vision.internal.disparityParser (line 38) 
parser.parse(varargin{:}); 

Error in disparity>parseOptionalInputs (line 264) 
    r = vision.internal.disparityParser(imageSize, getDefaultParameters(),... 

Error in disparity>parseInputs (line 244) 
r = parseOptionalInputs(imageSize, varargin{:}); 

Error in disparity (line 137) 
r = parseInputs(I1, I2, varargin{:}); 

我的問題:1。 我找不到函數(vision.internal.disparityParser)。應該在哪裏。 2.我想修改代碼以使超出指定限制的降雨工作。那可能嗎? 3.對於任何使用SGM函數(OpenCV)的C++版本的人,是否存在同樣的問題(即視差範圍限制)。

謝謝! :)

回答

0

我只能回答第一個問題。 vision.internal.disparityParser函數位於$ MATLAB/toolbox/vision/vision/+ vision/+ internal/disparityParser.m。