2012-05-31 6 views
1

나는 자바 개발자로 일하고 있습니다. 나는 자동차 번호판 추출과 관련된 프로젝트를 진행하고 있습니다. 거기에 관련된 세 가지 단계가 있습니다 : 첫 번째 이미지를 회색조로 변환 한 다음 Canny Edge Detection 알고리즘을 사용하여 이미지의 가장자리를 감지하고, 세 번째 이미지를 이미지에서 번호판을 추출하는 MATLAB 컴파일 코드로 전달합니다. 처음 두 단계가 성공적입니다. 세 번째 단계에서 나는 matlab에 컴파일 된 .exe 응용 프로그램에 이미지를 전달할 때 오류가 발생합니다. 런타임 오류 '5': 프로 시저 호출이나 인수가 잘못되었습니다.자바에서 컴파일 된 코드를 실행하십시오

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); 
     } 
+0

적절한 Matlab 컴파일러 런타임을 설치하지 않았습니까? 또한 Java로 개발할 때 - Matlab Builder for Java를 사용하고 클래스를 작성하는 것이 더 쉽지 않을까요? – bdecaf

답변

0

나는 문제가 당신이 실행에 인수를 전달하는 방식에 관한 생각 : 아래

내가 컴파일 된 응용 프로그램을 MATLAB에 이미지를 전달하는 데 사용하는 코드입니다. 실행 파일 이름과 인수를 array에 넣으면 도움이 될 것입니다. 다음은 관련 토론 인 ProcessBuilder vs Runtime.exec()입니다. 또한 ProcessBuilder를 사용해 볼 수도 있습니다.

+0

늦게 답장을 드려 죄송합니다. 실행 가능한 이름과 인수를 배열에 넣으려고했으나 문제가 해결되지 않았습니다. –

관련 문제