2015-08-29 39 views
1

我用八度运行selective search代码,它给了我这个错误:倍频找不到功能手柄

error: @SSSimColourTextureSizeFillOrig: no function and no method found

它产生这个错误代码是:

simFunctionHandles = {@SSSimColourTextureSizeFillOrig, @SSSimTextureSizeFill, @SSSimBoxFillOrig, @SSSimSize}; 

但这种代码可以在MATLAB运行成功,所以我应该有在八度的一些错误或不支持的功能处理?

回答

4

Octave与函数句柄完全没有问题。你的情况确切的问题是文件的格式。

如果你看看在你的文章中链接的Github回购,你所指的功能是MATLAB P-Code files。这些都是混淆的MATLAB文件,只能在MATLAB中运行。 P代码文件的目的是获取原始源代码,并隐藏原始源代码,以便您不能获取原始源代码并对其进行修改以供自己使用。话虽如此,你别无选择,只能用于你的目的这个功能,你不能修改它的行为。

但是,Octave并没有这种混淆支持,所以很自然地它不能重建原始代码为你运行的东西。

看看这个八度线程的详细信息:http://octave.1599824.n4.nabble.com/Matlab-p-files-td1627334.html

....所以基本上,你SOL。你只能在MATLAB中运行这些函数。但是,通过联系原作者并获得原始文件.m可能会有一些好运,但这些是P代码文件的原因可能是因为有一些作者不想共享的方法和技术,但需要以这种方式分发这些代码,以使系统的其他部分能够工作。

+1

谢谢,这很好地解释了我的问题。 – Demonedge

+0

没问题。对不起,如果这不是你正在寻找的答案! – rayryeng