2011-04-05 38 views
1

我刚刚下载了多相机自校准工具箱的兼容Octave(和MATLAB)版本。它具有内置检查和自述文件中的一个部分,该部分说明检查运行时的期望值。如何在MATLAB中运行八度命令行程序

下面的命令行是什么启动内置的检查:

octave gocal.m --config=../strawlab/test-data/DATA20100906_134124/no-global-iterations.cfg 

readme没有告诉什么是从运行检查假想结果的部分,什么是最终结果。

我的问题是,我得到稍微不同的值,比较自述文件中提到的值。是否有可能我得到这些差异(像0.62比0.70像素错误),因为我使用的是win32构建的八度,而不是本机linux版本?

我的其他更重要的问题是,我怎么能从MATLAB运行这个脚本(gocal.m)?这个脚本有一个部分,它从命令行参数--config =中获取配置文件名。不管我怎么试着从MATLAB运行这个脚本,它总是告诉我,argv中缺少一些东西。

的代码如下:

function [config] = read_configuration(filename) 

if nargin == 0 
    % No argument given -- look for --config= on the command-line. 
    found_cfg = 0; 
    for cmdline_arg = argv() 
    arg = cmdline_arg{1} 
    szarg = size(arg); 
    if szarg(2) >= 10 
     if strcmp(arg(1:9), '--config=') 
     found_cfg = 1; 
     filename = arg(10:size(arg,2)); 
     end 
    end 
    end 
    if ~found_cfg 
    error('missing --config=FILENAME command-line argument'); 
    end 
end 

你能告诉我如何在给定的数据传为argv(包含),并开始与--config =选择所需的脚本的方法吗?

  1. 从MATLAB GUI,与运行gocal内...
  2. 命令行,用MATLAB -r gocal ...?

回答

1

argv是Octave-ism。您有两种选择:

  1. 将配置文件作为参数传递给gocal,假设gocal支持该选项。
  2. 编写一个名为“argv”的函数,返回'--config ...'。