java - 从 java 运行 matlab 编译的代码

标签 java matlab matlab-deployment

我是一名 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 vs Runtime.exec() 。另外,您可以尝试 ProcessBuilder。

关于java - 从 java 运行 matlab 编译的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840619/

相关文章:

MATLAB 解析特定于操作系统的路径

matlab - 如何从 MATLAB applicationCompiler 命令中捕获错误

java - 当手机屏幕锁定时,Android 计时器会延迟

java - Java 不支持 SHA-512?

matlab - 两行上的 X 轴标签

matlab - 在 MATLAB 中的两个函数之间共享一个变量?

java - 在 Android 上使用客户端/服务器证书进行双向身份验证 SSL 套接字

java - 如何使用 HandlerThread 类将单独的循环器传递给线程

MATLAB:自动调整 GUI 组件/字体的大小

非矩阵数据类型的 C# 和 MATLAB 互操作性