Я использовал MatlabConrol для подключения Java и MATLAB. Я хочу отправить путь к MATLAB для обработки его с помощью соответствующих функций и вернуть мне несколько похожих изображений и путей, чтобы показать их в графическом интерфейсе Java.Ошибка использования eval в matlabcontrol
Я всегда получаю ту же ошибку при прохождении контура изображения в MATLAB:
Error using eval
Undefined function 'getinput' for input arguments of type 'char'.
Вот моя функция MATLAB:
function matlab = getinput(input)
results = hgr(input);
И мой Java код:
imag = ImageIO.read(fileChoose.getSelectedFile());
ImagePath = fileChoose.getSelectedFile().getAbsolutePath();
public void SendingMatlabControl() throws MatlabConnectionException,
MatlabInvocationException {
// create proxy
MatlabProxy proxy;
// Create a proxy, which we will use to control MATLAB
MatlabProxyFactory factory = new MatlabProxyFactory();
proxy = factory.getProxy();
// Display 'hello world' like before, but this time using feval
try {
// call builtin function
proxy.eval("getinput('imagepath')");
// call user-defined function (must be on the path)
proxy.eval("addpath('E:\\vm')");
proxy.feval("matlab");
proxy.eval("rmpath('E:\\vm)");
} catch (MatlabInvocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Disconnect the proxy from MatLab
proxy.disconnect();
}
Функция «встроенная функция вызова», похоже, предполагает, что 'getinput' является встроенной функцией, но я не мог найти упоминания об этом на веб-сайте MathWorks. Вы уверены, что это встроенная функция? –