Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java运行matlab编译代码_Java_Matlab_Matlab Deployment - Fatal编程技术网

从java运行matlab编译代码

从java运行matlab编译代码,java,matlab,matlab-deployment,Java,Matlab,Matlab Deployment,我是一名java开发人员。我正在从事一个项目,涉及汽车牌照提取。它包括三个步骤:首先将图像转换为灰度,然后使用Canny边缘检测算法检测图像中的边缘,第三步是将图像传递给matlab编译代码,从图像中提取车牌。前两步是成功的。在第三步中,当我将图像传递给matlab编译的.exe应用程序时,它给出了错误:运行时错误“5”:过程调用或参数无效 下面是我用来将图像传递给matlab编译应用程序的代码: Process p = null; try { // TO

我是一名java开发人员。我正在从事一个项目,涉及汽车牌照提取。它包括三个步骤:首先将图像转换为灰度,然后使用Canny边缘检测算法检测图像中的边缘,第三步是将图像传递给matlab编译代码,从图像中提取车牌。前两步是成功的。在第三步中,当我将图像传递给matlab编译的.exe应用程序时,它给出了错误:运行时错误“5”:过程调用或参数无效

下面是我用来将图像传递给matlab编译应用程序的代码:

Process p = null;
        try {
            // TODO add your handling code here:
             p = Runtime.getRuntime()
                      .exec("c:/ImageResources/enp   c:/ImageResources/edges.jpg");
        } catch (IOException ex) {
            Logger.getLogger(MatlabGUIForm.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.println("Debug ");
        try {
            p.waitFor();
        } catch (InterruptedException ex) {
            Logger.getLogger(MatlabGUIForm.class.getName()).log(Level.SEVERE, null, ex);
        }

我认为问题与将参数传递给可执行文件的方式有关。如果将可执行文件名和参数放入数组中,可能会有所帮助。以下是相关讨论。另外,您可以尝试ProcessBuilder。

可能是您没有安装适当的Matlab编译器运行时吗?同样,当您在Java中开发时,如果您使用MatlabBuilderforJava并创建一个类,不是会更容易吗?很抱歉,回复太晚了。我试图将可执行文件名和参数放入数组中,但这并没有解决我的问题。