1

我作为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);
        }
4

1 回答 1

0

我认为问题与您将参数传递给可执行文件的方式有关。如果您将可执行文件名称和参数放在数组中,它可能会有所帮助。这是相关的讨论,ProcessBuilder vs Runtime.exec()。此外,您可以尝试 ProcessBuilder。

于 2012-06-01T05:40:52.487 回答