Matlab 支持向量机二进制函数

Matlab 支持向量机二进制函数,matlab,function,svm,Matlab,Function,Svm,我研究图像质量评估算法。我的问题如下:当我调用一个需要两个二进制文件(.Exe)的函数时(SVM分类所需),该文件不在当前文件夹中(在更改路径后,包括添加子路径),以便它提供结果a。当我将其放在函数所在的文件夹中时,以便它提供结果B(这是正确的结果). 我不明白为什么这个指标提供了两种不同的结果?我意识到的是,当我将函数调用到它自己的目录时,它会识别我所说的EXE文件。但是当我调出当前目录时,它不知道.EXE 我注意到,如果您在包含度量的所有函数的文件夹中,它会给出一个结果 如果您不在文件中,尽

我研究图像质量评估算法。我的问题如下:当我调用一个需要两个二进制文件(.Exe)的函数时(SVM分类所需),该文件不在当前文件夹中(在更改路径后,包括添加子路径),以便它提供结果a。当我将其放在函数所在的文件夹中时,以便它提供结果B(这是正确的结果). 我不明白为什么这个指标提供了两种不同的结果?我意识到的是,当我将函数调用到它自己的目录时,它会识别我所说的EXE文件。但是当我调出当前目录时,它不知道.EXE

我注意到,如果您在包含度量的所有函数的文件夹中,它会给出一个结果

如果您不在文件中,尽管您添加了包含代码的文件夹的路径和子路径,所以在测试之后,您将获得第二个收入

我在等你的答复

多谢各位


我分别测试了包含二进制文件的代码(因此2个二进制文件从任何其他DLL中分离出来),但同样,当我在后面和离开时,它的工作方式也不同。当我在文件夹中时,程序识别(svm预测和svm缩放)命令。当我不在时,程序无法识别它们,并提供了不同的结果

我想问题就在这里

我将代码放在这个链接()中,您可以下载并测试它。 要进行测试,只需加载一个图像,并调用函数:score_quality=biqi(img)(在代码附带的read me中,作者说这不是因为之前安装了libsvm)


非常感谢

一个理论:您使用的exe文件依赖于一个或多个DLL(或其他链接代码),您的路径中有多个版本。例如,A.exe需要G.dll。G.dll位于路径中的两个位置。从不同位置调用.exe时,它使用不同的链接代码

如果您有多个版本的A.exe,并且路径中的目录太多,也可能发生这种情况。如果您恰好位于A.exe的主目录中,它将使用该A.exe。当您在另一个目录中并键入A.exe时,您可能正在调用其他某个A.exe

我建议将两个二进制文件重命名为非常特定的名称:foo1.exe和bar1.exe。在函数中使用这些名称。如果您的函数找不到这些文件,则移动这些文件,直到它们位于正确的位置。不要复制

祝你好运